Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;开关不适用于2个以上的情况 我正在学习C++,所以对新手问题很抱歉。 我在做S.Prata书上的练习。我现在在6.4上。 下面是我编写的代码: #include <iostream> using namespace std; void showmenu(); void request(); const int strsize = 20; const int templeSize = 5; struct temple { char name[strsize]; char job[strsize]; char psd[strsize]; int preference; }; int main(){ temple members[templeSize] = { {"Alan", "spy", "Kret", 0}, {"Bruce", "engi", "Mech", 2}, {"Zac", "engi", "Robot", 0}, {"Kevin", "teacher", "Kid", 1}, {"Maverick", "spy", "Shadow", 2} }; char choice; showmenu(); request(); cin >> choice; while (choice != 'q'){ switch(choice){ case 'a' : for(int i; i< templeSize; i++) cout << members[i].name << endl; break; case 'b' : for(int i; i< templeSize; i++) cout << members[i].job << endl; break; case 'c' : for(int i; i< templeSize; i++) cout << members[i].psd << endl; break; case 'd' : for(int i; i < templeSize;i++){ switch(members[i].preference){ case 0: cout << members[i].name; break; case 1: cout << members[i].job; break; case 2: cout << members[i].psd; break; } } default : request(); } showmenu(); cin >> choice; } cout << "\nBye!\n"; return 0; } void request(){ cout << "Choose one option:\n"; } void showmenu(){ cout << "a. names b. jobs\n" "c. psds d. preferences\n" "q. Quit\n"; } #包括 使用名称空间std; void showmenu(); 无效请求(); 常数int strsize=20; 常数int templeSize=5; 结构神庙{ 字符名[strsize]; 字符作业[strsize]; 字符psd[strsize]; 智力偏好; }; int main(){ 庙宇成员[庙宇化]={ {“艾伦”,“间谍”,“克雷特”,0}, {“布鲁斯”,“英语”,“机械”,2}, {“Zac”、“engi”、“Robot”,0}, {“凯文”,“老师”,“孩子”,1}, {“特立独行”、“间谍”、“影子”,2} }; 字符选择; showmenu(); 请求(); cin>>选择; while(选项!=“q”){ 开关(选择){ 案例“a”:用于(int i;i >代码>在切换之后丢失了中断>代码>这里是C++,在结构中使用STD::string,并且绝对不是固定数组——所以我不相信代码…这意味着你有不明确的行为,任何事情都可能发生。包括一些情况下工作,有些情况不起作用。+ 1威尔仍然调用显示menu()。_C++_Input_Switch Statement - Fatal编程技术网 >选择; while(选项!=“q”){ 开关(选择){ 案例“a”:用于(int i;i >代码>在切换之后丢失了中断>代码>这里是C++,在结构中使用STD::string,并且绝对不是固定数组——所以我不相信代码…这意味着你有不明确的行为,任何事情都可能发生。包括一些情况下工作,有些情况不起作用。+ 1威尔仍然调用显示menu()。,c++,input,switch-statement,C++,Input,Switch Statement" /> >选择; while(选项!=“q”){ 开关(选择){ 案例“a”:用于(int i;i >代码>在切换之后丢失了中断>代码>这里是C++,在结构中使用STD::string,并且绝对不是固定数组——所以我不相信代码…这意味着你有不明确的行为,任何事情都可能发生。包括一些情况下工作,有些情况不起作用。+ 1威尔仍然调用显示menu()。,c++,input,switch-statement,C++,Input,Switch Statement" />

C++;开关不适用于2个以上的情况 我正在学习C++,所以对新手问题很抱歉。 我在做S.Prata书上的练习。我现在在6.4上。 下面是我编写的代码: #include <iostream> using namespace std; void showmenu(); void request(); const int strsize = 20; const int templeSize = 5; struct temple { char name[strsize]; char job[strsize]; char psd[strsize]; int preference; }; int main(){ temple members[templeSize] = { {"Alan", "spy", "Kret", 0}, {"Bruce", "engi", "Mech", 2}, {"Zac", "engi", "Robot", 0}, {"Kevin", "teacher", "Kid", 1}, {"Maverick", "spy", "Shadow", 2} }; char choice; showmenu(); request(); cin >> choice; while (choice != 'q'){ switch(choice){ case 'a' : for(int i; i< templeSize; i++) cout << members[i].name << endl; break; case 'b' : for(int i; i< templeSize; i++) cout << members[i].job << endl; break; case 'c' : for(int i; i< templeSize; i++) cout << members[i].psd << endl; break; case 'd' : for(int i; i < templeSize;i++){ switch(members[i].preference){ case 0: cout << members[i].name; break; case 1: cout << members[i].job; break; case 2: cout << members[i].psd; break; } } default : request(); } showmenu(); cin >> choice; } cout << "\nBye!\n"; return 0; } void request(){ cout << "Choose one option:\n"; } void showmenu(){ cout << "a. names b. jobs\n" "c. psds d. preferences\n" "q. Quit\n"; } #包括 使用名称空间std; void showmenu(); 无效请求(); 常数int strsize=20; 常数int templeSize=5; 结构神庙{ 字符名[strsize]; 字符作业[strsize]; 字符psd[strsize]; 智力偏好; }; int main(){ 庙宇成员[庙宇化]={ {“艾伦”,“间谍”,“克雷特”,0}, {“布鲁斯”,“英语”,“机械”,2}, {“Zac”、“engi”、“Robot”,0}, {“凯文”,“老师”,“孩子”,1}, {“特立独行”、“间谍”、“影子”,2} }; 字符选择; showmenu(); 请求(); cin>>选择; while(选项!=“q”){ 开关(选择){ 案例“a”:用于(int i;i >代码>在切换之后丢失了中断>代码>这里是C++,在结构中使用STD::string,并且绝对不是固定数组——所以我不相信代码…这意味着你有不明确的行为,任何事情都可能发生。包括一些情况下工作,有些情况不起作用。+ 1威尔仍然调用显示menu()。

C++;开关不适用于2个以上的情况 我正在学习C++,所以对新手问题很抱歉。 我在做S.Prata书上的练习。我现在在6.4上。 下面是我编写的代码: #include <iostream> using namespace std; void showmenu(); void request(); const int strsize = 20; const int templeSize = 5; struct temple { char name[strsize]; char job[strsize]; char psd[strsize]; int preference; }; int main(){ temple members[templeSize] = { {"Alan", "spy", "Kret", 0}, {"Bruce", "engi", "Mech", 2}, {"Zac", "engi", "Robot", 0}, {"Kevin", "teacher", "Kid", 1}, {"Maverick", "spy", "Shadow", 2} }; char choice; showmenu(); request(); cin >> choice; while (choice != 'q'){ switch(choice){ case 'a' : for(int i; i< templeSize; i++) cout << members[i].name << endl; break; case 'b' : for(int i; i< templeSize; i++) cout << members[i].job << endl; break; case 'c' : for(int i; i< templeSize; i++) cout << members[i].psd << endl; break; case 'd' : for(int i; i < templeSize;i++){ switch(members[i].preference){ case 0: cout << members[i].name; break; case 1: cout << members[i].job; break; case 2: cout << members[i].psd; break; } } default : request(); } showmenu(); cin >> choice; } cout << "\nBye!\n"; return 0; } void request(){ cout << "Choose one option:\n"; } void showmenu(){ cout << "a. names b. jobs\n" "c. psds d. preferences\n" "q. Quit\n"; } #包括 使用名称空间std; void showmenu(); 无效请求(); 常数int strsize=20; 常数int templeSize=5; 结构神庙{ 字符名[strsize]; 字符作业[strsize]; 字符psd[strsize]; 智力偏好; }; int main(){ 庙宇成员[庙宇化]={ {“艾伦”,“间谍”,“克雷特”,0}, {“布鲁斯”,“英语”,“机械”,2}, {“Zac”、“engi”、“Robot”,0}, {“凯文”,“老师”,“孩子”,1}, {“特立独行”、“间谍”、“影子”,2} }; 字符选择; showmenu(); 请求(); cin>>选择; while(选项!=“q”){ 开关(选择){ 案例“a”:用于(int i;i >代码>在切换之后丢失了中断>代码>这里是C++,在结构中使用STD::string,并且绝对不是固定数组——所以我不相信代码…这意味着你有不明确的行为,任何事情都可能发生。包括一些情况下工作,有些情况不起作用。+ 1威尔仍然调用显示menu()。,c++,input,switch-statement,C++,Input,Switch Statement,i在循环的任何case语句中都没有初始化您正在switch语句之外调用showmenu()。因此,无论输入是什么,您都将离开开关并调用函数 switch(choice){ ... } showmenu(); ... 您的代码< > >代码>在切换之后丢失了中断>代码>这里是C++,在结构中使用STD::string,并且绝对不是固定数组——所以我不相信代码…这意味着你有不明确的行为,任何事情都可能发生。包括一些情况下工作,有些情况不起作用。+ 1威尔仍然调用显示menu()。

i
在循环的任何case语句中都没有初始化

您正在switch语句之外调用showmenu()。因此,无论输入是什么,您都将离开开关并调用函数

switch(choice){
    ...
}
showmenu();
...

您的代码< > >代码>在切换之后丢失了<代码>中断>代码>这里是C++,在结构中使用STD::string,并且绝对不是固定数组——所以我不相信代码…这意味着你有不明确的行为,任何事情都可能发生。包括一些情况下工作,有些情况不起作用。+ 1威尔仍然调用<代码>显示menu()。