C语言程序设计案例教程-项目八学生成绩文件管理

上传人:zjm****gmk 文档编号:295536750 上传时间:2022-05-20 格式:PPTX 页数:80 大小:11.17MB
返回 下载 相关 举报
C语言程序设计案例教程-项目八学生成绩文件管理_第1页
第1页 / 共80页
C语言程序设计案例教程-项目八学生成绩文件管理_第2页
第2页 / 共80页
C语言程序设计案例教程-项目八学生成绩文件管理_第3页
第3页 / 共80页
C语言程序设计案例教程-项目八学生成绩文件管理_第4页
第4页 / 共80页
C语言程序设计案例教程-项目八学生成绩文件管理_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《C语言程序设计案例教程-项目八学生成绩文件管理》由会员分享,可在线阅读,更多相关《C语言程序设计案例教程-项目八学生成绩文件管理(80页珍藏版)》请在金锄头文库上搜索。

1、v教学目的:教学目的:通通过过本本项项目目的的学学习习,要要求求能能理理解解文文本本文文件件和和二二进进制制文文件件的的概概念念,能能熟熟练练使使用用文文件件的的读读写写函函数数对对文文件件进进行行一一系系列列的的操操作作,理理解解文文件件的的定定位位和和文文件件的的出出错错检检测测等等,能能够够利利用用本本项项目目的的知知识识点点进进行行一一些些简简单单的的课课程程设设计计,为为后后续续课课程程中中系系统统的的开开发奠定基础。发奠定基础。项目八 学生成学生成绩文件管理文件管理项目八 学生成绩文件管理学生成绩文件管理v本章内容本章内容 文件操作的文件操作的C C程序引例程序引例文件的打开与关闭

2、文件的打开与关闭文件的读写文件的读写字符串读写函数字符串读写函数格式化读写函数格式化读写函数其他读写函数其他读写函数字符读写函数字符读写函数数据读写函数数据读写函数文件的定位文件的定位文件头定位函数文件头定位函数文件随即定位函数文件随即定位函数流失文件的定位函数流失文件的定位函数判断文件结束函数判断文件结束函数feoffeof文件的出错检测:文件的出错检测:ferrorferror和和clearerrclearerr综合实训综合实训项目八 学生成学生成绩文件管理文件管理项目八 学生成学生成绩文件管理文件管理v重点和重点和难点难点重点:重点:()文件的打开与关闭()文件的打开与关闭(2 2)文件

3、的读写)文件的读写(3 3)文件的定位)文件的定位(4 4)文件的出错检测)文件的出错检测难点难点 : 、文件的读写、文件的读写、文件的出错检测、文件的出错检测任务一 将学生成绩顺序读写到文件中1 1)问题情景与实现)问题情景与实现辅辅导导员员张张老老师师在在使使用用小小王王设设计计的的程程序序时时,需需要要完完成成如如下下的的工工作作:将将一一个个班班级级学学生生的的期期末末考考试试信信息息( (学学号号、姓姓名名、总总分分) )存存入入磁磁盘盘文文件件stu.txtstu.txt中中,同同时时统统计计总总分分在在550550分分以以上上的的优优秀秀学学生生信信息息,并并将将优优秀秀学学生生

4、的的名名单单输输出出到到屏屏幕幕上上,以以前前数数据据都都是是放放在在程程序序中中,程程序序退退出出数数据据也也消消失失,数数据据只只能能保保存存在在内内存存中中,不不能能长长期期保保存存,本本任任务务使使用用外外部部存存储储文文件件来来保保存存数数据据,实实现现对对数数据据的的存存储储和和读读取取,能能安安全全有有效效的的长长期期保保存存数数据据,还还能能提提供供数数据据共共享享。完完善善了了原原来来的的程程序序,帮帮助张老师解决了该助张老师解决了该问题问题。任务一 将学生成绩顺序读写到文件中文件操作引例:【例8.1】编写程序完成:将一个班级学生的期末考试信息(学号、姓名、总分)存入磁盘文件

5、stu.txt中,同时统计总分在550分以上的优秀学生信息,并将优秀学生的名单输出到屏幕上。假设班级目前的学生数为30,则程序代码如下: /*源文件名:Li8_1.c功能:统计一个班级的期末考试信息。*/#include #define N 30/*定义班级中学生的人数*/void main()int i;FILE *fp;FILE *fpp;struct stu char name20; int number;任务一 将学生成绩顺序读写到文件中int score;studN/*打开或建立stu.txt文件,只允许写入数据*/fp=fopen(stu.txt,w);for(i=0;iN;i+)

6、printf(请输入第%d个学生的信息:n,i+1);printf(姓名:);scanf(%s,studi.name);printf(学号:);scanf(%d,&studi.number);printf(总分:);scanf(%d,&studi.score);fprintf(fp, %s,%d,%dn,studi.name, studi.number, studi.score);任务一 将学生成绩顺序读写到文件中 fclose(fp);/*关闭stu.txt文件*/*打开已有的stu.txt文件,只允许读取数据*/fpp=fopen(stu.txt,r);for(i=0;i550.0) pr

7、intf(%s(学号:%d)是个优秀的学.n,studi.name,studi.number); fclose(fpp);/*关闭stu.txt文件*/ getch(); 任务一 将学生成绩顺序读写到文件中程程序序首首先先将将3030个个学学生生的的信信息息存存放放到到文文件件stu.txtstu.txt中中,然然后后对对存存放放在在stu.txtstu.txt中中的的学学生生的的总总分分进进行行统统计计,并并将将总总分分在在550550分分以上的学生的名单输出。以上的学生的名单输出。以以输输入入5 5个个( (假假设设此此时时N N的的值值为为5)5)学学生生的的信信息息为为例例,程程序序的

8、的运行情况为:运行情况为: 任务一 将学生成绩顺序读写到文件中任务一 将学生成绩顺序读写到文件中 此此时时如如果果打打开开文文件件stu.txt,则则5个个学学生生的的信信息息清清单单按按照照输入的顺序存放在输入的顺序存放在stu.txt文件中,如图所示。文件中,如图所示。程序运行后程序运行后stu.txt文件的内容文件的内容任务一 将学生成绩顺序读写到文件中要要完完成成上上面面的的任任务务,小小王王必必须须要要能能够够熟熟练练使使用用文文件件的的读读写写函函数数对对文文件件进进行行一一系系列列的的操操作作,并并要要了了解解以以下下几几个个跟跟文文件件相相关关得概念:得概念:文文件件是是一一组

9、组相相关关数数据据的的集集合合。在在C C程程序序设设计计中中,按按文文件件的的内内容容可可以以分分为为两两类类:一一类类是是程程序序文文件件,它它是是程程序序得得源源代代码码;另另一一类类是是数数据据文文件件,它它是是程程序序运运行行时时需需要要的的原原始始数数据据及及输输出出的的结结果果。这这两两类类文文件件都都保保存存在在磁磁盘盘上上,随随时时可可以以使使用用。程程序序文文件件的的创创建建和和使使用用已已经经在在前前面面各各章章使使用用了了,本本项项目目主主要要介介绍绍数数据据文文件件的创建和使用。的创建和使用。任务一 将学生成绩顺序读写到文件中2 2)相关知识)相关知识按按数数据据得得

10、存存储储形形式式,数数据据文文件件可可以以分分为为文文本本文文件件和和二二进进制文件两类。制文件两类。n文文本本文文件件:也也称称ASCIIASCII文文件件,是是一一种种字字符符流流文文件件。文文本本文文件件的的优优点点是是可可以以直直接接阅阅读读,而而且且ASCIIASCII码码标标准准统统一一,使使文文件件易于移植,其缺点是输入、输出都要进行转换,效率低。易于移植,其缺点是输入、输出都要进行转换,效率低。n二二进进制制文文件件:二二进进制制文文件件中中的的数数据据是是按按其其在在内内存存中中的的存存储形式存放的储形式存放的。任务一 将学生成绩顺序读写到文件中n流流:流流是是一一个个逻逻辑

11、辑设设备备,具具有有诸诸多多相相同同的的行行为为。在在C语语言言中有两种性质的流:文字流和二进制。中有两种性质的流:文字流和二进制。n顺序文件:可以进行顺序存取的文件称为顺序文件。顺序文件:可以进行顺序存取的文件称为顺序文件。n随机文件:可以进行随机存取的文件称为随机文件。随机文件:可以进行随机存取的文件称为随机文件。nC语语言言支支持持的的文文件件存存取取方方式式有有两两种种:顺顺序序存存取取和和随随机机存存取取。随机存取也称直接存取。随机存取也称直接存取。任务一 将学生成绩顺序读写到文件中8.2 文件的打开与关闭 由由于于文文件件的的打打开开与与关关闭闭都都是是利利用用系系统统函函数数来来

12、实实现现的的,因因此此,在在编编写写有有关关文文件件的的程程序序时时,应应该该在在其其中中包包含含“stdio.h”头头文文件。件。文文件件打打开开函函数数fopen用用来来打打开开一一个个文文件件,其其调调用用的的一一般般形式为:形式为:文件指针名文件指针名=fopen(文件名,使用文件方式文件名,使用文件方式);其其中中:“文文件件指指针针名名”必必须须是是被被说说明明为为FILE类类型型的的指指针针变变量量;“文件名文件名”是被打开文件的文件名;是被打开文件的文件名;8.2.1 文件的打开8.2 文件的打开与关闭 8.2.1 文件的打开 文文件件名名通通常常是是文文件件变变量量或或文文件

13、件数数组组;“使使用用文文件件方方式式”是是指指文文件件的的类类型型和和操操作作要要求求。文文件件的的使使用用方方式式共共有有12种种,下下表表给出了文本文件的符号和意义。给出了文本文件的符号和意义。 文本文件的符号及其含义文本文件的符号及其含义 8.2 文件的打开与关闭 8.2.1 文件的打开 二进制二进制文件的符号及其含义文件的符号及其含义 以以上上六六种种方方式式是是针针对对“文文本本文文件件”类类型型的的,下下表表给给出出了了另外六种文件的操作方式是针对另外六种文件的操作方式是针对“二进制文件二进制文件”类型的。类型的。8.2 文件的打开与关闭 8.2.1 文件的打开 可可以以看看出出

14、,上上面面两两个个表表的的作作用用基基本本上上是是相相同同的的,唯唯一一的的区区别别是是下下表表增增加加了了一一个个表表示示二二进进制制的的字字符符“b”。其其中中,文文件件使使用用方方式式由由r、w、a、t、b和和+六六个个字字符符组组成成,各各字字符符的的含含义义如如表所示。表所示。 文件使用方式中的字符及其含义文件使用方式中的字符及其含义8.2 文件的打开与关闭 8.2.1文件的打开 对上表做以下补充说明:对上表做以下补充说明: 1. 程程序序中中凡凡是是用用“r”打打开开一一个个文文件件时时,表表明明该该文文件件必必须须已经存在,且只能从该文件读出数据。已经存在,且只能从该文件读出数据

15、。 2用用“w”打打开开的的文文件件也也只只能能向向该该文文件件写写入入数数据据。若若打打开开的的文文件件不不存存在在,则则按按照照指指定定的的文文件件名名建建立立该该文文件件,若若打打开开的的文文件件已已经经存存在在,则则将将该该文文件件删删除除,重重建建一一个个新新文文件件。使使用用时时要要特特别注意这一点。别注意这一点。 3. 如如果果要要向向一一个个已已经经存存在在的的文文件件后后面面追追加加新新的的信信息息,那那只只能能用用“a”方方式式打打开开文文件件。但但此此时时该该文文件件必必须须是是存存在在的的,否否则则将会出错。将会出错。 8.2 文件的打开与关闭 8.2.1 文件的打开

16、4在在打打开开一一个个文文件件之之前前,应应该该定定义义文文件件型型指指针针,以以便便接接收收函函数数fopen返返回回的的地地址址。如如果果出出错错,fopen将将返返回回一一个个空空指指针针NULL。在在程程序序中中可可以以用用这这一一信信息息来来判判别别是是否否完完成成打打开开文文件的工作,并做相应的处理。件的工作,并做相应的处理。例如:例如: if(fp=fopen(“file1”,”rb”)= =NULL) printf(“n error on open file1”); getch( ); exit(1); 8.2 文件的打开与关闭 8.2.1 文件的打开 该该程程序序段段表表示示:如如果果返返回回的的指指针针为为空空,则则不不能能打打开开当当前前目目录录下下的的文文件件“file1”,同同时时给给出出错错误误提提示示信信息息“error on open file1”。程程序序中中的的getch()函函数数的的功功能能是是从从键键盘盘输输入入一一个个字字符符,该该字字符符不不在在屏屏幕幕上上显显示示。其其实实getch()在在这这里里的的作作用用是是停停留留等等待待,只只有

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号