2016-03-25 10 views
1

Ich bin ein Anfänger C++ - Programmierer, und ich habe einige Probleme mit diesem Programm. Ich möchte Punkte eingeben, kartesischen Flugzeugstil, aber dieser Code verhält sich so, als ob er nicht die cin jederzeit aber die erste sieht. A ist eine Klasse, die die Punkte enthält. Wenn ich das Programm ausführe, kann ich ein Paar eingeben, aber wenn es in die While-Schleife kommt, heißt es immer Enter pair (0,0 to finish) Enter pair (0,0 to finish)....C++ Do-While-Schleife akzeptiert keine Eingabe mehrmals

do { 
    cout << "Enter pair (0,0 to finish) "; 
    cin >> x >> y; 
    A.add(x, y); 
} while (!(x==0 && y==0)); 

Irgendwelche Ideen?

Antwort

1

Sie sollten die zwei Zahlen mit einem Leerzeichen zwischen ihnen eingeben. Die std::in kann nicht mit anderen Arten von Separatoren umgehen (neben Leerzeichen).

+0

Es ist jedoch möglich, [Trennzeichen] zu ändern (http://stackoverflow.com/a/7304184/1925996). – piedar

Verwandte Themen