char letter;
cin >> letter;
输入只能是一个字母,不能是两个以上或者数字,否则提示错误并Loop cin
C++ 如何限制输入的是一个字母
答案:3 悬赏:70 手机版
解决时间 2021-02-11 20:27
- 提问者网友:雨不眠的下
- 2021-02-11 11:39
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-02-11 13:10
char letter;
cin >> letter; 该语句只能接收一个字符,即使你输入多个,这里letter也只能接收一个字符,多余的会存储在缓存中
以下代码,可以保证输入的letter不是字母时会提示错误,并清理缓存,重新输入
char letter;
cin >> letter;
while ( !( letter >='a' && letter <='z' ) || (letter >='A' && letter <='Z') )
{
cout << "input error" <<endl ;
cin.clear();
cin.ignore( 1024, '\n') ;
cin >> letter ;
}
cin >> letter; 该语句只能接收一个字符,即使你输入多个,这里letter也只能接收一个字符,多余的会存储在缓存中
以下代码,可以保证输入的letter不是字母时会提示错误,并清理缓存,重新输入
char letter;
cin >> letter;
while ( !( letter >='a' && letter <='z' ) || (letter >='A' && letter <='Z') )
{
cout << "input error" <<endl ;
cin.clear();
cin.ignore( 1024, '\n') ;
cin >> letter ;
}
全部回答
- 1楼网友:白昼之月
- 2021-02-11 15:14
while (1) {
cin >> letter ;
if (letter >= 'a' && letter <= 'b')
break ;
cin.clear () ;
cout << "Loop cin" << endl ;
}
- 2楼网友:廢物販賣機
- 2021-02-11 14:08
#include
#define n 200 //跟据字符串的长度修改相应的值
//beijing jiaotong university lenhal
//2012/07/21
main()
{
char fun(char aa[], char ch, int bb[]);
char a[n],ch='a';
int i,b[52]={0};
printf("请输入一个字符串:\n");
gets(a);
printf("各个字母个数如下:\n");
fun(a,ch,b);
for(i=0;i<26;i++)
{
printf("%c: %d 个\n",ch,b[i]);//大写字母
printf("%c: %d 个\n",ch+32,b[i+26]);//小写字母
ch++;
}
putchar(10);
return 0;
}
char fun(char aa[], char ch, int bb[])
{
int i;
char *p=aa;
while(*p)
{
if(*p>='a' && *p<='z')
{
i=*p-ch;
bb[i]++;
}
else if(*p>='a' && *p<='z')
{
i=*p-ch-6;
bb[i]++;
}
p++;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯