中国高校课件下载中心 》 教学资源 》 大学文库

《C语言程序设计》课程教学资源:第十一章 实例演示

文档信息
资源类别:文库
文档格式:PPT
文档页数:73
文件大小:412KB
团购合买:点击进入团购
内容简介
11.1 “极限俱乐部会员信息系统”程序(三) 11.2 “极限俱乐部会员信息系统”程序(四) 11.3 “教学成绩管理系统”程序
刷新页面文档预览

第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, ) 冷 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, ); ❖ 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()函数读到空白符时便自动 结束, 在使用时要特别注意

2. fprintf()函数 冷函数 fprintf.文件的顺序写操作函数,其调用格式如下: int fprintf(FILE stream, char format, ) fprint函数的返回值为实际写入文件中的字节数。如 果写错误,则返回一个负数。 fscanf()、 fprintf(()函数 中格式化的规定与 scanf()、 printf()函数相同,所不 同的只是 scanf()、 fprintf函数是分别向文件中读取 和写入数据,而 scanf()、 printf(则是分别从键盘中 输入和向屏幕输出数据

2.fprintf()函数 ❖ 函数fprintf()为文件的顺序写操作函数, 其调用格式如下: ❖ int fprintf(FILE *stream, char *format, ); ❖ fprintf() 函数的返回值为实际写入文件中的字节数。如 果写错误, 则返回一个负数。fscanf()、fprintf( ) 函数 中格式化的规定与scanf()、printf( ) 函数相同, 所不 同的只是fscanf()、fprintf()函数是分别向文件中读取 和写入数据,而scanf()、printf()则是分别从键盘中 输入和向屏幕输出数据

3.feof)函数 冷feof)函数函数的调用格式为: int feof(FILE stream 冷feof)函数检测文件位置指示器是否到达了文件结尾,若 是则返回一个非0值,否则返回0

3.feof()函数 ❖ feof()函数函数的调用格式为: ❖ int feof(FILE *stream); ❖ feof()函数检测文件位置指示器是否到达了文件结尾, 若 是则返回一个非0值, 否则返回0

(三)本程序较以前两个程序增加的功能: 令系统的控制台包括如下十个选项: 1、添加一 添加职工信息; 2、显示 显示所有记录及操作结果显示; 3、按姓名排序 按字典顺序排序姓名; 4、按身高排序 按职工的身高由高到矮排序 5、按体重排序 按职工的体重由重到轻排序; 6、检索 按职工姓名检索全部信息; 7、修改 按提示逐步修改职工信息; 8、删除 删除所选职工的所有信息; 9、存盘 一将操作的最后结果存盘; 10、返回一 返回并退出信息管理系统

(三)本程序较以前两个程序增加的功能: ❖ 系统的控制台包括如下十个选项: 1、添加―――――――――――――添加职工信息; 2、显示――――――显示所有记录及操作结果显示; 3、按姓名排序―――――――按字典顺序排序姓名; 4、按身高排序―――――按职工的身高由高到矮排序; 5、按体重排序――――按职工的体重由重到轻排序; 6、检索――――――――按职工姓名检索全部信息; 7、修改――――――――按提示逐步修改职工信息; 8、删除――――――――删除所选职工的所有信息; 9、存盘―――――――――将操作的最后结果存盘; 10、返回――――――――返回并退出信息管理系统

(四)源程序代码如下: nclude" stdio. h"/控制台WO的头文件* Include"string. h /*字符串函数的头文件* include stdlib. h /"ext函数的头文件* define Max 100 /定义最多可以输入的职工 数*/ int Interface(char(*×)[20J,intn);/操作界面*/ ntAd( nt start, struct staff*tp);/增加职工数* void Display( struct staff * p, int start, int end);/显示已存 在的数据* void sortname( struct staff'po,intn);/按姓名排序 void SortHeighto( struct staff *p,intn);/*按身高排序(由高 到低) void ShorTweight( (struct staff p,intn);/按体重排序(由重 到轻)

(四)源程序代码如下: #include "stdio.h" /*控制台I/O的头文件*/ #include "string.h" /*字符串函数的头文件*/ #include "stdlib.h" /*exit()函数的头文件*/ #define Max 100 /*定义最多可以输入的职工 数*/ int Interface(char (*x)[20],int n); /*操作界面*/ int Add(int start, struct staff *p); /*增加职工数*/ void Display(struct staff *p, int start, int end); /*显示已存 在的数据*/ void SortName(struct staff *p, int n); /*按姓名排序*/ void SortHeight(struct staff *p, int n); /*按身高排序(由高 到低)*/ void SortWeight(struct staff *p, int n); /*按体重排序(由重 到轻)

int Search(struct staff*p, char *t, int n) /信 息检索* int Find(struct staff*p, int n 信息查找 void Modify (struct staff *p, int n /信息修 改* int Delete(struct staff *p, int n) 信息删 除* void Swap(struct staff p1, struct staff *p2) 职 工信息互换* void SaveFile(struct staff *p, int n /文件存 盘* char password[8=123321 /设置系统 管理员密码*

int Search (struct staff *p, char *t, int n); /*信 息检索*/ int Find(struct staff *p, int n); /*信息查找 */ void Modify(struct staff *p, int n); /*信息修 改*/ int Delete(struct staff *p, int n); /*信息删 除*/ void Swap(struct staff *p1, struct staff *p2); /*职 工信息互换*/ void SaveFile(struct staff *p,int n); /*文件存 盘*/ char password[8]="123321"; /*设置系统 管理员密码*/

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档