[英]Need help creating a function and error with switch statement
I'm using a switch statement to process through some code, which I will create a function in my main to call. 我正在使用switch语句来处理一些代码,这些代码将在main中创建一个要调用的函数。 I'm having trouble with the switch quantity with my switch statement.
我在switch语句中遇到开关数量问题。 Also, how would I create a function for these 10 cases?
另外,如何为这10种情况创建函数? Very confused, any help greatly appreciated!
非常困惑,任何帮助不胜感激! Thanks!
谢谢! Here is my current code:
这是我当前的代码:
#include <iostream>
using namespace std;
void constitution(); // the function that will call my amendments in my main function
// how will i create this will 10 possible amendments to choose from?
// There are 4 pirates and they will vote either yes or no,
int main()
{
cout << "Below is a list of the 10 amendments that the two pirates will vote on according to the ships constitution" << endl;
string amendments = 0;
cin >> amendments; // selecting the amendment
switch (amendments)
{
// for outputting the amendment(s) voted on, which will
// be passed on to a function in main to call
case 1: cout << "What does the fox say? Whatever WE tell it to"; //case 1-10 are the 10 amendments to be voted on
break;
case 2: cout << "From now on the annual Cinco de Mayo party will be held on March 8th ";
break;
case 3: cout << "Beginning this year, sharks shall have a week dedicated to us";
break;
case 4: cout << "Pirates are now allowed to talk about fight club";
break;
case 5: cout << "When in Rome, the Romans will do as WE do.";
break;
case 6: cout << "Our mothers will immediately get tattoos that say SON";
break;
case 7: cout << "From now on the President will take our birthdays off.";
break;
case 8: cout << "If we say something costs an arm and a leg, it does";
break;
case 9: cout << "Freemasons are ordered to learn OUR secret handshake.";
break;
case 10: cout << "If a tree falls in the forest and no one is around, it will make a sound only with our permission ";
break;
default: cout << "This won't be used since a amendment will always be voted on, thus never be shown or checked I believe.. (Please correct me) ";
break;
}
return 0;
}
The only thing you need to change is making amendments an integer, as switch expects an int. 您唯一需要更改的就是将修正设为整数,因为switch期望为int。
int main()
{
cout << "Below is a list of the 10 amendments that the two pirates will vote on according to the ships constitution" << endl;
int amendments = 0;
cin >> amendments; // selecting the amendment
switch (amendments)
{
...
}
If you want to use amendments as a String, I am afraid you are not going to be able to check it via switch. 如果您想使用修正作为字符串,恐怕您将无法通过switch进行检查。 Instead, you should use if/else if statements:
相反,您应该使用if / else if语句:
if(amendments == '1') {
...
} else if (amendments == '2') {
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.