更多课程 选择中心

C/C++培训
达内IT学院

400-996-5531

C++输出输入小结

  • 发布:网络
  • 来源:网络
  • 时间:2015-06-09 13:52

试炼一号

题目:

这个程序将向用户提出一个“Y/N”问题,然后把用户输入的值赋值给answer变量。

要求:

针对用户输入‘Y’或‘y’和‘N’或‘n’进行过滤;

发掘程序可能存在的任何问题,想想为什么?。

实践开始! 

试炼二号

题目:

编写一个“温度单位转换程序”,提示用户以【xx.x C】或【xx.x F】的格式输入。

要求:

如果用户输入的是34.2 C 程序将自动转换为 90.32 F 并输出!

实践开始!

对输入数据进行合法性检查

“不要相信任何程序的输入,尤其是由用户输入的东西”,这是计算机安防工作的基本原则。

往好处说,非法输入会让程序变得毫无用处;

往坏处说,非法输入会导致程序甚至是整个系统崩溃。

因此,知道如何对输入数据进行合法性检查与知道如何接受输入数据同样重要。

这是我们这系列要研究的一个重要课题!

对输入数据进行合法性检查的具体做法取决于具体的变量类型和它们的取值范围。

比较常见的检查项目包括:

检查某个数值是不是一个正数(例如商品的价格、老妈的年龄、老婆的体重)

检查某个数值是不是落在给定的范围(例如女朋友的年龄不能小于0或者大于120吧?)

检查某个字符是不是一个特定的值(例如前边的Y或者N)

前边的程序中我们已经见过了一些用来进行合法性检查的代码,例如question1和question2程序中使用switch()来判断用户是否输入了程序预期的值。

但是呢,还有一些潜伏的问题我们没有发掘出来:例如cin调用失败(无法把一个值赋值给一个变量)时,程序仍会像cin调用成功一样继续自欺欺人。举例……

解决这些问题的办法之一就是对cin 调用的结果不要做任何假设。

cin 对象有几个专门用来报告其工作情况的成员函数,它们将返回一个真/假值来表明cin 的状态。

eof():如果到达文件(或输入)末尾,返回true;

fail():如果cin 无法工作,返回true;

bad():如果cin 因为比较严重的原因(例如内存不足)而无法工作,返回true;

good():如果以上情况都没发生,返回true。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:什么是c++输出流
下一篇:C语言入门书籍推荐,适合初学者学习的C语言入门书籍

超全的C语言标识符知识

C指针——指针类型转换

C指针——指针和结构类型的关系

C指针——数组和指针的关系

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省