PDA

Visualizza la versione completa : Verifica Tipo C++


damar3
06-12-2003, 13:35
Come faccio a controllare in C++ che il valore che l'utente mi ha dato da tastiera sia realmente un valore numerico e non un char?


cout<<"Inserisci il valore"<<endl;
cin>>y;

dove la variabile y è stata dichiarata come un float.

Un grazie anticipato per le risposte.

Marco.

andypower
06-12-2003, 20:39
Se ti serve fare la verifica solo su un singolo carattere, quindi un char queste righe di codice che ho abbozzato vanno bene, con un po' di conoscenza di programmazione lo puoi riusare in un sottoprogramma o libreria e richiamarlo più volte:

#include <iostream.h>

void main () {
int i;
bool flag = false;
float a;
float b [10]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
cout << "Immetti un carattere o un numero: ";
cin >> a;
for (i=0; i<10; i++) {
if ((a == b[i]) && (flag == false)) {
flag = true;
cout << "E' un numero";
}
} if (flag == false) {
cout << "E' un carattere";
}
}

andypower
07-12-2003, 15:48
Ooopppsss! Mi son accorto di un piccolo difettuccio del programma.. ecco la versione 1.0 :-)=

#include <iostream.h>

void main () {
int i=0;
bool flag = false;
float a;
float b [10]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
cout << "Immetti un carattere o un numero: ";
cin >> a;
while ((i<10) && (flag == false)) {
if (a == b[i]) {
flag = true;
cout << "E' un numero";
}
i++;
} if (flag == false) {
cout << "E' un carattere";
}
}

damar3
07-12-2003, 18:25
Grazie per la risposta... Io credevo in realtà che esistesse una qualche funzione di libreria del tipo isNumeric() che mi restituisse true o false a seconda se gli avessi passato o meno un numero.

THZ!

Loading