永发信息网

C++ 如何限制输入的是一个字母

答案:3  悬赏:70  手机版
解决时间 2021-02-11 20:27
char letter;
cin >> letter;
输入只能是一个字母,不能是两个以上或者数字,否则提示错误并Loop cin
最佳答案
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 ;
}
全部回答
while (1) { cin >> letter ; if (letter >= 'a' && letter <= 'b') break ; cin.clear () ; cout << "Loop cin" << endl ; }
#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++; } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
肌肉科技是否有休闲食品?比如蛋白棒,蛋白质
蛮王出饮血好还是幻影之舞?
家有爱宠金毛一只母的,谁能帮忙起个名字中文
武汉社保卡可以异地使用吗?
小红每8天去图书馆,小林每6天去图书馆.他们五
小华冶饭店这个地址在什么地方,我要处理点事
亚欧机械地址在哪,我要去那里办事
混合贷款审批是依据银行流水还是收入证明
草字头作为偏僻是多少笔划?荷字的笔划又有多
山东省长途电信威海传输局文登分局在什么地方
种植猴头菇
MOV文件怎么转换成RMVB格式
神舟Ej19 电池 7个触点 电压在什么触点上 不
【学校的一次活动】学校或班上开展的一次活动
360版的武侠Q传几天一个新区?
推荐资讯
【休克是什么意思】重力休克的定义是什么?请
肺栓塞病人每天能喝些红葡萄酒吗
好心情水族馆地址在哪,我要去那里办事
华硕的笔记本听说散热不是很好,散热不好有什
英特库在哪里啊,我有事要去这个地方
做奶油蘑菇汤要用哪种面粉
属猪戴金猪吊坠可以吗
金笔作文培训中心(泰安新泰市)地址在什么地方
求错了性别不错爱3,百度云资源
为筹集财政资金,支持国民经济和社会事业发展,
有没有球员一进入NBA第一年就获得总冠军
怎么种满天星,需要什么环境,需要浇水
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?