【发布时间】:2021-12-14 17:37:39
【问题描述】:
我正在尝试创建一个 c++ 程序以在用户输入 0 和 9 之间的整数值时返回一个数字(拼写出来),任何人都可以找出我出错的地方吗?提前致谢!
#include <iostream>
using namespace std;
int main(){
int numinput;
string numberWritten;
cout << "Enter a whole number between 0 and 9" << endl;
cin >> numinput;
switch (numinput) {
case 0:
numberWritten = "Zero";
break;
case 1:
numberWritten = "One";
break;
case 2:
numberWritten = "Two";
break;
case 3:
numberWritten = "Three";
break;
case 4:
numberWritten = "Four";
break;
case 5:
numberWritten = "Five";
break;
case 6:
numberWritten = "Six";
break;
case 7:
numberWritten = "Seven";
break;
case 8:
numberWritten = "Eight";
break;
case 9:
numberWritten = "Nine";
break;
default: "Not a number I know";
return numberWritten;
}
}
【问题讨论】:
-
当你说“返回一个数字”时,把这个数字返回给什么?你想输出这个数字吗?
-
return来自main()的内容必须是int,并且它的最低位将成为进程退出状态,(例如)shell 将以$?提供.您很可能想要打印结果,如std::cout << numberWritten << std::endl;。此外,您的default:案例毫无意义;它没有效果。此外,using namespace std;是一种反模式和坏习惯。最后但同样重要的是,您的return语句(即使它是有意义的)嵌套不正确;您需要替换它的std::cout输出必须在switch块之外。 -
来自
main的可移植返回值是0、EXIT_SUCCESS和EXIT_FAILURE。返回0等价于返回EXIT_SUCCESS。返回任何其他值会让您受制于编译器。返回std::string对象根本不起作用。
标签: c++ switch-statement cin