+ -
当前位置:首页 → 问答吧 → 新手 C++中 定义int型输入字母就会死循环 定义char型输入空格也会死循环 如何解决

新手 C++中 定义int型输入字母就会死循环 定义char型输入空格也会死循环 如何解决

时间:2011-12-18

来源:互联网

因为我要输出一个日历 所以要判断年份是否闰年 所以int year要参与计算 如果把year定义成char型可以用ASCII码过滤 但是这样怎么参与计算呢?强制转换成int型的话就不是输入的数字了啊。。。这个时候输入了字母就会造成死循环 (因为下面有一个do语句是问要不要继续使用的 这个时候定义了char cho 可是在year输入字母的时候就忽略了cho的输入。。。)
5 d, Y, n+ ]8 J4 u- n- F
- j+ V. H9 s' e  Z以及另外一个程序 最开始要求输入学生姓名和成绩 姓名是用的char 定义数组
# T( s0 h; `0 Z( v5 ?2 P  P 如果输入姓名的时候输了空格 也会死循环 (后面也有一个和上面差不多的do语句)+ }6 O, q9 ~; n% F* H7 i

- \5 M/ ~  Q" T" F3 \  j怎么解决这些问题啊。。。大一新生学计算机的。。感觉要完善一个简单的程序其实都很麻烦 各种问题。。 实在是不懂。。TAT求帮助啊5555

作者: 秀婆妩漫   发布时间: 2011-12-18

楼主你好,char型的字母在ASCII中都是有其整型值的,比如'a' == 97,'A' == 65等等  L' y  ~0 K2 O, ]' O% [& K" s6 y& Y
或者你可以要求直接输入年份就好啊~用不着输入日期格式的,比如那个间隔符 '-' 之类的~3 W/ X5 o) X. n6 H
2 g2 ]3 L5 c7 D* E; [  b, Z0 I
刚接触程序肯定有一个过程,不要紧,慢慢来,大家都是这样过来的,希望以后常来这里坐坐,大家一起探讨~嘿嘿9 F$ p* L4 x* H$ p
引用:
原帖由 秀婆妩漫 于 2011-12-18 12:46 发表
/ W- P. c; m6 G0 r$ }因为我要输出一个日历 所以要判断年份是否闰年 所以int year要参与计算 如果把year定义成char型可以用ASCII码过滤 但是这样怎么参与计算呢?强制转换成int型的话就不是输入的数字了啊。。。这个时候输入了字母就会造成 ...

作者: Bill_Hoo   发布时间: 2011-12-18