C++, cin, bis keine mehr input auf line mit einer while-Schleife
Ich habe ein Problem mit meinem C++ Programm. Ich formatieren und Wörter anzeigen, die ein Benutzer in der Konsole. Wenn ein Benutzer eingibt : Hallo, ich bin bob.Der Benutzer drücken Sie die EINGABETASTE nach der Eingabe bob in die Konsole ein. Ich werde neu formatieren diese und drucken Sie es in das neue format. Das problem ist, dass ich nicht wollen, um eine Meldung anzuzeigen, die für die Eingabe, bis alle Wörter auf, die Kommandozeile eingegeben. Die aktuelle Schleife ich entweder zeigt die Aufforderung für die Eingabe nach jedem Wort, oder wird nicht angezeigt, es überhaupt nicht. Es hängt davon ab, ob oder nicht, habe ich auch die Eingabeaufforderung oder nicht. Ich brauche, um eine while-Schleife verarbeiten, jedes Wort und jede Ausgabe, die es ab und Stoppt, nachdem das Letzte Wort. Was ist ein Boolean-param für, die? Ich bin auch meinen code zum Verweis.
int _tmain(int argc, _TCHAR* argv[])
{
int b;
string input;
string output ;
int check = 1;
while (check){
cout << "Enter in one or more words to be output in ROT13: " << endl;
cin >> input;
while(my issue is here){
const char *word = input.c_str();
for (int i = 0; i < input.length(); i++){
b = (int)word[i];
if (b > 96){
if (b >= 110){
b = b - 13;
}
else {
b = b + 13;
}
output += ((char)b);
}
else
{
if (b >= 78){
b = b - 13;
}
else {
b = b + 13;
}
output += ((char)b);
}
}
cout << output << endl;
output = "";
cin >> input;
}
check = 0;
}
return 0;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ersetzen die gesamte while-Schleife mit der Zeile:
Tun, und dann die Neuformatierung nach dieser Zeile.
Den cin-Funktion gibt false zurück, wenn es keine weiteren Zeilen für die Eingabe. Sie können Folgendes tun, um zu Lesen, bis das Ende der Eingabe, oder eof, wenn Sie umleiten cin aus einer Datei zu Lesen.