学生成绩管理系统C++课程设计任务书_第1页
学生成绩管理系统C++课程设计任务书_第2页
学生成绩管理系统C++课程设计任务书_第3页
学生成绩管理系统C++课程设计任务书_第4页
学生成绩管理系统C++课程设计任务书_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、 面向对象程序设计实践课程实习学生姓名曾庆勋所在专业计算机科学与技术所在班级1132任课老师陈有英实习时间2014年 6月 1 日目录 TOC o 1-3 h z u HYPERLINK l _Toc388960316 内容摘要 PAGEREF _Toc388960316 h 3 HYPERLINK l _Toc388960317 系统需求分析 PAGEREF _Toc388960317 h 3 HYPERLINK l _Toc388960318 目的与意义 PAGEREF _Toc388960318 h 3 HYPERLINK l _Toc388960319 系统分析 PAGEREF _To

2、c388960319 h 4 HYPERLINK l _Toc388960320 总体设计 PAGEREF _Toc388960320 h 4 HYPERLINK l _Toc388960321 功能分析 PAGEREF _Toc388960321 h 4 HYPERLINK l _Toc388960322 系统功能模块图 PAGEREF _Toc388960322 h 5 HYPERLINK l _Toc388960323 详细设计 PAGEREF _Toc388960323 h 6 HYPERLINK l _Toc388960324 类层次图 PAGEREF _Toc388960324 h

3、 6 HYPERLINK l _Toc388960325 各功能模块实现 PAGEREF _Toc388960325 h 6 HYPERLINK l _Toc388960326 系统实现 PAGEREF _Toc388960326 h 17 HYPERLINK l _Toc388960327 实习总结与体会 PAGEREF _Toc388960327 h 21 HYPERLINK l _Toc388960328 参考文献 PAGEREF _Toc388960328 h 22 HYPERLINK l _Toc388960329 附录 PAGEREF _Toc388960329 h 22内容摘要学

4、生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对学生成绩的管理,主要包括添加、修改、删除,查询等方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。 系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学生成绩的修改。查询功能也是系统的核心之一,在系统中主要根据学生姓名和学号进行查询,其目的都是为了方便用户使用。系统采用当前优秀

5、的开发工具VC 6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。报告主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。关键词:MIS;VC 6.0;学生成绩管理系统系统需求分析目的与意义进一步学习和巩固本课程所讲解的主要内容,加深对面向对象程序设计思想的理解。掌握C+程序设计方法以及上机调试技巧,为今后学习其他专业课程打好基础。提高和加强计算机应用及软件开发能力,培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月

6、异的发展形势。C+是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。系统分析1、用C+语言及开发工具VC 6.0实现系统。2、对学生信息(包括班级、学号、姓名、高等数学、c+语言、大学英语、计算机网络、总分等)进行管理包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出。3、学生信息包括内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:(1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。

7、(2)能够将指定的信息从文件中删除。(3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。(4)可以统计全部学生的总成绩,及其在班上的排名。(5)能够统计各科的平均成绩及及格率。(6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。(7)如果检索不到相应的信息应提示用户。总体设计功能分析 “学生成绩管理系统”包括以下几个模块:输入学生资料,增加学生资料,按学号、姓名查找学生资料,按学号查找删除该学生资料,按学号查找修改该学生资料,按总分排序,显示全部学生成绩,统计各科的平均成绩及及格率及退出系统。本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便

8、对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按成绩对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并能修改或删除学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。系统功能模块图主菜单输入学生资料模块增加学生资料模块按学号查询学生资料模块按姓名查询学生资料模块修改学生资料模块删除学生资料模块按总分排序学生模块显示全部学生资料模块统计各科的平均成绩及及格率模块详细设计类层次图总分Sum网络成绩英语成绩高数成绩体育成绩C+成绩姓名Name学号

9、Num班级Class排名Order学生类Stu各功能模块实现输入学生成绩功能模块的核心算法:void Input(Stu stud) /输入学生成绩 system(cls); /*运行前清屏*/ int i=0; int flag; char sign; coutendl 请输入学生成绩 =endl;while(sign!=n&sign!=N) /*判断*/ coutstudi.class_0; loop: coutstudi.num; int c=0;while(ci) c+; if(studi.num=studi-c.num) cout 你输入的学号已经存在!请重新输入。endl; got

10、o loop; ; do flag=0; coutstudi.c_program; if(studi.c_program100 |studi.c_program1) cout对不起,请输入1-100之间的数字!n; else flag=1;while(flag=0); do flag=0; ; if(100 |1) cout对不起,请输入1-100之间的数字!n; else flag=1;while(flag=0); do flag=0; coutstudi.english; if(studi.english100 |studi.english1) cout对不起,

11、请输入1-100之间的数字!n; else flag=1;while(flag=0); do flag=0; coutstudi.math;if(studi.math100 |studi.math1) cout对不起,请输入1-100之间的数字!n; else flag=1;while(flag=0); do flag=0; coutstudi.sport; if(studi.sport100 |studi.sport1) cout对不起,请输入1-100之间的数字!n; else flag=1;while(flag=0); studi.sum=studi.c_program+studi.en

12、glish+studi.math+studi.sport; cout总分为:studi.sumendl; cout提示:是否继续写入学生成绩?(Y/N); cinsign; /*输入判断*/ i+; Write(stud,i);按学号查找学生成绩功能模块的核心算法:void Lookup1(Stu stud) /按学号查找学生成绩 system(cls); /*运行前清屏*/int n=Read(stud);int s; int i=0;coutendl 查找学生成绩 =endl;cout请输入需要查找学生的学号:s; while(studi.num-s)!=0&in) i+; /*查找判断*

13、/ if(i=n) cout提示:对不起,无法找到该学生的信息!endl; /*输入失败信息*/ elsecoutendl; cout班级:studi.class_0endl; /*输出该学生信息*/ cout学号:studi.numendl; cout姓名:endl; coutC+程序设计:studi.c_programendl; cout计算机网络:endl; cout大学英语:studi.englishendl; cout高等数学:studi.mathendl; cout大学体育:studi.sportendl; cout总分:studi.sumendl;按姓名查找学

14、生成绩功能模块的核心算法:void Lookup2(Stu stud)/按姓名查找学生成绩system(cls); /*运行前清屏*/int n=Read(stud);char s20; int i=0;coutendl 查找学生成绩 =endl;cout请输入需要查找学生的姓名:s; int flag=0;for(int j=0;jn;j+)if(strcmp(s,()=0) flag=1;coutendl; cout班级:studj.class_0endl; /*输出该学生信息*/ cout学号:studj.numendl; cout姓名:endl;

15、 coutC+程序设计:studj.c_programendl; cout计算机网络:endl; cout大学英语:studj.englishendl; cout高等数学:studj.mathendl; cout大学体育:studj.sportendl; cout总分:studj.sumendl;if(flag=0)cout对不起您要查询的学生不存在,请查证后再输入!endl;修改学生成绩功能模块的核心算法:void Change(Stu stud) /修改学生成绩 system(cls); /*运行前清屏*/int n=Read(stud);int s; int i=0;coutendl 修

16、改学生成绩 =endl;cout请输入需要修改成绩学生的学号:s; while(studi.num-s)!=0&in) i+; /*查找判断*/ if(i=n) cout提示:对不起,无该学生的成绩endl; /*输入失败信息*/ elsecout该学生的信息endl; /*格式头*/ cout班级t学号t姓名tc+t 网络t英语t数学t体育t平均分endl;coutendl; coutstudi.class_0tstudi.c_tstudi.englishtstudi.mathtstudi.sporttstudi.sumendl;cout请重新输入该

17、学生的信息endl;cout班级:studi.class_0; cout学号:studi.num; cout姓名:; coutC+程序设计成绩:studi.c_program; cout计算机网络成绩:; cout大学英语成绩:studi.english; cout高等数学成绩:studi.math; cout大学体育成绩:studi.sport; studi.sum=studi.c_program+studi.english+studi.math+studi.sport; cout平均分为:studi.sumendl;char c;cout是否保存数据?(y/n)c;if

18、(c!=n&c!=N)Write(stud,n);删除学生成绩功能模块的核心算法:void Delete(Stu stud) /按学号查找,删除学生信息 system(cls); /*运行前清屏*/ int n=Read(stud);int s; int i=0,j;coutendl 删除学生成绩 =endl;cout请输入需要删除学生的学号:s; while(studi.num-s)!=0&in) i+; /*查找判断*/ if(i=n) cout提示:对不起,无法找到该学生endl; /*返回失败信息*/ elsefor(j=i;jn-1;j+) /*删除操作*/ strcpy(studj

19、.class_0,studj+1.class_0); studj.num=studj+1.num; strcpy(,studj+1.name); studj.c_program=studj+1.c_program; =studj+; studj.english=studj+1.english; studj.math=studj+1.math; studj.sport=studj+1.sport; studj.sum=studj+1.sum;cout提示:已成功删除!endl; /*返回成功信息*/ Write(stud,n-1);按总分排序功能模块的核心算法:void Pa

20、ixu(Stu stud)system(cls); /*运行前清屏*/ int i,j,k; float s; char t20;coutendl 降序排序成绩 =endl;int n=Read(stud);for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;jn-1-i;j+) if(studj.sumstudj+1.sum) strcpy(t,studj+1.class_0); strcpy(studj+1.class_0,studj.class_0); strcpy(studj.class_0,t); k=studj+1.num; studj+1.num=studj.n

21、um; studj.num=k; strcpy(t,studj+1.name); strcpy(studj+1.name,); strcpy(,t); s=studj+1.c_program; studj+1.c_program=studj.c_program; studj.c_program=s; s=studj+; studj+=; =s; s=studj+1.english; studj+1.english=studj.english; studj.english=s; s=studj+1.math; studj+1.math=studj.math

22、; studj.math=s; s=studj+1.sport; studj+1.sport=studj.sport; studj.sport=s; s=studj+1.sum; studj+1.sum=studj.sum; studj.sum=s; coutendl; /*格式头*/ cout班级t 学号t姓名tC+t网络t英语t数学t体育t总分t名次endl; coutendl; for(i=0;in;i+) /*循环输入*/ studi.order=i+1;coutstudi.class_0tstudi.c_t studi.english t s

23、tudi.mathtstudi.sportt studi.sumtstudi.orderendl; Write(stud,n);显示全部学生成绩的核心算法:void OutputAll(Stu stud) /显示全部学生成绩 system(cls); /*运行前清屏*/int n=Read(stud);coutendl 显示全部学生成绩 =endl;if(!stud)cout没有记录; elsecoutendl; /*格式头*/ cout班级t 学号t姓名tC+t网络t英语t数学t体育t总分endl; coutendl; for(int i=0;in;i+) /*循环输入*/ coutstud

24、i.class_0tstudi.c_t studi.english t studi.mathtstudi.sportt studi.sumendl; coutendl; void Tongji(Stu stud) system(cls); /*运行前清屏*/int n=Read(stud);统计各科的平均成绩及及格率的核心算法:float suma,sumb,sumc,sumd,sume;float pj1,pj2,pj3,pj4,pj5;float jg1,jg2,jg3,jg4,jg5;for(int i=0;in;i+)suma+=studi.c

25、_program;sumb+=;sumc+=studi.english;sumd+=studi.math;sume+=studi.sport;pj1=suma/n;pj2=sumb/n;pj3=sumc/n;pj4=sumd/n;pj5=sume/n;int m,h,k,p,q;m=0;n=0;k=0;p=0;q=0; for(int j=0;j=60)m+; if(=60)h+; if( studj.english=60)k+; if( studj.math=60) p+; if( studj.sport) q+; jg1=(m/n)*100;jg2=(h/n)*100;jg3=(k/n)*

26、100;jg4=(p/n)*100;jg5=(q/n)*100;coutendl; /*格式头*/ coutttC+tt网络tt英语tt数学tt体育endl; coutendl; cout平均分setprecision(0)pj1tsetprecision(0)pj2tsetprecision(0)pj3tsetprecision(0)pj4tsetprecision(0)pj5endl;coutendl; cout及格率setprecision(0)jg1%tsetprecision(0)jg2%tsetprecision(0)jg3%tsetprecision(0)jg4%tsetprec

27、ision(0)jg5%endl;coutendl; 系统实现运行的初始界面如下图所示,显示系统主界面选择功能(1)系统则进入输入学生成绩的功能块,如下图所示选择功能(2)系统则进入插入学生成绩的功能块,如下图所示选择功能(3)系统则进入按学号查找学生成绩的功能块,如下图所示选择功能(4)系统则进入按姓名查找学生成绩的功能块,如下图所示选择功能(5)系统则进入修改学生资料的功能块,如下图所示选择功能(6)系统则进入删除学生资料的功能块,如下图所示选择功能(7)系统则进入按总分排序的功能块,如下图所示选择功能(8)系统则进入显示全部学生成绩的功能块,如下图所示选择功能(9)系统则进入统计各科的平均成绩及及格率的功能块,如下图所示选择功能(0)系统则进入统计各科的平均成绩及及格率的功能块,如下图所示实习总结与体会此次c+课程设计,在指导教师的精心教导下,我们学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系

温馨提示

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

评论

0/150

提交评论