[问题] c语言 输入判断问题 (已解决)

楼主: solinari (soli)   2014-04-12 13:14:17
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)

问题(Question):
如何在输入文字时得到相对应的输出
以及如果数字后有小数点该如何处理
喂入的资料(Input):
cat
预期的正确结果(Expected Output):
must enter integer :
错误结果(Wrong Output):
进入无限循环
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):
试过一些方式可是都没成功
目前先把处理文字部分的程式码先删了
烦请大家帮忙解惑
目前是想输入数字然后画菱形,
输入的数字等于菱形中间的星星数,
然后只能输入奇数,
输入偶数或是负数或是文字就会出现对应的输出
然后再请输入者重新输入
然后即使是输入奇数, 游戏还是会一直问下去
然后如果是输入奇数但有后面小数点, 则还是显示该奇数的菱形
ex.
输入偶数和负数: %d not odd and > 0
enter ODD size > 0:
输入文字: must enter integer
enter ODD size > 0:
作者: AndyLeo (打败超越一切的人)   2014-04-12 13:43:00
用fgets跟sscanf代替scanf
楼主: solinari (soli)   2014-04-12 14:05:00
提示是希望用scanf, 还有 while (getchar() != '\n')可是后面那个我不太懂..
作者: EdisonX (卡卡兽)   2014-04-12 14:39:00
while(getchar()!='\n');是放在 scanf 后面一行(两个都放)原理是如果输入 5 的话,还会有一个 '\n' 留在系统里 ;若输入 5.12 的话,第一个 5 会读给 n , 后面的 .12('\n')由 getchar() 读走.
作者: virve (std::vie)   2014-04-13 00:01:00
判断是否读入整数可以用scanf的回传值判断
楼主: solinari (soli)   2014-04-13 00:40:00
小数部分处理好了. 请问输入者误输入文字该如何处理呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com