C++程序设计案例教程 教学课件 作者 刘玉山第9章流.ppt

C++程序设计案例教程 教学课件 作者 刘玉山第9章流.ppt

ID:50041751

大小:142.00 KB

页数:24页

时间:2020-03-08

C++程序设计案例教程 教学课件 作者 刘玉山第9章流.ppt_第1页
C++程序设计案例教程 教学课件 作者 刘玉山第9章流.ppt_第2页
C++程序设计案例教程 教学课件 作者 刘玉山第9章流.ppt_第3页
C++程序设计案例教程 教学课件 作者 刘玉山第9章流.ppt_第4页
C++程序设计案例教程 教学课件 作者 刘玉山第9章流.ppt_第5页
资源描述:

《C++程序设计案例教程 教学课件 作者 刘玉山第9章流.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章流学习目标1)了解格式化输入和输出。2)理解I/O流的概念。3)掌握文件流的用法。第9章流9.1I/O流的概念9.2格式化输入和输出9.3文件流9.1I/O流的概念流是C++中提供的一种针对输入和输出处理的一种技术。9.1.1常用的流对象及输入和输出输入流类istream重载了运算符“>>”,用于数据输入,其原形如下:istream&operator>>(istream&,<类型修饰>&);其功能是从输入流中提取一个数据赋值给一个变量。输出流类ostream重载了运算符“<<”,用于数据输出,其原形如下:ostream&operator<<(ostre

2、am&,<类型修饰>&);其功能是把表达式的值插入到输出流中。9.2格式化输入和输出任务1:针对信息管理系统中出现的界面问题进行有些的格式控制,使其界面友好。在信息管理系统中的运行中发现,界面显示有点乱,主要体现在查询功能中的各个子模块的输出。有时输出不符合用户的要求,比如成绩的统计的输出,对平均分,通过率的输出,本来想让其显示两位小数,但是却显示了6位小数。现在通过格式控制,使其界面变得更友好一些。通过菜单项“小圆点”的序号来对菜单项的选择,这就要求菜单项只能是用数字组成,而不能是其它字符。在添加和修改成绩时,对输入的数据的检查。(2)任务分析与设计对于信

3、息管理系统采用二级菜单的方式进行显示。在信息管理系统中的运行中发现,界面出现乱的原因,很大程度上是由于没能对输出进行有效的字符格式的控制。比如查询功能中的各个子模块的输出,因为其中输出的字符是可变的,所以在前面没有进行有效的控制。导致了界面显得有点乱。(3)任务实现见程序Student90.cpp(4)要点总结cout<

4、选择时菜单项序号的输入的检查和转换是通过把当前的输入的字符存储在数组中,然后调用系统提供的功能函数atoi(constchar*),如果返回为0,表示输入的字符不是整数;否则返回转换后的相应的整数。对成绩输入和修改时的数据检查和转换也是通过把当前的输入的字符存储在数组中,然后调用系统提供的功能函数atof(constchar*),如果返回为0,表示输入的字符不能转换为数字;否则返回转换后的相应的double类型,因为这里的成绩类型为float,所以还必须进行一次强制类型转换,使其为float类型。(5)涉及到知识点11)格式控制:通过控制符来完成的。在系统提

5、供的头文件中iomanip.h中,创建一些函数来对I/O进行一些格式控制。2)转换函数:atoi(constchar*)和atof(constchar*)9.3文件流任务2:要永久性的保存学生的数据信息。(1)任务描述在上一个任务中,我们实现了系统界面的友好优化。现在需要进一步的对系统进行调整。使其输入的数据信息能够保存下来,便于以后查询。这需要保存的信息有学生的信息、科目信息和成绩信息等。(2)任务分析与设计因为需要保存学生、科目和成绩的信息,那么就必须存储在磁盘上。要永久性的保存,这里选择以文件的形式存储在外存中。由于现在的系统已经实现了把数据都存储在数

6、组中。所以这里只需要实现数组到文件的转换即可。这里新设置一个功能保存数据和提取数据。(2)任务分析与设计因为在程序中学生、科目和成绩数据分别保存在三个数组中,所以这里相应的也把这三个数组中的数据也保存在三个文件中student.dat、subject.dat和score.dat。对于提取数据,在程序开始执行时,先从文件中提取数据到数组中,然后在开始其它的工作。同时为了避免,工作后忘了保存,所以在退出时实现了自动保存数据到文件中。(3)任务实现见程序student91.cpp(4)要点总结对于保存数据模块saveFile()来说:11)用的是文件输出流ofst

7、ream的对象,当data目录下没有相应的文件时,系统默认创建一个文件。当打开文件失败时,返回1。当打开文件成功时,开始保存数据到该文件中,并且在保存的过程中每一个字段之间以“空格”字符作为分隔符。保存数据完毕后,关闭该文件流对象。返回0。2)文件目录的分割符要用“\”。(4)要点总结对于从score.dat中提取数据到sc数组中时,因为需要修改该数组中成绩类中的学生和科目成员,所以对于成员函数GetCommStud()和GetSubject()其声明的格式作了如下修改:把原来的SubjectGetSubject()const{returnsubject;

8、}修改为:Subject&GetSubject(){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。