




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息科学与技术学院程序设计基础课程设计报告题目名称: 学生成绩管理 学生姓名: 骆聪非 学 号: 2011508019 专业班级:计算机科学与技术 2011级 1班指导教师: 郭理 2012年 7月 5日1. 课程设计题目与要求21.1. 课程设计题目:21.2. 课程设计要求:21.3. 其他要求:22. 总体设计23. 详细设计33.1. 数据结构设计33.2. 主模块功能设计43.3. 部分功能模块代码53.3.1. 实现录入学生信息53.3.2. 实现修改学生成绩53.3.3. 实现对学生成绩的查询64. 运行结果64.1. 调试过程64.2. 调试结果说明115. 课程设计总结11显
2、示对应的拉丁字符的拼音字典 - 查看字典详细内容1. 课程设计题目与要求1.1. 课程设计题目:学生成绩管理1.2. 课程设计要求:1、问题描述(功能要求): (1)能按学期,按班级完成对学生成绩的录入,修改(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成
3、员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 1.3. 其他要求: (1)只能使用c/c+语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好) (3)学生可自动增加新功能模块2. 总体设计该系统实现对若干大学生的学习成绩进行管理,能实现按学期、按班级完成对学生成绩的录入、修改,能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序能查询学生成绩,不及格科目及学生名单,能按班级输出学生的成绩单等。整个系统用vc+进行实现,用指针、链表来实现学生成绩的数据结构设计,系统
4、具有录入、修改、求总、求平均分、输出等功能。系统的各个功能模块都用类的形式来实现,可以将学生成绩按照分数的高低进行排序。学 生 成 绩 管理 系 统对 信 息 进 行 处理输 出 处 理后 的 信 息接 收 输 入 信 息显示数据库中的相关 信 息显示操作完成 的 情况根 据 用 户 的 需 求 调 用 相 应 的 功 能 模 块将 输 入的 数 据添 加 到数 据 库中 修改相应的信 息汇总相应的信息统计相应的信息删除相应的信 息3. 详细设计3.1. 数据结构设计采用c+程序设计语言,从键盘输入学生的基本信息(学号,姓名,英语成绩,高数成绩),计算每个学生的平均成绩,并将数据存入文件stu
5、dent.txt中。按如下格式输出大于等于平均成绩的学生信息: 学号 姓名 英语 数学 c+ 平均成绩。提供按学期、按班级进行查询的功能。尽可能使用运算符重载以简化操作。使用多文件结构和菜单操作,并考虑相应的操作权限(每个教师输入“自己的学生”的“某门课程”的成绩,而其他学生的其他课程不能输入,只有教务老师才能执行归档类的操作),以提高程序的实用性3.2. 主模块功能设计“学生成绩管理信息系统”主要分为学生浏览和后台管理两个子系统。设计主要功能:能按学期、按班级完成对学生成绩的录入、修改;能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序;能查询学生成绩,不及格科目及
6、学生名单;能按班级输出学生的成绩单。 显 示学生浏览查 询录 入学生成绩管理系统统修 改后台管理删 除统 计排 序 “学生成绩管理”系统主模块功能图 系统界面 输入信息 信息正确 继续 结束3.3. 部分功能模块代码3.3.1. 实现录入学生信息 否 是 录入学生信息功能模块图3.3.2. 实现修改学生成绩修改学生信息输入学号输入信息错误修改c+成绩修改数学成绩修改姓名修改英语成绩输入新的成绩 修改学生成绩功能模块图3.3.3. 实现对学生成绩的查询系统界面查找学生信息按姓名查找按学号查找输入错误显示信息学生成绩查询功能模块图4. 运行结果4.1. 调试过程 首先是学生成绩信息的录入显示录入学
7、生成绩信息 查询平均成绩排名 查询个人情况 查询各科平均成绩输出班级成绩单修改个人成绩统计有不及格科目的同学退出系统菜单(1) 录入学生信息模块。完成数据储存工作,从键盘输入学生纪录,学生纪录由学生的基本信息和成绩信息字段构成,当读取纪录时也就是把储存的数据文件复制到单链表中。(2) 修改成绩模块。完成对学生纪录的维护,它实现了对学生成绩的更新,修改,删除,并将修改后的数据存入源数据文件。(3)查询成绩模块。完成在列表中满足相关条件的学生纪录,用户可以按照学号或姓名进行查找,若找到该学生的纪录,则返回指向该学生的记录指针。4.2. 调试结果说明 本文所阐述的学生成绩管理系统,具有对学生成绩信息
8、的输入功能,但是输入格式有所限制,比如学号的输入只能是四个数字,不是四个数字,此系统就不予识别,调试无法再进行下去,而且学号不能相同,相同也会影响程序的调试。输入的学生数不能少于六个,否则也无法调试下去。在输出班级成绩单的模块中,系统将成绩单保存到了文件夹中,方便进行查看,统计学生是否有不及格科目的过程,可以将学生的姓名学号成绩等都显示出来,非常方便查看。各功能模块在主菜单中都有选择序号,操作人员可以根据序号选择要进行的操作,退出的时候只要选择0,即可方便退出。5. 课程设计总结 经过两个星期的c+程序设计,让我明白到了c+这门课的重要性,c+作为一门电脑学的基础课,是我们必须掌握的顺电脑飞速
9、发展的今天,掌握电脑的应用是如今每一位大学生所必须掌握的,掌握电脑有对各人来说有我种好处,学习电脑是一种本领,也是一种生存的技能,而c+做为电脑的基础,掌握它更是我们这些大学生所必须掌握的。拿到题目,我真的不知道该怎么办,但随着慢慢的设计,思路也总算有了,这样才能继续进行下去,这时我才真正认识到了c+的功能原来是那么的多。一个复杂的成绩管理系统,经过500-600行的代码就可以完完全全的达到,这是让我非常惊讶的,但相对,如今的c+也是非常难的,这学期学到的i/o流,类,都是c+的重点,但学下来以后感觉还是很难所以必须先打好基础,基础好了,学什么都会容易很多。这次的程序设计让我重新认识到了c+,
10、这是一门非常重要的科目,我们必须付出很多倍的努力学习它,才能熟练地掌握它。参考文献1. 郑莉,董渊,何江舟c+语言程序设计(第四版)清华大学出版社2. 严蔚敏,吴伟民 数据结构(c语言版)清华大学出版社3. 教师教案ppt(指针,链表,数组)4. c+语言上机指导书5. 网络资源(c+语言程序设计视频教程)3.2主要代码描述#include#include#include#includeusing namespace std;class stupublic:char name8;int number;double english,math,cjj,total,average; stu()eng
11、lish=0;math=0;cjj=0;total=0;average=0;strcpy(name,无);number=0;return;stu()stu(double eng,double mat,double c,int num,char s38);void getname();void getnumber();void getenglish();void getmath();void getcjj();double gettotal();double getaverage();stu:stu(double eng,double mat,double c,int num,char s38)
12、english=eng;math=mat;cjj=c;number=num;strcpy(name,s3);void stu:getname()char s8;couts;strcpy(name,s);void stu:getnumber()int n;coutn;number=n;void stu:getenglish()double e;coute;english=e;void stu:getmath()double m;coutm;math=m;void stu:getcjj()double c;coutc;cjj=c;double stu:gettotal()return total=
13、english+math+cjj;double stu:getaverage()return average=total/3.0;void output1(stu &p)tp.numbertp.englishtp.mathtp.cjjn;void output2(stu &p)tp.numbertp.englishtp.mathtp.cjjtp.averagetp.totaln;void input(stu &p)p.getname();p.getnumber();p.getenglish();p.getmath();p.getcjj();p.ge
14、ttotal();p.getaverage();void order(stu &p1,stu &p2,stu &p3,stu &p4,stu &p5,stu &p6)sheji:char *name6=,,,,,;int number6=p1.number,p2.number,p3.number,p4.number,p5.number,p6.number;double english6=p1.english,p2.english,p3.english,p4.english,p5.english,p6.engli
15、sh;double math6=p1.math,p2.math,p3.math,p4.math,p5.math,p6.math;double cjj6=p1.cjj,p2.cjj,p3.cjj,p4.cjj,p5.cjj,p6.cjj;double total6=p1.total,p2.total,p3.total,p4.total,p5.total,p6.total;double average6=p1.average,p2.average,p3.average,p4.average,p5.average,p6.average;stu soure6=p1,p2,p3,p4,p5,p6;cha
16、r *s1,s28;double *p;int n;double mat;couttt主菜单endl;coutt1.查询平均分排名;endl;coutt2.查询个人情况;endl;coutt3.查询各科平均成绩;endl;coutt4.输出班级成绩;endl;coutt5.修改各人成绩;endl;coutt6.查询不及格成绩;endl;coutt0.退出;endl;int q;coutq;if(q=1)p=average;coutt*以平均成绩进行排名*endl;strcpy(s2,均分);for(int i1=1;i16;i1+) for(int j1=0;j16-i1;j1+)if(pj1
17、=pj1+1) mat=pj1,pj1=pj1+1,pj1+1=mat;s1=namej1,namej1=namej1+1,namej1+1=s1;n=numberj1,numberj1=numberj1+1,numberj1+1=n;couttt名次t姓名t学号ts2n;for(i1=0;i16;i1+) couttti1+1tnamei1tnumberi1tpi1endl;coutendl;goto sheji;if(q=2)int w;coutw;coutt姓名t学号t英语t数学tc+t均分t总分n;for(int i=0;i6;i+)if(w=numberi)output2(soure
18、i);goto sheji;else if(q=3)coutt*各科平均成绩*endl;double a1=0,b=0,d=0,e=0,h=0;for(int j=0;j6;j+)a1+=englishj;coutt英语的平均分为t(double(a1/5.0)endl;for(int i=0;i6;i+)b+=mathi;coutt数学的平均分为t(double(b/5.0)endl;for(int k=0;k6;k+)e+=cjjk;couttc+的平均分为t(double(e/5.0)endl;goto sheji;else if(q=4)ofstream file(d:student.
19、txt);if(!file)coutstudent.txt cant open.n;abort();filet姓名t学号t英语t数学tc+t均分t总分n;for(int i=0;i6;i+)filetnameitnumberitenglishitmathitcjjitaverageittotalin;file.close();cout计算机-1的成绩单已输入到了d:student.txt中。希望你查看!endl;goto sheji;else if(q=5)coutt*在这里对学生成绩进行修改*endl;int b1;cout请输入你要修改学生的学号:b1;if(b1=p1.number)p1=stu();input(p1);coutt修改成功!endl; else if(b1=p2.number)p2=stu();input(p2);coutt修改成功!endl; else if(b1=p3.number)p3=stu();input(p3);coutt修改成功!endl; else if(b1=p4.number)p4=stu();input(p4);coutt修改成功!endl; else if(b1=p5.number)p5=stu();input(p5);coutt修改成功!endl; else if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入路职工安全培训宣传课件
- 例检员安全培训计划课件
- 2026届山西省晋中市榆社中学物理高三上期末监测试题
- 邯郸常态化管理办法
- 工业化的起步和人民代表大会制度的确立讲课文档
- 校友基金官方管理办法
- 社区疫苗接种管理办法
- 高级导游等级考试(导游综合知识)在线自测试题库及答案(2025年湖南省)
- 跨文化抑郁差异-洞察及研究
- 机载数据森林覆盖变化监测-洞察及研究
- 企业债券交易合作协议
- 2022-2023学年广东省广州十六中九年级(上)开学语文试卷
- 食品经营许可和备案管理办法培训2024
- 如何列好小说提纲
- 插画风浙江大学浙大介绍大学介绍
- 关于开展物业项目经理“接待日”活动的实施方案
- 文言实词本义引申义
- 07J902-3 医疗建筑(卫生间、淋浴间、洗池)
- 2024年网上大学智能云服务交付工程师认证考试题库800题(含答案)
- SJG 110-2022 附建式变电站设计防火标准
- 《中式烹调工艺》课件-热菜烹调工艺
评论
0/150
提交评论