ragazzi nietne da fare mi va sempre nel loop senza fine senza fermarsi per aspettare l'input dell'utente...
ho questo codice:
codice:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int c;
string s;
while (1)
{
cout << "Insert 1 o 2: " << endl;
cin >> c;
if (c == 1 || c == 2) {
cout << "scelta esatta" << endl << "Inserisci la stringa: " << endl;
cin.ignore();
getline(cin,s);
cout << "Hai inserito: "<< s<< endl;
}
else {
cout << "scelta errata, riprova" << endl;
cin.clear();
while( cin.peek() != '\n' ) cin.ignore();
}
cout << endl << endl;
}
return 0;
}
inserisco la prfima volta o 1 o 2... a quel punto mi viene richeista di inserire una frase l'inserisco e viene stampata..
rinizia il ciclo da capo e mi esce: "inserisci 1 o 2"
ora provo ad inserire "c" e mi va nel loop infinito =/
se provo a scrivere "c" alla prima esecuzione si ferma correttametne.. in pratica quel metodo non sembra funzionare dopo che si sia fatta una lettura con getline (oppure il metodo ignore, non saprei dire quali dei 2) =/