学生信息管理系统(1)-.pdf

上传人:索**** 文档编号:76443239 上传时间:2023-03-10 格式:PDF 页数:25 大小:1.88MB
返回 下载 相关 举报
学生信息管理系统(1)-.pdf_第1页
第1页 / 共25页
学生信息管理系统(1)-.pdf_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《学生信息管理系统(1)-.pdf》由会员分享,可在线阅读,更多相关《学生信息管理系统(1)-.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目录第一举课程设ti的目 的和要求.。第二掌课程设ti任务内容.1 2.1背景.2 2.2功能需求.2 第三举棋l饭设ti说明.3 3.1系统总框架.3 3.2主函数的流程怪.4 3.3录入学生信息.5 3.4查询学生信息.6 第四举软件使用说明及运行结果.7 4.1使用说明.7 4.2运行结果.8 第五举课程设ti心得与你会.9 附录l:参考文献.11 附录2:程序消单 .12 第一章课程设计的目的和要求C语言课程设计的主要目的是培养学生综合运用C语言程序设讨课程所学到的知识,编写C程序解决实际问题的能力,以及严谨的工25 作态度和良好的程序设计习惯。通过课程设i:I的训练,学生应该能够了解

2、程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。C+i善言程序设计的主要任务时要求学生遵循软件开发过程的基本规范,运用结构化程斤,设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C语言程序及编写设i:I报告。本课程设计的目标:1.巩固和加深学生对C谣言课程的基本知识的理解和掌握:2.掌握C语言编程和程序调试的基本技能:3.掌握利用C语言进行软件设训的方法:4.提高书写程序设计说明文档的能力;5.提高运用C语言解决实际问题的能力。基本要求:1.分析课程设计题目的要求;2.对系统功能模块i进行分析,写出详细设计说明文档;3.编写程

3、序代码,代码量要求不少于300行,调试程序使其能正确运行;4.设计完成的软件要便于操作和使用;第二章课程设计任务内容此次程序设i:I综合课程设计的任务内容是编写学生信息化管理系统。25 2.1背景随着学校的快速发展和在校学生的增多,学生管理工作变得越来越复杂,许,多i作非常繁琐,消税了大量的人力物力。比如学生档案管理,学生的姓名、出生年月等资料在做了修改后,可能在招办、学生科、财务科有同一个学生的几份不同档案材料,数据共卒性极差;有的学生欠费,财务部门也很难及时发现;有的学生中途变更学籍,给教学管理工作带来不便。2.2功能需求用C实现学生信息管理系统,学生信息包括:学号,姓名,性别,地址,出生

4、年月,电话,E-mail等。该系统主要有以下功能:1、系统以菜单方式工作:2、学生信怠录入功能(学生信息用文件保存)一输入:3、学生信息浏览功能一输出:4、学生信息查询功能一算法:按学号查询按姓名查询5、学生信息的删除与修改(可选琐)。本人承担的功能有:(1)、(2)、(4)。25 第三章模版设计说明3.1系统总框架学生信息管理系统退出程序删除学生信息修改学生信息查询学生信息浏览学生信息录入学生信息放旧字号查询倒3-1系统模块阁25 按姓名查询3.2主函数的流程圄开始初始化交最输出菜单输入操作标号录入学生信息浏览学生信息修改学生信息N N y 提示保存结束阁3-2主函数流程阁25 y 根据标号

5、执行相应的处理函数3.3录入学生信息输入函数:刷新此前的显示界丽,然后输入在执行上步操作后的显示界面开始输入学生学号、姓名该信息是否存在N 添加到文件结束阁3-3录入函数流程阁25 y 添加错误3.4查询学生信息查询函数:刷新此前的显示界丽,然后查询在执行上步操作后的显示界面开始输入学生学号或姓名是否存在N y 显示所查询学生信息结束隆I3-4查询函数流程阁25 第四章软件使用说明及运行结果4.1使用说明该程序可以实现对学生有关信息查找的功能,安装VisualC+6.。中文版后,在工具栏“文件”中单击“新述”逃项,单击“文件”菜单,选择“C+Source file,输入文件名“单项选择题标准化

6、考试系统”。开始输入程序,程序输入完成,单击“组建”工具栏,选择“编译简化学生信息管理系统cppl”,待程序无误后,开始执行程序。根据数据结构、函数功能和主要的流程图,进行录入仰、代码操作。在编码时,注意代码的书写规范,包括命名惯例、注释、分隔和缩边等,这样使程序层析清晰,增强可读性和可维护性。编码操作完成后,先静态检查一下有没有语法错误,然后进行编译,更深一步检查语法错误。待编译通过时,运行程序,观察是否能够正常运行,如果有问题,再去修改i旅程序,直至达到了预期的效果。25 4.2运行结果倒4-1*ll!序截悔一士大二:iQ:1)Cc!王目丁二字1导王:主f言.g:F_ce军主充mu 1年工

7、飞歹干t乞TB寸lE|-2刷刷9,:4 飞百歹1;t,tf十二二、?白,1习主干:当土f吉恩?毛UQ ifiT f吉恩丰l七IJ芒吁白01f言冉.-十女斗于自气问十交时与辜百斗卡仁宇工j青主样;单表忏信E宁、4一f轩亘古JraE忏信到J均宫女吨附王时川西吨业际但246HKM咀口主嗣?如同ih21 HH8 1生:咔半坦克亘口甘旧1士E1川HEH扣tx2tf、封Et(UE川山川47车白白兰言:于,(量.:;.盯倒4-2程序截民二25 地学习它,通过实践,我也发现我的好多不足之处,首先是自己编程粗心大意,经常出锚,通过学习也有所改进;再有对C语言的一些标准函数不太了解,还有对函数调用的正确使用不够熟

8、悉,以及对C+语言中经常出现的错误也不了解,通过实践,使我在这几个方丽的认识有所提高。这次的课程设让我认识到很多C的内在要素:1.程序设计语言是程序设计的工具。这是我通过两周课程设i:I深深体会的一点,并且发现如果想有效的进行程序设计,正确地应用程序设i:I语言表达算法,必须准确的运用程序设i:I语言,掌握其谱法知识。2.学习程序设计必须重视时间环节,多读程序,多编写程序,多上机实践。这次的课程设计就使得课堂教学、式样和实践之间的关系更为紧密。对我的学习有着很深远的影响。3.我发现作为一个程序设计人员,需要掌握面向过程的程序设计,也要掌握面向对象的程斥,设计。从前,人们通过C语言学习丽向过程的

9、程序设计,再通过C学习面向对象的程序设计。其实C并不是纯粹的丽向对象的语言,它是一种混合语言。学习C既可以编写面向过程的程序,也可以编写丽向对象的程序。这一点是我通过可课程设计所的实践发现的。4.深切的感受到了。语法的复杂,内容的繁多。发现如果对它缺乏系统的了解,将难以真正的运用,编出来的程序错误百出。25 附录1:参考文献 1、谅浩强编著:C程序设计,北京:清华大学出版社,20042、(美)戴特尔(Deitel,H.M.)等编著,张引等译:C大学基础教程(第五版),北京:电子工业出版社,2006.6 3、夏云庆编著:VisualC+6.0数据库高级编程,北京:希望电子出版社20024、伍俊良

10、编著:VisualC+6.0课程设i-1与系统开发案例,北京:清华大学出版社,2002.11 25 附录2:程序清单以下是学生信息管理系统的源代码:llinclude llinclude llincludestring)llincludecif(!(c=yI lc=Y)continue;else n=O:head=create O;25 Hfi lename:head=imp。rt(filename,head),system(npausen);break:case3:c。Ut气n您想删除哪个学生的信息?输入该学生的学号:cinnum:head=del(head,num),system(npau

11、sen);break:case4:c。ut”i宵输入新增学生的姓名、班级、学号、成绩、性别、出生年月、电话、E-mail:nnewStu.name:cinnewStu.Class:c1nnewStu.numcinnewStu.score:head=insert(head,&newStu),system(”pausen);break;case5 print(head),system(”pausen);break;case6.25 c。Ut气者输入到I级:endl;cinClass:inquire(head,Class).system(N pausen);break:case7 c。Ut气管输入学

12、号:endl;cinnum:inquire(head,num).system(”pausen);break:case8.average(head);system(npausen);break:case9:head=rank(head);system(”pausen);break:casek c。Ut气清输入文件名:Hcinfilename:save(head,filename).system(”pausen);break:case c system(飞ls),welc。meO.break:case q qu1t=true,break:default:c。UtN输入错误!endl;if(quit

13、)break:25 退出时提示保存c。UtHf0.想保存这些信息吗?(Y/N)H;cinc.if(c=y11 c)couti宵输入文件名,cinfilename:save(head,fi lename);return O;欢迎界而void welc。meOc。utendlN欢迎使用简易学生信息管理系统1气endlHjjlf作人齐俊时间:2009-12-4气endlH*Hendlendl;菜单void menu()c。utseti。sflags(i。s:left);c。UtHnn您要做什么?endlsetw(20)pl-)name;if(pl-)n础e、)break:cout班级 cinpl-)

14、Class;cout学号,cinpl-)num;d。c。ut”成绩:H;cinpl-)sc。re;if(pl-)scorelOO)c。ut分数错误请重新输入气endl;err。r=true;else err。r=falsewhile(error),n+;if(n=l)head=pl;pl-next=NULL;25 else p2-)next=pl,pl-next=NULL;c。utN输入约束!endl;return head:输出信息void print(Student*head)Student*p=head;if(p!=Nl儿L)coutsetw(15)H姓名setw(13)Hlj)级set

15、w(lO)N学号setw(7)N分数endl;d。c。Utsetw(15)p-)namesetw(13)p-)Classsetw(lO)numnext!=NULL)p2=pl.pl=pl-next;if(pl-)num!=num)else cout找不到该学生!endl;return head if(pl=head)head=pl-next,else p2-next=pl-next;cout成功删除学号为num的学生!endl;n-;return head;插入信息Student*insert(Student*head,Student*stu)Student*pO,*pl;pl=head;pO

16、=stu;if(head=NlJLL)head=pO;pO-next=Nl儿L.else wh i 1 e(p 1-)next!=tlJLL)if(pO-num=p 1-num)25 c。ut学号为pO-numH的学生已存在!endl;return head pl=pl-next,pl-next=pO;pO-next肌儿L;n+;c。UtN成功插入信息!气endl;return head:保存到文件VO主dsave(Student*head,char filename)Student*p=head;b。lflag=false;if(head=NULL)cout没有可以衍、存的信息!气endl;

17、return;else fstream。utfile(filename,ios:.。ut);if(!。utfile)c。UtN打开数据文件出辛苦!endl;return;。1JU,1 if(flag)。utfileendl.。utfilep-n酬e气tHp-Class怡p-numtp-sc。re;flag=true;25 p=p-)next;whi le(p!肌几L);。utfile.close O,cout衍、存成功!保存$1filenameendl;核班级查询void inquire(Student*head,string Class)b。lfla.g=true;Student*p=hea

18、d;int t。tal=O:if(p=NULL)cout信!J、为空!气endl;return;。、,AU,田、if(p-)Class=Class)if(flag)c。ut班级为ClassNalJ学生有:.num=num)if(flag)c。ut”学号是num的学生是:endl;c。utsetw(l5)姓名气setw(13)班级setw(7)H分数endl;flag=false;c。utsetw(15)p-)namesetw(13)p-)Classsetw(7)p-)sc。reendl return;p二p-)next,while(p!也电JLL);c。UtN查无此人!endl;求平均值v。i

19、daverage(Student*head)Student*p=head;fl。atsum=O:if(head=llliLL)cout信息为空!气endl;return;25。lIAU,田、sum+=p-)score;p=p-)next,wh i 1 e(p!=!1JLL);c。utN平均成锁是sum/nendl;从文件导入Student*imp。rt(char f ilename,Student*head)ifstream infile infile.open(filename,i。s:in);if(!inf ile)cout打开文件失败!endl;return head head=Nl几L

20、n=O:Student*pl.Student*p;while(!inf i le.eof()p=new Student;if(n=l)pl-next=p;infilep-)namep-)Classp-)nump-)score;p-)next=NULL;if(n=O)head=p;pl=p;n+;infile.cl。seO;c。ut.!入成功!endl;return head:25 饺成绩排序Student*rank(Student*head)if(head阳LL)cout没有信息1气endl;return head 1nt m=O;fl。atmax sc。re;Student*P,*pl;St

21、udent*p2=NULL;Student*head2;pl=p=head;己排好的个数分数最大值!京链表指针新链表指针新链表头指针while(true)pl=p=head;max sc。re=head-sc。re:d。寻找原链表中的最高分1f(p-)scorem出score)max_sc。re=p-)sc。re;p=p-)next;while(p!肌几L);p=head;d。if(p-)sc。re=max_sc。re)if(p=head)head=p-)next,else pl-next=p-)next;寻找段高分的学生if(m=O)第一个最高分head2=p;p2=p;25 else if(m=l)p2-next=p;p2=p;p2-next=NULL;mt+;break;在新链表中的操作pl=p;p=p-next;/pl尾随着pwhi le(p!肌几L);if(head=Nl几L)break:当原链表为空时结束c。UtN成绩从高到低排序完毕1气endl;return head2:25

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

当前位置:首页 > 技术资料 > 实施方案

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

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