gpt4 book ai didi

c++ - 使程序从头开始的循环

转载 作者:行者123 更新时间:2023-11-30 02:15:04 27 4
gpt4 key购买 nike

如果程序达到开关中的默认值,我必须让程序从头开始

我不知道该尝试什么

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";
}

如果碰巧达到开关中的默认值,我需要程序从头开始。

最佳答案

正如 lubgr 的评论所述,您可以将整个 block 包装在 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 }

是的,您可以使用 gotodefault switch 中使您的生活“更轻松”,但如链接中所述,强烈建议不要这样做,因为它会导致 spaghetti code .所以是的,使用while,或者也可以do while

关于c++ - 使程序从头开始的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56699953/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com