ugo86
03-03-2007, 00:08
Ciao ragazzi, innanzitutto grazie mille per il vostro aiuto continuo! :D
In poche parole ho queste due semplicissime funzioni ma non riesco ad utilizzarle!
Il mio programma riceve un intero e lo controlla.
Deve essere compreso tra 1 e 3... quindi voglio distinguere se è un numero, se è una lettera... o se non è nè l'uno e nè l'altro (ad esempio un punto).
Il mio programma è il seguente:
#include <stdio.h>
#include <ctype.h>
main(){
int a, control=0;
while(control==0){
printf("Inserisci il numero ");
scanf("%d", &a); //preleva l'intero
if (isdigit(a)!=0){ //se è un numero
if( a>=1 && a<=3 ){
printf("scelta corretta\n\n");
control = 1;
break;
}
else
printf("Numero non corretto\n\n");
} //fine if isdigit
if (isalpha(a)!=0)
printf("e' una lettera\n\n");
if(isalnum(a)==0)
printf("Non e' ne' una lettera e nemmeno un numero!!!\n\n");
} //fine while
printf("Fine del programma\n\n");
system("pause");
} //fine main
C'è qualcosa che non va... non funziona! Ma non sarà che ste funzioni isdigit, isalpha e isalnum ACCETTANO SOLO IL CODICE ASCII?? Come faccio a usarle se ho una variabile di tipo intera???
In poche parole ho queste due semplicissime funzioni ma non riesco ad utilizzarle!
Il mio programma riceve un intero e lo controlla.
Deve essere compreso tra 1 e 3... quindi voglio distinguere se è un numero, se è una lettera... o se non è nè l'uno e nè l'altro (ad esempio un punto).
Il mio programma è il seguente:
#include <stdio.h>
#include <ctype.h>
main(){
int a, control=0;
while(control==0){
printf("Inserisci il numero ");
scanf("%d", &a); //preleva l'intero
if (isdigit(a)!=0){ //se è un numero
if( a>=1 && a<=3 ){
printf("scelta corretta\n\n");
control = 1;
break;
}
else
printf("Numero non corretto\n\n");
} //fine if isdigit
if (isalpha(a)!=0)
printf("e' una lettera\n\n");
if(isalnum(a)==0)
printf("Non e' ne' una lettera e nemmeno un numero!!!\n\n");
} //fine while
printf("Fine del programma\n\n");
system("pause");
} //fine main
C'è qualcosa che non va... non funziona! Ma non sarà che ste funzioni isdigit, isalpha e isalnum ACCETTANO SOLO IL CODICE ASCII?? Come faccio a usarle se ho una variabile di tipo intera???