代码是下面这样
#include <iostream>
using namespace std;
int main(void)
{
int num_1, num_2;
cout << "第一题作业:\n";
cout << "请输入你要除以的数值: ";
cin >> num_1;
cout << "再输入一个数值用于被除;";
cin >> num_2;
cout << num_1 << " 除以 " << num_2 << " 等于" << num_1 / num_2 << ",余" << num_1 % num_2 << endl;
cout << "第二题作业:\n";
char yinbiao;
cout << "输入一个字母来判定元音还是辅音:";
cin >> yinbiao;
while (!isalpha(yinbiao))
{
cout << "输入错误 请重新输入!\n";
cout << "输入一个字母来判定元音还是辅音:";
cin >> yinbiao;
}
if (yinbiao == 'a' || yinbiao == 'e' || yinbiao == 'i' || yinbiao == 'o' || yinbiao == 'u' || yinbiao == 'A' || yinbiao == 'E' || yinbiao == 'I' || yinbiao == 'O' || yinbiao == 'U')
cout << "你输入的是元音\n";
else
cout << "你输入的是辅音\n";
return 0;
问题主要出现isalpha函数那里 如果我在第一题里输入非数字或者在第二题里输入中文就会报错
这是什么原因呢? 该怎么解决?
这个是数据类型转换的问题,你第一题定义了整型变量,肯定只能输入整数啊,第二题定义char类型变量,只能接受字符,一个中文是占两个字节的,是字符串。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632