C语言课程设计实验报告-学生信息管理系统.rtf
《C语言课程设计实验报告-学生信息管理系统.rtf》由会员分享,可在线阅读,更多相关《C语言课程设计实验报告-学生信息管理系统.rtf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C报告人:09114115 孟凡超 指导老师:姜 林 报告日期:2009 年 12 月 26 日 语言程序设计实验报告C 语言程序设计实验报告2C语言课程设计实验报告1.设计目的:学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。试设计一学生信息管理系统,使之能提供以下功能:1.系统以菜单方式工作2.学生信息录入功能-输入3.学生信息浏览功能-输出4.查询、排序功能-算法按学号查询按姓名查询5.学生信息的删除与修改(可选项)2.总体设计:程序设计组成框图主菜单学生信息录入学生信息浏览信息查询学分查询姓名查询信息编辑信息添加信息删除信息编辑信息添加
2、信息删除C 语言程序设计实验报告3流程图case 4case 3case 2case 1结束N调用writeinfo()YFileopen()清屏判断 n0?n=1pr()输入选择 ch调用viewinfo()N=0调用pr2()ch开始Filesave()C 语言程序设计实验报告43.详细设计:1函数入口说明pr()输出主菜单pr2()输出检索菜单界面fileopen()文件操作:打开filesave()文件操作:保存editname(int n)编辑子菜单:对姓名编辑editage(int n)编辑子菜单:对年龄编辑editsex(int n)编辑子菜单:对性别编辑editbir(int
3、n)编辑子菜单:对出生年月编辑editadd(int n)编辑子菜单:对住址编辑edittel(int n)编辑子菜单:对电话进行编辑editemail(int n)编辑子菜单:对电子邮件地址编辑last(int n)显示翻页致末尾的信息edit(int n)信息编辑函数del(int n)删除信息的函数editpr(int n)输出编辑界面jsid()检索:按学号jsname()检索:按姓名writeinfo()录入、添加信息viewinfo()学生信息查看main()主函数2调用关系 3参数说明 editname(int n)、editage(int n)、editsex(int n)、e
4、ditbir(int n)、editadd(int n)、edittel(int n)、editemail(int n)、last(int n)、edit(int n)、del(int n)、editpr(int n)函数中的 n 都为检索中确定的学生数组下标。editpr(int n)editpr(int n)main()fileopen()filesave()pr()writeinfo()viewinfo()pr2()jsname()jsid()edit(int n)del(int n)edit(int n)(同上)del(int n)editsex(int n)editname(int
5、n)editbir(int n)editadd(int n)edittel(int n)editemail(int n)editage(int n)C 语言程序设计实验报告54.调试与测试:1调用pr2()函数(检索界面)一闪而过。解决方法:添加 getchar()语句使程序暂停。2无法有效的控制输出函数循环终止。解决方法:添加全局变量“stunum”,使用该全局变量来记录学生总数,从而控制输出循环的次数。3查询函数数据量过多时同时输出,先输出的内容无法查看,或需用户自行查看。解决方法:添加 getchar()语句使程序暂停,当用户按 Enter 时继续。4文件在打开和保存时有问题。解决方法:
6、调整文件的打开方式,从原来的单纯的 w+修改为添加一个 if 语句,当没有文件时执行 w+的操作,否则执行 r+。避免了原存储文件被覆盖的问题。C 语言程序设计实验报告65.源程序清单和执行结果:#include#include#include#includeint stunum=0;struct studentint id;char name30;int age;char sex2;char birthday9;char add80;char tel15;char email25;stu100;void pr()system(cls);printf(*学生信息管理系统*);printf(n-
7、V 1.0.0-);printf(n 您想要:);printf(n 1.录入学生信息);printf(n 2.浏览学生信息);printf(n 3.检索学生信息);printf(n 4.退出信息管理);printf(n-By 09114115 孟凡超-);printf(n*n);void pr2()void jsid();void jsname();int a;char ch;while(a)system(cls);printf(*学生信息管理系统*);printf(n-检 索-);printf(n 您想要:);printf(n 1.按学号检索);printf(n 2.按姓名检索);print
8、f(n 3.返回主菜单);printf(nn-By 09114115 孟凡超-);printf(n*n);ch=getchar();switch(ch)case 1:jsid();break;case 2:jsname();break;case 3:a=0;break;void fileopen()FILE*fp;int n;if(fp=fopen(data,r+)=NULL)fp=fopen(data,w+);for(n=0;n100;n+)fread(&stun,sizeof(struct student),1,fp);fread(&stunum,4,1,fp);fclose(fp);vo
9、id filesave()int n;FILE*fp;fp=fopen(data,r+);C 语言程序设计实验报告7for(n=0;n100;n+)fwrite(&stun,sizeof(struct student),1,fp);fwrite(&stunum,4,1,fp);fclose(fp);void editname(int n)printf(n 新姓名:);scanf(%s,stun.name);void editage(int n)printf(n 新年龄:);scanf(%d,&stun.age);void editsex(int n)printf(n 新性别:);scanf(%
10、s,stun.sex);void editbir(int n)printf(n 新出生年月);scanf(%s,stun.birthday);void editadd(int n)printf(n 新地址:);scanf(%s,stun.add);void edittel(int n)printf(n 新电话:);scanf(%s,stun.tel);void editemail(int n)printf(n 新 E-mail:);scanf(%s,stun.email);void last(int n)if(n=stunum)system(cls);/清屏printf(*学生信息管理系统*)
11、;printf(n-检 索-);printf(n 已检索到末尾。);printf(nPress any key to continue.);printf(nn-By 09114115 孟凡超-);printf(n*n);void edit(int n)char ch;int a=1,b;while(a)system(cls);printf(*学生信息管理系统*);printf(n-修 改-);printf(n 请输入你想修改的内容:);printf(n1.姓名 2.年龄 3.性别 4.出生年月 5.地址 6.电话 7.E-mailn);printf(nn-By 09114115 孟凡超-);p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 实验 报告 学生 信息管理 系统
限制150内