我必须使用 scanf_s() 函数来存储用户输入的计算字母('A','S','M','D')。使用 ctype.h 头文件中的 toupper() 函数确保输入有效数据。
此代码可能如下所示:
scanf_s(" %c", &option, 1);
option=toupper(option);
接下来,创建一个
while(
) 循环来检查用户是否输入了计算字母 ('A', 'S', 'M', 'D')
,仅接受这些字母作为有效条目。请记住,当用户继续使用该程序时,您还需要在正确条目循环内使用此 while()
循环来检查数据有效性。
我正在努力弄清楚如何从整数切换到使用字符,以便我可以使用 ASMD 作为条目而不是 1234
不需要复杂的嵌套
while()
循环。
只需将
switch()
与“A”、“S”等一起使用,不用担心小写输入:
scanf( " %c", &option );
switch( option ) {
case 'A':
case 'a':
// do "addition" stuff
break;
case 'S':
case 's':
// do "subtraction" stuff
break;
// and so on...
default:
// "Bad selection, try again"
}
很容易添加
Q/q
来终止循环并“退出”程序...