Prova 'n po' così, a me va.
codice:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int c;
string s;
while (1)
{
cout << "Insert 1 o 2: " << endl;
if(!(cin >> c)) {
cout << "scelta errata, riprova" << endl;
cin.clear();
while( cin.peek() != '\n' ) cin.ignore();
}
else if (c == 1 || c == 2) {
while( cin.peek() != '\n' ) cin.ignore();
cout << "scelta esatta" << endl << "Inserisci la stringa: " << endl;
getline(cin,s);
while( cin.peek() != '\n' ) cin.ignore();
cout << "Hai inserito: "<< s<< endl;
}
cout << endl << endl;
}
return 0;
}