ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:481.03KB ,
资源ID:13840065      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13840065.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生成绩管理系统c程序设计报告1.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

学生成绩管理系统c程序设计报告1.docx

1、学生成绩管理系统c 程序设计报告1内蒙古科技大学本科生课程设计说明书题 目:面向对象课程设计 学生成绩管理系统学生姓名:*学 号:*专 业:计算机科学与技术班 级:11级-3班指导教师:*2013年1月6日内蒙古科技大学课程设计任务书课程名称面向对象课程设计设计题目学生成绩管理系统指导教师*时间2012.12.312013.1.4一、教学要求1. 巩固和加深学生对C+面向对象课程的基本知识的理解和掌握2. 掌握C+面向对象课程和程序调试的基本技能3. 利用C+进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C+解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计

2、题目中任意选择一题,独立完成,题目选定后不可更换。某班学生成绩管理,包括以下功能:v 从键盘输入包括学号、姓名、各门课程成绩(不少于5门),并将其保存在磁盘文件里v 打开文件后,计算每个人的总分和平均分,排序并保存v 具有单项查询或多项查询的功能(即按照给定的关键字,如姓名找出满足条件的纪录)v 具有插入、删除和修改功能v 具有输出文件数据信息的功能三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要

3、有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C+面向对象程序设计,吴敏 杨国林,内蒙古大学出版社2C+面向对象程序设计习题解

4、答与实验指导,吴敏,内蒙古大学出版社第一章 需求分析1.1 引言建立学生成绩管理系统,通过使用计算机对学生成绩进行管理,进一步提高办学效率。此设计说明书是对学生成绩管理系统开发的一个初步的分析说明性文档,旨在通过该文档清晰的阐述系统的实际功能,方便系统开发人员对系统的理解以及与用户的沟通。文档相关说明部分在目录部分已全部涵盖,阅读此文档的相关人员可以通过目录索引找到相应部分予以阅读。1.2 任务概述某班学生成绩管理,包括以下功能:v 从键盘输入包括学号、姓名、各门课程成绩(不少于5门),并将其保存在磁盘文件里v 打开文件后,计算每个人的总分和平均分,排序并保存v 具有单项查询或多项查询的功能(

5、即按照给定的关键字,如姓名找出满足条件的纪录)v 具有插入、删除和修改功能v 具有输出文件数据信息的功能1.3 数据描述该管理系统程序中数据主要有:学生的学号、姓名、各门课程成绩、每个人的总分和平均分、查询、输出、插入、删除和修改等功能。1.4 功能需求(1) 输入模块:有关学生的信息,各门课程成绩的输入;(2) 输出模块:学生成绩的总分和平均分;(3) 查找模块:根据学生的姓名查询该学生的名次、成绩;(4) 排序模块:对学生成绩的排序;1.5 性能需求(1) 要求该管理系统具有一定的可扩展性以便适应发展,且便于维护;(2) 要求该管理系统便于使用,使用步骤简易明了。1.6 运行需求基于win

6、dows平台下的窗口图形界面软件,运行主界面为windows的经典运行界面,采用多文档界面,从而使程序更加美观,整齐有序,简易操作。软件运行基于windows平台上的xp,Vista,win7等1.7 任务计划第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)第二章 概要设计2.1 总体设计设计目的:1. 巩固和加深学生对面向对象课程的基本知识的理解和掌握2. 掌握面向对象设计语言编程和程序调试的基本技能3. 利用面向对象设计语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用面向对象设计语

7、言解决实际问题的能力图2.1:程序总体设计图2.2 数据类型设计(或数据结构设计)表2.1:数据类型设计数据数据类型学生各门课程成绩int型学号姓名字符型变量平均分浮点型数据姓名字符型变量2.3接口设计表2.2:函数列表函数名函数格式 /即函数首部函数功能getdatavoid输入学生信息sortvoid按照成绩总分排序dispvoid显示结果initdispvoid初始化界面adddatavoid添加学生记录namefindvoid按照姓名查找记录disponevoid显示一个学生的记录usechoiceint根据用户选择获取不同的操作inputonenameint输入一个学生的姓名dele

8、void删除学生记录showavervoid显示学生平均分quitvoid退出系统2.3 运行界面设计图2.2:运行界面设计第三章 详细设计3.1 输入模块设计输入学生信息:void compute:getdata() int i,sno; float En,Ch,Ma,Ph,Ge,Tol; char tname10; coutns; for(i=0;ins;i+) coutsno; nai.setNo(sno); couttname; nai.setname(tname); coutEn;sumEng=sumEng+En; nai.setEng(En); coutCh;sumChi=sumC

9、hi+Ch; nai.setChi(Ch); coutMa; sumMat=sumMat+Ma; nai.setMat(Ma); coutPh; sumPhy=sumPhy+Ph; nai.setPhy(Ph); coutGe; sumGeo=sumGeo+Ge; nai.setGeo(Ge); Tol=En+Ch+Ma+Ph+Ge; nai.settotal(Tol); 3.2 输出模块设计显示输出结果:void compute:disp() coutList NO Name English Chinese Maths Physics Geography Total endl; for(in

10、t i=0;ins;i+) couti+1 nai.getNo() nai.getname() nai.getEng() nai.getChi() nai.getMat() nai.getPhy() nai.getGeo() nai.gettotal()endl; 显示一个学生的记录:void compute:dispone(int i) coutList NO Name English Chinese Maths Total endl; cout1 nai.getNo() nai.getname() nai.getEng() nai.getChi() nai.getMat() nai.get

11、Phy() nai.getGeo() nai.gettotal()endl;显示学生平均分:void compute:showaver(int num) int i; for(i=0;ins;i+) if(nai.getNo()=num) cout学号:nai.getNo()endl; cout姓名:nai.getname()endl; 3.3 查找模块设计按照姓名查找学生:void compute:namefind(int num) int i; for(i=0;i=ns) cout没有您要查的记录endl; 按照学号查找学生:int compute:inputonename() int n

12、um; coutnum; return num;3.4 排序模块设计按照成绩进行排序:void compute:sort() /直接选择排序 int i,j,pick; std temp; for(i=0;ins-1;i+) pick=i; for(j=i+1;jnapick.gettotal() pick=j; temp=nai; nai=napick; napick=temp; 3.5添加模块设计添加学生记录:void compute:adddata() int i,sno; float En,Ch,Ma,Ph,Ge,Tol; char tname10; if(ns=0) cout请先选择

13、1添加数据,然后在选择2增加记录endl; return ; coutaddns; for(i=0;iaddns;i+) coutsno; nans+i.setNo(sno); couttname; nans+i.setname(tname); coutEn; sumEng=sumEng+En; nans+i.setEng(En); coutCh; sumChi=sumChi+Ch; nans+i.setChi(Ch); coutMa; sumMat=sumMat+Ma; nans+i.setMat(Ma); coutPh; sumPhy=sumPhy+Ph; nans+i.setPhy(Ph

14、); coutGe; sumGeo=sumGeo+Ge; nans+i.setGeo(Ge); Tol=En+Ch+Ma+Ph+Ge; nans+i.settotal(Tol); ns=ns+addns;3.6删除模块设计删除学生记录:void compute:dele(int num) int i,cunt,flag=0; /学号是否存在 if(num0) cout超出学号范围endl; return ; for(i=0;ins;i+) if(nai.getNo()=num) /记录该学号在数组中的位置 cunt = i; flag=1; if(!flag) cout学号不存在endl; r

15、eturn ; for(i=cunt;ins-1;i+) nai.setname(nai+1.getname(); nai.setNo(nai+1.getNo(); nai.setEng(nai+1.getEng(); nai.setChi(nai+1.getChi(); nai.setMat(nai+1.getMat(); nai.setPhy(nai+1.getPhy(); nai.setGeo(nai+1.getGeo(); nai.settotal(nai+1.gettotal(); ns = ns - 1;3.7退出模块设计退出系统:void compute:quit() FLAG=

16、0; cout程序在3秒后关闭endl; _sleep(1000); cout还剩2秒endl; _sleep(1000); cout还剩1秒endl; _sleep(1000); return ;第四章 测试分析4.1 测试程序执行情况图4.1:运行主界面图4.2:输入学生信息图4.3:添加学生记录图4.4:按照学号查找学生记录图4.5:按照总分排序图4.6:学生各科平均分图4.7:学生成绩信息记录图4.8:删除学生信息图4.9:退出学生成绩管理系统4.2 出现的问题和解决的方法1、 多次出现未知标示符,导致程序无法正常运行:发现打代码时,没有把简写字母打上,加上简写字母后,程序运行正常。第

17、五章 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。我的课设题目是学生成绩管理系统,对于刚刚接触C语言的学生来说也是有一定难度的。如何将课堂所学和实践相结合是我们此次课设最为重要的一部分,将所学的知识应用到实践中才是我们真正的将知识学到我们自己的脑子里。回顾此次课设,感受颇多,从开始课设到课设结束,确实学到了很多东西,不仅巩固了以前学到的知识,更是学到了很多以前未接触

18、过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到的问题,可以说是困难重重,第一次做课设,无法避免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计后,把以前所学过的知识都重新温故。在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是

19、黎明。一时的失意不算什么,只要能坚持下去,就一定会成功的。感谢这次课设让我明白很多,了解很多,同时也改变很多。附录:程序代码#include#include#include #define N 10000int FLAG=1;class std int No; char name10; float Eng; float Chi; float Mat; float Phy; float Geo; float total; public: void setname(char na) strcpy(name,na); ; void setNo(int n) No=n; ; void setEng(f

20、loat e) Eng=e; ; void setChi(float c) Chi=c; ; void setMat(float m) Mat=m; ; void setPhy(float p) Phy=p; ; void setGeo(float g) Geo=g; ; void settotal(float t) total=t; ; char* getname() return name; ; int getNo() return No; ; float getEng() return Eng; ; float getChi() return Chi; ; float getMat()

21、return Mat; ; float getPhy() return Phy; ; float getGeo() return Geo; ; float gettotal() return total; ;class compute int ns; int addns; std naN; static float sumEng; static float sumChi; static float sumMat; static float sumPhy; static float sumGeo;public: void getdata(); /输入数据 void sort(); /按照成绩总分

22、进行排序 void disp();/显示结果 void initdisp();/初始化界面 int usechoice();/根据用户选择获取不同的操作 void adddata();/添加学生记录 void namefind(int); /按照姓名查找记录 void dispone(int i);/显示一个学生的记录 int inputonename(); /输入一个学生的姓名 void dele(int num); /删除学生记录 void showaver(int num); /显示学生平均分 void quit();/退出系统 compute() ns=0; float aveEng(

23、) return sumEng/ns; float aveChi() return sumChi/ns; float aveMat() return sumMat/ns; float avePhy() return sumPhy/ns; float aveChem() return sumGeo/ns; int getns() return ns; ;float compute:sumEng=0.0;float compute:sumChi=0.0;float compute:sumMat=0.0;float compute:sumPhy=0.0;float compute:sumGeo=0.0;void compute:getdata() int i,sno; float En,Ch,Ma,Ph,Ge,Tol; char tname10; coutns; for(i=0;ins;i+) coutsno; nai.setNo(sno); couttname; nai.setname(tname); coutEn; sumEng=sumEng+En; nai.setEng(En); co

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2