C课程设计报告--班级档案管理系统779.pdf

上传人:深夜****等你... 文档编号:75098595 上传时间:2023-03-01 格式:PDF 页数:47 大小:1.86MB
返回 下载 相关 举报
C课程设计报告--班级档案管理系统779.pdf_第1页
第1页 / 共47页
C课程设计报告--班级档案管理系统779.pdf_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《C课程设计报告--班级档案管理系统779.pdf》由会员分享,可在线阅读,更多相关《C课程设计报告--班级档案管理系统779.pdf(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 C 课程设计报告-班级档案管理系统 2 课 程 设 计 报 告 课程名称 C 语言课程设计 课题名称 班级档案管理系统 专 业 班 级 学 号 姓 名 指导教师 2014 年 01 月 06 日 3 湖南工程学院 课 程 设 计 任 务 书 课程名称 C 语言课程设计 课 题 班级档案管理系统 专业班级 纺织工程 学生姓名 学 号 指导老师 田媛 审 批 任务书下达日期 2013 年 12 月 26 日 任务完成日期 2014 年 01 月 06 日 4 一、设计内容与设计要求 1设计内容:课题二:班级档案管理系统。具体内容见附录。2设计要求:1)设计正确,方案合理。2)界面友好,使用方便。

2、3)程序精炼,结构清晰。4)上机演示。3设计报告要求:课程设计报告格式如下:1)正文的格式:一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为 22。2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需 5000 字左右(不含附件)。3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。二、进度安排 星期日(17 周)星期一(18 周)星期四(18 周)星期五(18 周)星期日(18 周)14:00-17:00 18:00-21:00 18:00-21:0

3、0 18:00-21:00 交报告 上课时间另外安排。5 附录:设计课题二:班级档案管理系统 一、问题描述:该系统实现对该班级学生的档案信息进行管理,包括录入、显示、修改、删除、查询、排序、保存等操作。二、功能要求:1、本系统采用结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、民族、备注。2、系统功能:a.信息录入:即添加记录。b.信息显示:以某种方式显示学生的信息,如按学号显示、按性别显示、按年龄顺序显示、只显示男生或女生等等多种形式显示。(要求至少有一种显示方式,不限于已列出的方式。)c.信息修改:对已经输入的信息进行修改。d.信息删除:删除某个学生记录。e.学生基本信息查询:

4、输入学号或姓名,显示其完整信息。f.信息保存:当添加、修改、删除信息后,应该将其存入文件。g.退出系统 3、系统使用说明:执行一个具体的功能之后,程序将重新显示功能菜单。系统的功能并不限于上述,可以对其进行扩充完善,如在对信息进行修改和删除时,可以考虑系统的安全性,在执行前若输入正确密码,才可进行操作。三、测试数据:学生人数=20。6 目 录 1 系统需求分析.7 2 概要设计.7 3 详细设计.8 4 系统测试.20 5 课程设计总结.23 7 1 系统需求分析 学生档案管理系统主要管理学生档案的基本信息。在系统中,每个用户是一条记录,包括学号、姓名、性别、年龄、备注。系统要对一个有 N 个

5、用户的档案统一进行管理。包括了学生信息的录入、删除、修改、查询、插入等操作。本系统主要采用链表,结构体和函数来实现这些基本功能,而且能提供不同方式的查询功能,对学生信息的操作逐个地进行。2 概要设计 系统功能模块图:各函数的主要功能:主函数:void main()录入函数:void enter()显示函数:void list()/*直接显示学生信息*/保存函数:void save()/*保存学生信息*/插入函数:insert()修改函数:void revise()/*修改录入的学生信息*/删除函数:void delete()/*删除录入的学生信息*/排序函数:void sort()/*排序录入

6、的学生信息*/查找函数:void qseek()/*查找录入的学生信息*/学生档案管理系统 录入 显示 保存 修改 插入 删除 排序 退出 8 读取函数:int load()/*读取保存在文件中的学生信息*/3 详细设计 3.1 程序中的模块机使用功能 模块一:头文件,变量定义,函数的声明 对系统所使用的变量进行定义,对函数进行声明 模块二:学生信息的录入 int enter(STUDENT t)录入学生的基本信息。模块三:学生信息的显示 void list(STUDENT t,int n)就是把学生的基本信息显示在电脑上。模块四:学生信息的保存 void save(STUDENT t,int

7、 n)就是在把学生基本信息的保存下来。模块五:学生信息的修改 void revise(STUDENT t,int n)插入学生信息。模块六:学生信息的插入 int insert(STUDENT t,int n)修改已经录入的学生信息 模块七:学生信息的删除 int delete(STUDENT t,int n)删除录入的学生信息 模块八:学生信息的排序 void sort(STUDENT t,int n)排序录入的学生信息 模块九:学生信息按姓名查找 void qseek(TSTUDENT t,int n)查找录入的学生信息 模块十:学生信息的读入 int load(STUDENT t)读取保

8、存在文件中的学生信息 模块十一:退出系统 3.2 主菜单 主菜单部分,用来提醒用户需要选择哪些功能。这部分是来通过一个 9 无限循环来执行上述所有的功能模块,不断的输出菜单项目,用 switch 语句来执行用户选择的功能模块,每一个 case 后面就是对应的功能函数。如果用户选择输入的数字范围不在 1-9 的范围之内,系统会返回主菜单界面,重新输入。menu_select()/*主菜单函数*/char s80;int c;printf(press any key enter menu.n);printf(*MENU*nn);printf(1.学生基本信息录入n);printf(2.学生基本信息

9、显示n);printf(3.学生基本信息保存 n);printf(4.学生基本信息修改n);printf(5.学生基本信息插入 n);printf(6.学生基本信息删除n);printf(7.学生基本信息排序n);10 printf(8.学生基本信息查询n);printf(9.退出系统);printf(*n);do printf(n Enter you choice(19):);scanf(%s,s);c=atoi(s);while(c9);return c;3.3 录入 通过选择功能函数 1 后,屏幕会出现指示,要求依次输入姓名、学号、性别等,输完之后系统会自动返回主菜单界面,如果想继续输入

10、学生信息就输入数字键 1 继续输入。int enter(STUDENT t)/*录入函数*/int i,n;11 printf(nplease input num n);scanf(%d,&n);printf(please input record n);printf(name no sex wYears remarkn);printf(-n);for(i=0;in;i+)scanf(%s%s%s%d%s,ti.name,ti.no,ti.sex,&ti.wYears,ti.remark);printf(-n);return n;3.3 显示 输出学生基本信息模块的主要功能是用来对学生基本信息

11、进行输出。在系统已经录入了学生基本信息的前提下,使用该功能可以显示所有学生 12 的基本信息。具体包括姓名,学号,性别等。在查看学生基本信息后,按enter 就可以返回到主菜单。void list(STUDENT t,int n)/*显示函数*/int i;printf(nn*TEACHER*n);printf(name no sex wYears remarkn);printf(-n);for(i=0;i=i;j-)strcpy(tj+1.name,tj.name);strcpy(tj+1.no,tj.no);strcpy(tj+1.sex,tj.sex);tj+1.wYears=tj.wY

12、ears;15 strcpy(tj+1.remark,tj.remark);strcpy(ti.name,temp.name);strcpy(ti.no,temp.no);strcpy(ti.sex,temp.sex);ti.wYears=temp.wYears;strcpy(ti.remark,temp.remark);n+;return n;3.5 查找 按学号查找并删除模块的主要功能是用来删除学生基本信息的。在系统保存学生基本信息的前提下,想删除某学生的基本信息,就可以输入学生学号,系统查找该学生资料后,就可以删除了。可以及时对系统进行更新,删除一些没用的信息,可以使系统更加优化。voi

13、d search(STUDENT t,int n)char s20;int i;printf(please search namen);scanf(%s,s);16 i=find(t,n,s);if(in-1)printf(not foundn);else print(ti);3.6 修改 按学生学号查找并修改模块的主要功能是用来修改学生基本信息的。在系统保存了某学生的基本信息的前提下,想要查找该学生的基本信息,可以该学生的学号,系统就会显示该学生的基本信息,这样根据提示修改学生的基本信息。int revise(STUDENT t)int i,n;printf(nplease input nu

14、m n);scanf(%d,&n);printf(please input record n);printf(name no sex wYears remarkn);printf(-17-n);for(i=0;in-1)printf(no found not deletedn);else print(ti);printf(Are you sure delete it(1/0)n);scanf(%d,&ch);if(ch=1)for(j=i+1;jn;j+)strcpy(tj-1.name,tj.name);strcpy(tj-1.no,tj.no);strcpy(tj-1.sex,tj.sex

15、);tj-1.wYears=tj.wYears;strcpy(tj-1.remark,tj.remark);n-;19 return n;3.8 保存退出 保存并退出模块主要功能是用来储存学生资料。在对系统进行一系列操作,比如添加、删除、修改学生基本信息后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。void save(STUDENT t,int n)int i;FILE*fp;/*定义指针*/if(fp=fopen(record.txt,wb)=NULL)/*打开文件*/printf(can not open filen);exit(1);printf(nSaving file

16、n);fprintf(fp,%d,n);fprintf(fp,rn);20 for(i=0;in;i+)fprintf(fp,%-20s%-20s%-20s%-40d%-10s,ti.name,ti.no,ti.sex,ti.wYears,ti.remark);fprintf(fp,rn);fclose(fp);/*关闭文件*/printf(*save success*n);4 系统测试 4.1 菜单显示 主菜单 界面信息中包含九个功能:录入,显示,保存,修改,插入,删除,排序,查询,退出系统。根据界面提示选择需要的功能。选择功能 1 学生基本信息的录入,输入序号 1 开始开始录入学生基本信息

17、。如下图所示。21 学生信息的修改 学生基本信息保存后可以根据提示继续选择功能,如图所示是学生基本信息的修改,依据提示完成学生基本信息的修改。学生基本信息的删除 学生基本信息的删除根据系统的提示键入数字键 6,进入学生基本信息的删除,键入你所需要删除的学生姓名,出现该学生的信息,根据提示键 22 入数字键 1 选择删除学生基本信息,键入数字键 0 选择不删除学生基本信息。学生基本信息的保存 选择功能 3 学生基本信息的保存,系统会显示保存成功。如下图所示:23 5 课程设计总结 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具

18、体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次学生档案管理课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力

19、和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次课程设计之后,一定把以前所学过的知识重新温故。24 附录:#include stdio.h#include stdlib.h#include string.h#define M 50 typedef struct char name20;char no20;char sex20;int wYears;char remark20;STUDENT;25 int enter(STUDENT t);

20、void list(STUDENT t,int n);void save(STUDENT t,int n);int revise(STUDENT t,int n);int insert(STUDENT t,int n);int delete(STUDENT t,int n);void sort(STUDENT t,int n);void qseek(STUDENT t,int n);void print(STUDENT temp);int find(STUDENT t,int n,char*s);int menu_select();main()STUDENT studentM;int leng

21、th;for(;)26 switch(menu_select()case 1:length=enter(student);break;case 2:list(student,length);break;case 3:save(student,length);break;case 4:revise(student,length);break;case 5:length=insert(student,length);break;case 6:length=delete(student,length);break;case 7:sort(student,length);break;case 8:qs

22、eek(student,length);break;case 9:exit(0);menu_select()char s80;int c;27 printf(press any key enter menu.n);printf(*MENU*nn);printf(1.学生基本信息录入n);printf(2.学生基本信息显示n);printf(3.学生基本信息保存 n);printf(4.学生基本信息修改n);printf(5.学生基本信息插入 n);printf(6.学生基本信息删除n);printf(7.学生基本信息排序n);printf(8.学生基本信息查询n);printf(9.退出系统)

23、;printf(*n);do printf(n Enter you choice(19):);scanf(%s,s);28 c=atoi(s);while(c9);return c;int enter(STUDENT t)int i,n;printf(nplease input num n);scanf(%d,&n);printf(please input record n);printf(name no sex wYears remarkn);printf(-n);for(i=0;in;i+)scanf(%s%s%s%d%s,ti.name,ti.no,ti.sex,&t 29 i.wYea

24、rs,ti.remark);printf(-n);return n;void list(STUDENT t,int n)int i;printf(nn*TEACHER*n);printf(name no sex wYears remarkn);printf(-30-n);for(i=0;in-1)printf(not foundn);else print(ti);void print(STUDENT temp)printf(nn*TEACHER*n);printf(name no sex wYears remarkn);printf(-n);32 printf(%-20s%-20s%-20s%

25、-10d%-10sn,temp.name,temp.no,temp.sex,temp.wYears,temp.remark);printf(*end*n);int find(STUDENT t,int n,char*s)int i;for(i=0;in-1)printf(no found not deletedn);else print(ti);printf(Are you sure delete it(1/0)n);scanf(%d,&ch);if(ch=1)for(j=i+1;j=i;j-)strcpy(tj+1.name,tj.name);strcpy(tj+1.no,tj.no);st

26、rcpy(tj+1.sex,tj.sex);tj+1.wYears=tj.wYears;strcpy(tj+1.remark,tj.remark);strcpy(ti.name,temp.name);36 strcpy(ti.no,temp.no);strcpy(ti.sex,temp.sex);ti.wYears=temp.wYears;strcpy(ti.remark,temp.remark);n+;return n;void save(STUDENT t,int n)int i;FILE*fp;if(fp=fopen(record.txt,wb)=NULL)printf(can not

27、open filen);exit(1);printf(nSaving filen);fprintf(fp,%d,n);fprintf(fp,rn);37 for(i=0;in;i+)fprintf(fp,%-20s%-20s%-20s%-40d%-10s,ti.name,ti.no,ti.sex,ti.wYears,ti.remark);fprintf(fp,rn);fclose(fp);printf(*save success*n);int load(STUDENT t)int i,n;FILE*fp;if(fp=fopen(record.txt,rb)=NULL)printf(can no

28、t open filen);exit(1);38 fscanf(fp,%d,&n);for(i=0;i=0&idn)fseek(fp,(id-1)*sizeof(STUDENT),1);print(tid);printf(rn);else printf(no%d number recordn,id);fclose(fp);void sort(STUDENT t,int n)int i,j,flag;STUDENT temp;for(i=0;in;i+)40 flag=0;for(j=0;j0)flag=1;strcpy(temp.name,tj.name);strcpy(temp.no,tj.

29、no);strcpy(temp.sex,tj.sex);temp.wYears=tj.wYears;strcpy(temp.remark,tj.remark);strcpy(tj.name,tj+1.name);strcpy(tj.no,tj+1.no);strcpy(tj.sex,tj+1.sex);tj.wYears=tj+1.wYears;strcpy(tj.remark,tj+1.remark);strcpy(tj+1.name,temp.name);strcpy(tj+1.no,temp.no);strcpy(tj+1.sex,temp.sex);tj+1.wYears=temp.w

30、Years;strcpy(tj+1.remark,temp.remark);41 if(flag=0)break;printf(sort sucessn);void qseek(STUDENT t,int n)char s20;int l,r,m;printf(nPlease sort before qseek!n);printf(please enter name for qseekn);scanf(%s,s);l=0;r=n-1;while(l=r)m=(l+r)/2;if(strcmp(tm.name,s)=0)print(tm);return;42 if(strcmp(tm.name,

31、s)r)printf(not foundn);int revise(STUDENT t)int i,n;printf(nplease input num n);scanf(%d,&n);printf(please input record n);printf(name no 43 sex wYears remarkn);printf(-n);for(i=0;in;i+)scanf(%s%s%s%d%s,ti.name,ti.no,ti.sex,&ti.wYears,&ti.remark);printf(-n);return n;void copy()char outfile20;44 int

32、i,n;STUDENT tempM;FILE*sfp,*tfp;if(sfp=fopen(record.txt,rb)=NULL)printf(can not open filen);exit(1);printf(Enter outfile name,for example c:f1te.txt:n);scanf(%s,outfile);if(tfp=fopen(outfile,wb)=NULL)printf(can not open filen);exit(1);fscanf(sfp,%d,&n);fprintf(tfp,%d,n);fprintf(tfp,rn);for(i=0;in;i+

33、)45 fscanf(sfp,%20s%20s%20s%40d%10cn,tempi.name,tempi.no,tempi.sex,tempi.wYears,&tempi.remark);fprintf(tfp,%-20s%-20s%-20s%-40d%-10sn,tempi.name,tempi.no,tempi.sex,tempi.wYears,tempi.remark);fprintf(tfp,rn);fclose(sfp);fclose(tfp);printf(you have success copy filen);46 计算机科学与技术系课程设计评分表 课程名称:C 语言程序设计 项 目 评 价 设计方案的合理性与创造性 设计与调试结果 设计说明书的质量 答辩陈述与回答问题情况 课程设计周表现情况 综合成绩 47 教师签名:日 期:2014.01.10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁