Wolt ha scritto:
olivitosal ha scritto:
Salve, sono un ragazzo e sto cercando di imparare il linguaggio c, ma sono ancora alle prime armi.
Mentre mi esercito scrivendo i miei "imbarazzanti" programmini mi capita di imbattermi in alcuni problemi, ad esempio scrivendo un programma che riceve in input alcuni numeri interi se inserisco un carattere incombo in errori non fatali cioè il programma risolve il problema a modo suo e con dati ricavati dal carattere! A questo punto la mia domanda è questa:
Come faccio ad evitare questo errore? Magari semplicemente visualizzando in output "per favore inserire un numero valido"
Grazie in anticipo.
Se sai sicuramente che quel dato che deve essere inserito da un'utente è un numero dichiari la variabile con "int",poi non c'è numero valido e uno non valido,potresti spiegarmi meglio il problema?
Questo è ovvio. Però nel momento in cui vado a inserire l'intero da tastiera posso inserire (per sbaglio o altro) anche un carattere! a questo punto come ho detto c'è un errore non fatale!
Ad esempio in un semplice programma che prende in input due interi e visualizza la sua somma:
#include<stdio.h>
#include<stdlib.h>
int main(){
int x ; /*primo numero intero*/
int y ; /*secondo numero intero*/
int z ; /*somma dei precedenti numeri interi*/
printf("Inserire un numero intero:\n") ;
scanf("%d",&x) ;
printf("\nInserire un numero intero:\n") ;
scanf("%d",&y) ;
z = x + y ;
printf("La somma e' %d\n",z) ;
system("pause") ;
return 0 ;
}
In questo programma una volta eseguito arriva il momento in cui devo inserire i due interi, a questo punto per "dispetto" inserisco un carattere e succede che il programma continua comunque visualizzando comunque una somma(errore non fatale).
Quindi la mia domanda è questa:
Posso evitare che ciò accade con qualche istruzione? Ad esempio se inserisco il carattere vorrei che uscisse una messaggio di errore o qualche altro avviso!
Spero di essermi spiegato! Grazie