codice:
#include <stdio.h>
#include <stdlib.h>
int InsertInteger(char *str, int Max, int Var)
int main()
{
char *str;
int Integer;
printf("Inserisci un valore intero:\n");
Integer=InsertInteger(str, 100, Integer);
printf("Il valore inserito e': %d", Integer);
}
/*=============================
* Inserisco in input un intero
*===========================*/
int InsertInteger(char *str, int Max, int Var)
{
int i;
fgets(str, Max, stdin);
// Qui dovrei controllare se il valore è un intero a tutti gli effetti oppure no.
// Se lo è lo converto in intero e restituisco
// altrimenti devo chiedere Errato! INserire un valore intero!
Var = atoi(str);
for ( i=0; str[i] < 0 || str[i] > 31; i++);
str[i]=0;
fflush(stdin);
return Var;
}
Ora funziona perfettamente, però se inserisco tipo "ciao", restituisce 0.. invece io vorrei fare in modo che esca a video: "Errore!Inserire correttamente il valore intero".