C语言 要求输入一个是字母,然后如果输入错误提示重新输入

要求输入一个是字母,然后如果输入错误提示重新输入,如果输入asmdq以外的东西,提示重新输入。我把代码复制到这里,还请各位大神帮忙。代码:charget_ch(void)... 要求输入一个是字母,然后如果输入错误提示重新输入,如果输入 a s m d q 以外的东西,提示重新输入。

我把代码复制到这里,还请各位大神帮忙。
代码:

char get_ch(void)

{

char get_word;

while (!isalpha(get_word = getchar())) /*|| (get_word == 'a' || get_word!= 's' || get_word!='m' ||get_word!= 'd'||get_word!= 'q'))*/ 这里出现问题,我已经用注释

{

printf("Your input is incorrect, please input:\n");

printf("a. add \t\t s. substract\n");

printf("m. multiply\t d. divide\n");

printf("q. quit\n");

printf("Please enter your operation of your choice:\n");

while (getchar()!= '\n')

continue;

}

return get_word;

}
展开
 我来答
稳住大神
推荐于2017-09-07 · TA获得超过123个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:202万
展开全部
#include <stdio.h>
#include <ctype.h>

char get_ch(void)
{

    char get_word;
get_word = getchar();
//int flag = isalpha(get_word = getchar()); //判断是否为字母?
int flag = (get_word == 'a' || get_word == 's' || get_word =='m' ||get_word== 'd'||get_word == 'q');
while(!flag) {

flag = (get_word == 'a' || get_word== 's' || get_word=='m' ||get_word== 'd'||get_word== 'q');
if(flag)
return get_word;
printf("Your input is incorrect, please input:\n");

        printf("a. add \t\t s. substract\n");

        printf("m. multiply\t d. divide\n");

        printf("q. quit\n");

        printf("Please enter your operation of your choice:\n");

getchar(); //消除空格
get_word = getchar();
}
return get_word;
}

int main(int argc, char *argv[])
{
printf("Hello, world\n");

char ch = get_ch();

printf("%c\n",ch);
return 0;
}
中网第一人
推荐于2018-03-09 · TA获得超过6201个赞
知道大有可为答主
回答量:1844
采纳率:85%
帮助的人:248万
展开全部
代码如下:
#include <stdio.h>
#include <ctype.h>

char get_ch(void)
{

char get_word;
get_word = getchar();
//int flag = isalpha(get_word = getchar()); //判断是否为字母?
int flag = (get_word == 'a' || get_word == 's' || get_word =='m' ||get_word== 'd'||get_word == 'q');
while(!flag) {

flag = (get_word == 'a' || get_word== 's' || get_word=='m' ||get_word== 'd'||get_word== 'q');
if(flag)
return get_word;
printf("Your input is incorrect, please input:\n");

printf("a. add \t\t s. substract\n");

printf("m. multiply\t d. divide\n");

printf("q. quit\n");

printf("Please enter your operation of your choice:\n");

getchar(); //消除空格
get_word = getchar();
}
return get_word;
}

int main(int argc, char *argv[])
{
printf("Hello, world\n");

char ch = get_ch();

printf("%c\n",ch);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式