学生综合信息管理系统课程设计.doc_第1页
学生综合信息管理系统课程设计.doc_第2页
学生综合信息管理系统课程设计.doc_第3页
学生综合信息管理系统课程设计.doc_第4页
学生综合信息管理系统课程设计.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计课程设计报告学生综合信息管理系统姓 名:李昆班 级:10计科1班学 号:101210130指导教师:鲁书喜成 绩:完成时间:2011年6月20日完成地点:平顶山学院目 录一、设计题目(问题)描述和要求二、系统分析与模块设计三、系统设计 1、系统总体框架 2、类的层次图 3、系统关键算法流程图 4、源程序清单(见附录)四、系统测试及结果五、小节附录:源程序一、设计题目(问题)描述和要求设计四个类:学生类(描述学生基本信息)、成绩类、班级类、课程类(描述课程信息:课程编号、科目名称(如高等数学,大学英语等)、学生成绩及课程信息用文件保存,每个类一个文件,程序执行时从文件读入。要求: 按学期,按班级完成对学生成绩的录入、修改; 按班级统计学生的成绩; 求学生的总分及平均分; 根据学生的平均成绩进行排序; 查询学生成绩; 显示不及格科目及学生名单;按班级输出学生的成绩 二、系统分析与模块设计1、系统介绍根据问题描述和要求,此系统是利用c+实现。包括:1、添加学生的信息(需输入要增加学生的所有信息);2、按照学号查找到学生的成绩,若找到则输出该学生的全部信息,否则输出查找不到的提示;3、删除学生信息(需指出删除的学生学号,同时显示删除后的结果);4、添加学生的信息,插入新学生的所有信息并对其进行综合排序;5、修改学生信息;6、根据学生成绩进行排序。通过这几个模块实现对学生信息的自动化操作。2、功能模块(1)建立学生类:输入数据完成对学生信息的存储;(2)增加学生信息:把学生信息添加到整个信息系统中,用以完成对学生的统一管理;(3)修改学生信息:在学生信息输入或调试时有可能出现偶然性错误,该模块对学生信息中出现的错误进行修正;(4)删除学生信息:该模块把这些学生的信息从系统中删除,以便清除系统中的没用信息;(5)按学号查询学生信息:通过该模块用户可以查询学生相关信息,及时、快速、准确的调出自己想要的信息;(6)输出所有学生成绩:将学生成绩调度出来,以供浏览;(7)按总分高低排序:学生信息可能太多或太乱,这需要按照某种规定把信息进行排序;(8)保存文件:对文件进行保存;(9)退出系统。 学生综合信息管理系统查询学生信息保存文件按总分高低排序输出学生信息输入学生信息建立学生类删除学生信息修改学生信息增加学生信息三、系统设计1、系统关键算法流程图在信息管理系统中,用户通过点击相应的连接,连接到成绩管理系统。经过系统的认证以后,进入成绩管理主页面。2、代码设计和截图(1)主菜单(2)输入数据(3)增加学生信息5、源程序(见附录)四、系统测试及结果1、调试分析 (1)刚编译完后有好多错误和警告,运行失败,然后经过修改错误警告慢慢减少,最终可以运行。并且在最后成功后发现单个学生信息涉及太少,又不得不重新调试。 (2)我在编译的过程中发现自己存在好多毛病,对于类的建立和运用还不是太好,也不得心应手,以至于在编写源程序方面花了很长时间,另外不注意细节,以后我会注意。五、小节本系统实现了学生管理系统所需的各项功能,完成了登陆、添加、插入、修改、查询浏览等项功能。本系统的重点是利用所学知识解决生活中的实际问题,着重介绍了设计一个有实际应用价值的系统。经过连续几天的课程开发,我学到了很多东西:巩固和加深了对的理解,提高了我对面向对象程序设计运用的熟练程度和综合运用本课程所学知识的能力。培养了我选用参考书,查阅手册及文献资料和充分利用网络资源的能力。培养独立思考,深入研究,分析问题、解决问题的能力。通过实际编译系统的分析设计、编程调试,问题考虑,接触掌握了应用软件的分析方法和工程设计方法。另外,在程序调试过程中,也得到几位学长的指点,给我及时指出错误,提出许多宝贵意见。在此对老师,同学,学长们表示感谢!附录:#include#include#include#include#include class student private: char name4; /姓名 char xibie8; char banji4; double cpro,english,math,sport,computer,allscore,average;/课程 int order, number; /名次,学号 public: student() student(char n4,int nu,double cc,double eng,double ma,double sp,double com,double as,double av) strcpy(name,n); number=nu; cpro=cc; english=eng;math=ma;sport=sp;computer=com;allscore=as;average=av; friend void main(); ;void main() double allscore; double average; cout 欢迎使用学生管理系统endl; cout *endl; cout * 学生成绩管理系统 *endl; cout *endl; cout 0、输入数据 endl; cout 1、增加数据 endl; cout 2、修改数据 endl; cout 3、删除学生的信息 endl; cout 4、按姓名查询 endl; cout 5、按学号查询 endl; cout 6、输出所有学生成绩 endl; cout 7、按总分高低排序 endl; cout 8、保存文件 endl; cout 9、退出系统 endl; cout =endl; cout 选择0-9数字进行操作endl; cout =制作人:李昆=p;if(p=0&p=9) flag=1;else cout 指令错误!请重新输入:endl; while(flag=0);do switch(p) /接收功能选项 case 0: /输入数据 char c; char name4;int number;char xibie8;char banji4;double cpro,english,math,sport,core,computer; do coutendlname; coutendlnumber; coutendlxibie; coutendlbanji; coutendlcpro; coutendlenglish; coutendlmath; coutendlsport; coutendlcomputer; coutendl; allscore=cpro+english+math+sport+computer; cout 总成绩:allscoreendl; average=(cpro+english+math+sport+computer)/5; cout 平均成绩:averageendl; filej=new ofstream(d:student.dat,ios:ate); *filej 姓名 name 学号 number c+成绩 cpro 英语成绩 english 高数成绩 math 体育成绩 sport 电脑成绩 computer总成绩allscore平均成绩endl; j+; si= student(name, number,cpro,english,math,sport,computer,allscore,average); i+; coutc; coutendl;do if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; else flag=1; while(flag=0); while(c=y);break; case 1: /增加数据 char name20; int number;double cpro,english,math,sport,computer; char c; do coutname; coutendlnumber; coutendlcpro; coutendlenglish; coutendlmath; coutendlsport; coutendlcomputer; coutendl; allscore=cpro+english+math+sport+computer; cout 总成绩:allscoreendl; average=(cpro+english+math+sport+computer)/5; cout 平均成绩:averageendl; filej=new ofstream(d:student.dat,ios:ate); *filej 姓名 name 学号 number c+成绩 cpro 英语成绩 english 高数成绩 math 体育成绩 sport 电脑成绩 computer 总成绩 allscore 平均成绩 averageendl; j+; si= student(name, number,cpro,english,math,sport,computer,allscore,average); i+; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y); break; case 2: /修改数据 char name20;int nu;double cc,eng,ma,sp,l,hb,com,as,av;flag=0; char c; if(i=0) cout系统中找不到这个学生; do coutname; coutendl; for(int h=0;hi;h+) /h纪录要修改学生的位置 if(strcmp(name,)=0) flag=1; coutnu; coutendlcc; coutendleng; coutendlma; coutendlsp; coutendlcom; as=cc+eng+ma+sp+com; coutendl 总成绩:as; av=as/5; coutendl 平均成绩:av; coutendl; sh.cpro=cc; sh.english=eng; sh.math=ma; sh.sport=sp; sh.number=nu; cout 数据修改成功!endl; if(flag=0) cout 您要修改的学生本来就不存在!请检查重新输入!endl; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y); break; case 3: coutm; for(int a=0;ai;a+) if(strcmp(,m)=0) int w; w=a; for(w;wi;w+) sw=sw+1; i=i-1; cout 删除成功!endl; break; case 4: /按姓名查询 char n20;int j=0;char c; if(i=0) cout 管理系统中没有输入数据!endl;break; do int flag=0; coutn; coutendl; for(int j=0;ji;j+) if(strcmp(n,(sj).name)=0) flag=1; cout 您要查询的学生是:(sj).nameendl; cout(sj).name的成绩是: c+: (sj).cpro 英语: (sj).english 高数:(sj).math 体育:(sj).sport 电脑 (sj).computer 总成绩(sj).allscore 平均成绩(sj).averageendl; if(flag=0) cout 对不起!您要查询的学生不存在!endl; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y); break; case 5: /按学号查询 int n,j=0;char c; if(i=0) cout 管理系统中没有输入数据!endl;break; do int flag=0; coutn; coutendl; for(int j=0;ji;j+) if(sj.number=n) flag=1; cout 您要查询的学生是:(sj).nameendl; cout(sj).name的成绩是: c+:(sj).cpro 英语:(sj).english 高数:(sj).math 体育:(sj).sport 电脑: (sj).computer总成绩:(sj).allscore平均成绩:(sj).averageendl; if(flag=0) cout 对不起!您要查询的学生不存在!endl; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y); break; case 6: /输出 cout 本系统所有学生数据如下:endl; if(i=0) cout 管理系统中没有输入数据!endl; cout姓名 学号 c+ 英语 高数 体育 电脑 总成绩 平均成绩 endl; for(int k=0;ki;k+) setw(7)sk.numbersetw(4) (sk).cprosetw(5)(sk).englishsetw(5) (sk).mathsetw(4)(sk).sportsetw(5) (sk).computersetw(6) sk.allscoresetw(10)(sk).averagesetw(7)endl; break; case7: student temp; for(int t=0;ti;t+) for(int k=t+1;ki;k+) while (st.allscoresk.allscore) temp=st; st=sk; sk=temp; coutyn; while(yn!=y&yn!=n) coutyn; if(yn=y) cout所有学生的成绩按总分从高到低的排名是:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论