Aleander
2005-03-06 09:05:55 UTC
Prima di tutto, buona domenica a tutti...
Ho riscontrato questo strano problema utilizzando di seguito cin, e poi
cin.getline;
in pratica se immetto una variabile tramite cin, e poi dopo c'è cin.getline,
oppure una serie di cin getline, il primo di questi mi viene saltato...
Ecco un esempio:
#include <iostream>
typedef char Stringa20[20];
using namespace std;
int main(){
int volte;
Stringa20 nome;
cout << "Quante volte vuoi ripetere il ciclo? ";
cin >> volte; //questo è il cin che sembra provochi il casino...
cout << endl;
cout << "Inserisci il tuo nome: ";
cin.getline(nome, 20);
/* l'attesa di input qui sopra viene saltata, e ho notato che questo avviene
per la presenza del cin qlc linea più sopra... infatti levandolo è tutto
ok.
Mi piacerebbe capire perchè accade, e quale può essere il modo di evitare
questo problema ( che nn sia quello di usare una istruzione cin.getline a
vuoto prima *_* !! )...
*/
system("PAUSE");
return 0;
}
Grazie in anticipo per l'aiuto,
Aleander
Ho riscontrato questo strano problema utilizzando di seguito cin, e poi
cin.getline;
in pratica se immetto una variabile tramite cin, e poi dopo c'è cin.getline,
oppure una serie di cin getline, il primo di questi mi viene saltato...
Ecco un esempio:
#include <iostream>
typedef char Stringa20[20];
using namespace std;
int main(){
int volte;
Stringa20 nome;
cout << "Quante volte vuoi ripetere il ciclo? ";
cin >> volte; //questo è il cin che sembra provochi il casino...
cout << endl;
cout << "Inserisci il tuo nome: ";
cin.getline(nome, 20);
/* l'attesa di input qui sopra viene saltata, e ho notato che questo avviene
per la presenza del cin qlc linea più sopra... infatti levandolo è tutto
ok.
Mi piacerebbe capire perchè accade, e quale può essere il modo di evitare
questo problema ( che nn sia quello di usare una istruzione cin.getline a
vuoto prima *_* !! )...
*/
system("PAUSE");
return 0;
}
Grazie in anticipo per l'aiuto,
Aleander