C++ 使程序从头开始的循环
如果程序转到开关中的默认值,我必须让它从头开始 我不知道该怎么办C++ 使程序从头开始的循环,c++,C++,如果程序转到开关中的默认值,我必须让它从头开始 我不知道该怎么办 switch(eingabe) { case 'g': case 'G': cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl; cin >> gzahl1; cout << "geben sie bitte die zweite z
switch(eingabe)
{
case 'g':
case 'G':
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
break;
case 'f':
case 'F':
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
break;
default: cout << "ungueltige eingabe";
}
开关(eingabe)
{
案例“g”:
案例“G”:
cout-gzahl1;
cout-gzahl2;
请尝试以下方法:
bool continueCase = true;
while (continueCase)
{
switch (eingabe)
{
case 'g':
case 'G':
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
continueCase = false;
break;
case 'f':
case 'F':
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
continueCase = false;
break;
default: cout << "ungueltige eingabe";
continueCase = true;
}
}
bool continueCase=true;
while(continueCase)
{
开关(eingabe)
{
案例“g”:
案例“G”:
cout-gzahl1;
cout-gzahl2;
cout正如lubgr的评论所述,您可以在while
循环中包装整个块。因此,对于您的情况,这可能会起作用:
//start of program {
bool correct_input = false;
while(!correct_input)
{
//code before the switch
switch(eingabe)
{
case 'g':
case 'G':
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
//set correct_input to true
correct_input = true;
break;
case 'f':
case 'F':
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
//set correct_input to true
correct_input = true;
break;
default:
cout << "ungueltige eingabe";
//next line is optional
correct_input = false;
break;
}
}
//continue if correct input is inserted
//end of program }
//程序开始{
bool correct_input=false;
而(!正确的输入)
{
//开关前的代码
开关(eingabe)
{
案例“g”:
案例“G”:
cout-gzahl1;
cout-gzahl2;
cout您可以像这样使用goto语句
loop:
switch(eingabe)
{
case 'g':
case 'G':
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
break;
case 'f':
case 'F':
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
break;
default:
cout << "ungueltige eingabe";
goto loop;
}
for( ;;)
{
switch(eingabe)
{
case 'g':
case 'G':
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
break;
case 'f':
case 'F':
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
break;
default:
cout << "ungueltige eingabe";
continue;
}
break;
}
循环:
开关(eingabe)
{
案例“g”:
案例“G”:
cout-gzahl1;
cout-gzahl2;
cout我正在使用do-while循环(请参阅)不断请求用户输入。当用户输入x时,程序终止。当用户输入g、g、f或f时,这些字母的切换格将被执行。当用户输入其他内容时,将执行默认格。重复请求的重要行如下
do {
及
它们组成了do-while循环
#include <iostream>
using namespace std;
int main() {
char eingabe;
cout << "Bitte geben sie g, G, f oder F ein!\n";
do {
cin >> eingabe;
switch (eingabe){
case 'g':
case 'G':
int gzahl1;
int gzahl2;
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
cout << "Bitte g, f, G oder F eingeben!\nZum Beenden des Programms x eingeben.\n";
break;
case 'f':
case 'F':
float fzahl1;
float fzahl2;
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
cout << "Bitte g, f, G oder F eingeben!\nZum Beenden des Programms x eingeben.\n";
break;
default:
cout << "ungueltige eingabe\nBitte g, f, G oder F eingeben! Zum Beenden des Programms x eingeben.\n";
break;
}
} while (eingabe != 'x');
return 0;
}
#包括
使用名称空间std;
int main(){
查·艾因加贝;
cout>eingabe;
开关(eingabe){
案例“g”:
案例“G”:
int-gzahl1;
int-gzahl2;
cout-gzahl1;
cout-gzahl2;
coutApproach#1
#包括
使用名称空间std;
int main(){
查·艾因加贝;
bool isExecuted=false;
cout>eingabe;
开关(eingabe)
{
案例“g”:
案例“G”:
int-gzahl1;
int-gzahl2;
cout-gzahl1;
cout-gzahl2;
当(someBoolVariable){…}
switch/case
分支内适当循环并设置someBoolVariable
。开始是指switch
语句开始吗?是的,很抱歉没有澄清当用户给出g时,它将是无限循环。但用户只希望执行一次
#include <iostream>
using namespace std;
int main() {
char eingabe;
cout << "Bitte geben sie g, G, f oder F ein!\n";
do {
cin >> eingabe;
switch (eingabe){
case 'g':
case 'G':
int gzahl1;
int gzahl2;
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
cout << "Bitte g, f, G oder F eingeben!\nZum Beenden des Programms x eingeben.\n";
break;
case 'f':
case 'F':
float fzahl1;
float fzahl2;
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
cout << "Bitte g, f, G oder F eingeben!\nZum Beenden des Programms x eingeben.\n";
break;
default:
cout << "ungueltige eingabe\nBitte g, f, G oder F eingeben! Zum Beenden des Programms x eingeben.\n";
break;
}
} while (eingabe != 'x');
return 0;
}
#include <iostream>
using namespace std;
int main() {
char eingabe;
bool isExecuted = false;
cout << "Bitte geben sie g, G, f oder F ein!\n";
do {
cin >> eingabe;
switch (eingabe)
{
case 'g':
case 'G':
int gzahl1;
int gzahl2;
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
cout << "Bitte g, f, G oder F eingeben!\nZum Beenden des Programms x eingeben.\n";
isExecuted = true;
break;
case 'f':
case 'F':
float fzahl1;
float fzahl2;
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
cout << "Bitte g, f, G oder F eingeben!\nZum Beenden des Programms x eingeben.\n";
isExecuted = true;
break;
default:
cout << "ungueltige eingabe\nBitte g, f, G oder F eingeben! Zum Beenden des Programms x eingeben.\n";
isExecuted = false;
break;
}
} while ( false == isExecuted);
return 0;
}
#include <iostream>
using namespace std;
int main()
{
char eingabe;
bool isExecuted = false;
do
{
cin >> eingabe;
isExecuted = processEvent(eingabe);
}while(isExecuted == false);
return 0;
}
bool processEvent(char eingabe)
{
bool execStatus = false;
cout << "Bitte geben sie g, G, f oder F ein!\n";
switch (eingabe)
{
case 'g':
case 'G':
int gzahl1;
int gzahl2;
cout << "Geben sie bitte die erste zahl ein BITTE GANZZAHLEN" << endl;
cin >> gzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> gzahl2;
cout << "das ergebnis lautet: " << gzahl1 / gzahl2 << endl;
cout << "Bitte g, f, G oder F eingeben!\nZum Beenden des Programms x eingeben.\n";
execStatus = true;
break;
case 'f':
case 'F':
float fzahl1;
float fzahl2;
cout << "Geben sie bitte die erste zahl ein" << endl;
cin >> fzahl1;
cout << "geben sie bitte die zweite zahl ein" << endl;
cin >> fzahl2;
cout << "das ergebnis lautet: " << fzahl1 / fzahl2 << endl;
cout << "Bitte g, f, G oder F eingeben!\nZum Beenden des Programms x eingeben.\n";
execStatus = true;
break;
default:
cout << "ungueltige eingabe\nBitte g, f, G oder F eingeben! Zum Beenden des Programms x eingeben.\n";
break;
}
return execStatus;
}