如果我想输入星期一到星期六,每个选择都有不同的答案,case后面该怎么把字符串星期一转化成值,求大佬帮忙
参考如下:
#include <stdio.h>
#include <string.h>
int main()
{
char buf[20]={0};
char wk[7][20]= {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
int id = 0;
scanf("%s",buf);
if (strcmp(wk[0],buf) == 0)
id = 1;
else if(strcmp(wk[1],buf) == 0)
id = 2;
else if(strcmp(wk[2],buf) == 0)
id = 3;
else if(strcmp(wk[3],buf) == 0)
id = 4;
else if(strcmp(wk[4],buf) == 0)
id = 5;
else if(strcmp(wk[5],buf) == 0)
id = 6;
else if(strcmp(wk[6],buf) == 0)
id = 7;
switch(id)
{
case 1:
//你的操作
break;
case 2:
//你的操作
break;
case 3:
//你的操作
break;
case 4:
//你的操作
break;
case 5:
//你的操作
break;
case 6:
//你的操作
break;
case 7:
//你的操作
break;
default:
//你的操作
break;
}
return 0;
}
你要怎么转,看下你写的代码。
case 后面只能是整形及字符,不允许字符串。最好输入1~7的数字对应星期一到星期天。
你可以将周一到周日定义为枚举型,用枚举型可以switch...case
重点是你想怎么输入星期一到星期六,输入个数字,还是输入周一到周日的英文单词?只有这个明确了,才有适用的解决办法给出