第11章实例演示 11.1“极限俱乐部会员信息系统”程序(三) 112“限俱乐部会员信息系统”程序(四) 11.3“教学成绩管理系统”程序
第11章实例演示 11.1 “极限俱乐部会员信息系统”程序(三) 11.2 “极限俱乐部会员信息系统”程序(四) 11.3 “教学成绩管理系统”程序
令我们已经学习了C语言的数组、函数、指针、结构、文件操 作等知识。本章的主要目的就是将所有的知识点通过完善 “极限俱乐部会员信息系统”的方式串连起来,使读者真正 体会到C语言的作用以及领略到它的独特魅力 111极限俱乐部会员信息系统”程序(三) “极限俱乐部会员信息系统”作为一个完整的信息管理系统 其程序(一)和程序(二)显然不够完善,特别是其不能存 储数据,使得每一次操作后,数据全部丢失,无法应用到实 际中。而且,当处理大量的数据时,又要一个个的逐次重新 输入,大大降低效率。这种缺陷必须得以弥补,这个信息管 理系统才能具有实用价值 结合本例,我们再加深文件操作的印象
❖ 我们已经学习了C语言的数组、函数、指针、结构、文件操 作等知识。本章的主要目的就是将所有的知识点通过完善 “极限俱乐部会员信息系统”的方式串连起来,使读者真正 体会到C语言的作用以及领略到它的独特魅力。 ❖ 11.1“极限俱乐部会员信息系统”程序(三) ❖ “极限俱乐部会员信息系统”作为一个完整的信息管理系统, 其程序(一)和程序(二)显然不够完善,特别是其不能存 储数据,使得每一次操作后,数据全部丢失,无法应用到实 际中。而且,当处理大量的数据时,又要一个个的逐次重新 输入,大大降低效率。这种缺陷必须得以弥补,这个信息管 理系统才能具有实用价值。 ❖ 结合本例,我们再加深文件操作的印象
11.1“极限俱乐部会员信息系统”程序(三) (一)文件的打开和关闭 1. fopen0函数 冷 fopen函数用于打开文件,其调用格式为: FILE fopen(char *filename, *type F儿LE为文件指针。实际上FLE是一个新的数据类型即我们学 习结构这种类型时遇到的结构指针。为便于理解,这里只要 将FLE看作一个包括了文件管理有关信息的数据结构,即在 打开文件时必须先定义一个文件指针 冷本例主函数中定义“FLE*p;",fp即 file pointer(文件指针) 之意。 冷用“fp= fopen("d: lsta. dat","r")”表示,以只读方式打开D盘根 目录下的一个文件 sta.dat 令这里有一点要注意:如果将路径写为d: sta. dat是不正确的
(一)文件的打开和关闭 1.fopen()函数 ❖ fopen函数用于打开文件,其调用格式为: ❖ FILE *fopen(char *filename, *type); ❖ FILE为文件指针。实际上FILE是一个新的数据类型即我们学 习结构这种类型时遇到的结构指针。为便于理解,这里只要 将FILE看作一个包括了文件管理有关信息的数据结构, 即在 打开文件时必须先定义一个文件指针。 ❖ 本例主函数中定义“FILE *fp;”,fp即file pointer(文件指针) 之意。 ❖ 用“fp=fopen("d:\\sta.dat","r")”表示,以只读方式打开D盘根 目录下的一个文件sta.dat。 ❖ 这里有一点要注意:如果将路径写为d:\sta.dat是不正确的。 11.1“极限俱乐部会员信息系统”程序(三)
2. fclose函数 2. fclose函数 冷 fclose函数用来关闭一个由 fopen函数打开的文件, 其调用格式为 int fclose(FILE * stream 令该函数返回一个整型数。当文件关闭成功时,返回0 否则返回一个非零值。可以根据函数的返回值判断文件 是否关闭成功
2.fclose()函数 2.fclose()函数 ❖ fclose()函数用来关闭一个由fopen()函数打开的文件, 其调用格式为: ❖ int fclose(FILE *stream); ❖ 该函数返回一个整型数。当文件关闭成功时, 返回0, 否则返回一个非零值。可以根据函数的返回值判断文件 是否关闭成功
文件的写入与输出 1. fscanf(函数 冷 fscanft0为文件的顺序读操作函数,其调用格式如下: int fscanf(FILE stream, char * format, <address list>) 冷 fscanfi0函数的用法与scan0函数相似,只是它是从文件 中读到信息。 fscanf0函数的返回值为EOF(即-1),表明 读错误,否则读数据成功 本例中的 fscanf()函数调用形式为: fscanf(fp, %s%S%s%d%d%d%dn", stan]. unit, stal n]. name, sta[n]. sex, &sta[n]. age, &stan]. height, &sta[] weight) 冷要特别注意的是,当 fscanf(0函数读到空白符时便自动 结束,在使用时要特别注意
(二)文件的写入与输出 1.fscanf()函数 ❖ fscanf()为文件的顺序读操作函数, 其调用格式如下: ❖ int fscanf(FILE *stream, char *format, <addresslist>); ❖ fscanf()函数的用法与scanf()函数相似, 只是它是从文件 中读到信息。fscanf()函数的返回值为EOF(即-1), 表明 读错误, 否则读数据成功。 ❖ 本例中的fscanf()函数调用形式为: ❖ fscanf(fp,"%s%s%s%d%d%d%d\n",sta[n].unit,sta[ n].name,sta[n].sex,&sta[n].age,&sta[n].height,&sta[n]. weight); ❖ 要特别注意的是,当fscanf()函数读到空白符时便自动 结束, 在使用时要特别注意