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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生综合测评系统C设计报告.docx

1、学生综合测评系统C设计报告上海电力学院高级程序设计C+课程设计题目: 学生综合测评系统 院系: 计算机科学与技术学院 专业年级: 计算机科学与技术 学生姓名: 学号:指导教师: 2013年1月1 需求分析本系统旨在便于学校管理和查阅学生信息并计算学生的考试成绩和名次以及综合测评成绩和名次。每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、高等数学、物理、英语三门单科成绩、同学互评分、品德成绩、任课教师评分。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。程序的基本功能:1学生信息处理:(1) 输入学生信息、学号、姓名、性别、家庭住址、联

2、系电话,按学号以小到大的顺序存入文件中。(2) 插入(修改)同学信息。(3) 删除同学信息。(4) 浏览学生信息。2学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩(语文+数学+外语)/3 计算考试成绩,并计算考试名次。 (2) 学生测评数据输入并计算综合测评总分及名次。(3) 学生数据管理。(4) 学生数据查询。3学生综合信息输出2 概要设计根据需求分析中的描述,知道需要一个帐户类型,由于基本数据类型无法实现将一个用户的信息绑定在一起,所以需要定义一个抽象数据类型帐户,命名为Student,其定义如下:class Studentpublic: int num;umstudi.

3、namestudi.sexstudi.address studi.phonestudi.englishstudi.math studi.physicsstudi.grade1 studi.grade2studi.grade3; i+; while(!(); (); cout读取成功!endl; 以上为读取文件中学生信息的函数,当信息成功读取后才可进行修改或添加或删除,所以在许多外部函数里面都必须要有读取函数的功能为前提。void save() int i; char filename20; cout将记录保存在文件夹!endl; coutfilename; ofstream outfile(f

4、ilename); if(!outfile) cerropen error!endl; um studi.name studi.sex studi.address studi.phone studi.english studi.math studi.physics studi.grade1 studi.grade2 studi.grade3endl; (); cout保存成功!endl;在每次保存时都先按学号排序,保证信息是按学号从小到大的顺序存入文件。在输入、修改、添加和删除函数的末端都有保存函数以实现信息的保存。void XG() read();begin:string find_name

5、; int i; cout请输入你要修改的学生名字:find_name; for(i=0;in;i+) if(studi.name=find_name) ame!=find_name) coutcant find this nameendl; cout请重新查找!endl; goto begin; cout请输入新的信息:endl; cout学号:studi.num; cout修改成功,是否保存?(y/n)press; switch(press) case y : save();break; default: cout不保存!;break; 基于数组形式对数据进行修改。基本上所有函数都是基于数

6、组进行操作,像删除函数是用循环先匹配类中的一个数据,找到之后再以此开始用对象数组后面的替换掉前一个,以实现删除功能。 string SC_name; cout请输入你要删除的学生名字:SC_name; while(studi.name!=SC_name & in) i+; ame=SC_name) for(int j=i;jn+1;j+) studi.num=studi+1.num; studi.name=studi+1.name; 考试成绩排名和综合测评成绩排名都是采用冒泡排序法实现: double temp100; for(int a=0;an;a+)verage=(studa.engli

7、sh+studa.math+studa.physics)/3; tempa=studa.average; double t; for(int j=0;jn;j+) verage=tempq) studp.ranking1=q+1;最后各种界面函数通过switch语句进行调用,以实现各种功能来完成此系统: void Fire()pp的文件,如果有编译错误,则根据提示修改,否则编译成功。最后编译、连接和运行测试程序文件,输入数据并测试程序的各种操作。如图所示。 在当前的Dos窗口中,输入要执行的功能号码,如输入1,然后单击回车,则显示如图所示。此为学生信息管理界面,输入要执行的功能号码,如输入1,

8、然后单击回车,则显示如图所示。 按提示输入3个学生信息并保存至文件中,完成后返回学生信息管理界面,输入要执行的功能号码,如输入5,然后单击回车,然后输入文件名和要读取几名学生信息,如输入3,则显示如图所示。 如上所示,按照提示内容输入功能号并回车确认就能正确使用本系统。4、使用的主要技术 文本文件的读写、数组。5、总结 经过一个学期对C+程序设计的学习,我学习到了基本的理论知识,了解到了C+语言程序设计的思想,这些知识都为我的课程设计和进一步学习打下了坚实的基础。在为期一周的的C+课程设计中,我体会颇多,学到了很多东西。我加强了对C+程序设计这门课程的认识,并且复习了自己以前学过的知识。这些都

9、使得我对计算机语言的学习有了更深入的认识。像学生测评系统这样的程序设计,经历了平时在课堂和考试中不会出现的问题和考验。而这些问题,并不是只靠课本就可以轻易解决的。所以,锻炼了我们独立思考和解决问题的能力。特别是向老师提问时,老师教会了我调试程序的方法,让我更容易发现自己所犯的错误。在老师和同学的帮助下,通过自己的努力,终于完成了这次学生测评系统的课程设计,虽然还有缺陷,但过程中所摸索到的经验是一笔宝贵的财富。总而言之,这次课程设计让我收获很大。附录#include#include#include#includeusing namespace std;char press;int choose=

10、1;int n;class Studentpublic: int num;umstudi.namestudi.sexstudi.address studi.phonestudi.englishstudi.math studi.physicsstudi.grade1 studi.grade2studi.grade3; i+; while(!(); (); cout读取成功!endl; um; (5); coutstudi.name; (5); coutstudi.sex; (8); coutstudi.address; (8); coutstudi.phone; (6); coutstudi.e

11、nglish; (6); coutstudi.math; (6); coutstudi.physics; (6); coutstudi.grade1; (8); coutstudi.grade2; (8); coutstudi.grade3endl; um; int t; for(int j=0;jn;j+) for(int k=0;ktempk+1) t=tempk; tempk=tempk+1; tempk+1=t; int tempnum; string tempname; string tempsex; string tempaddress; string tempphone; dou

12、ble tempenglish; double tempmath; double tempphysics; double tempgrade1; double tempgrade2; double tempgrade3; for(int q=0;qn;q+) for(int p=0;pn;p+) if(studp.num=tempq) tempnum=studp.num; tempname=studp.name; tempsex=studp.sex; tempaddress=studp.address; tempphone=studp.phone; tempenglish=studp.engl

13、ish; tempmath=studp.math; tempphysics=studp.physics; tempgrade1=studp.grade1; tempgrade2=studp.grade2; tempgrade3=studp.grade3; studp.num=studq.num; studp.name=studq.name; studp.sex=studq.sex; studp.address=studq.address; studp.phone=studq.phone; studp.english=studq.english; studp.math=studq.math; s

14、tudp.physics=studq.physics; studp.grade1=studq.grade2; studp.grade2=studq.grade2; studp.grade3=studq.grade3; studq.num=tempnum; studq.name=tempname; studq.sex=tempsex; studq.address=tempaddress; studq.phone=tempphone; studq.english=tempenglish; studq.math=tempmath; studq.physics=tempphysics; studq.g

15、rade1=tempgrade1; studq.grade2=tempgrade2; studq.grade3=tempgrade3; for(i=0;in;i+) outfilestudi.num studi.name studi.sex studi.address studi.phone studi.english studi.math studi.physics studi.grade1 studi.grade2 studi.grade3endl; (); cout保存成功!endl;um; cout姓名:studa.name; cout性别:studa.sex; cout家庭住址:st

16、uda.address; cout联系方式:studa.phone; cout英语成绩:studa.english; cout物理成绩:studa.physics; cout高数成绩:studa.math; cout同学互评:studa.grade1; cout品德成绩:studa.grade2; cout任课教师评分:studa.grade3; cout输入成功,学生资料是否保存?(y/n)press; switch(press) case y : save();break; default: cout不保存!;break; ame!=SC_name & in) i+; ame=SC_nam

17、e) for(int j=i;jn+1;j+) studi.num=studi+1.num; studi.name=studi+1.name; studi.sex=studi+1.sex; studi.address=studi+1.address; studi.phone=studi+1.phone; studi.english=studi+1.english; studi.math=studi+1.math; studi.physics=studi+1.physics; studi.grade1=studi+1.grade1; studi.grade2=studi+1.grade2; st

18、udi.grade3=studi+1.grade3; cout删除成功!endl; n=n-1; save(); else if(i=n) coutcant find this nameendl; cout该信息不存在,无法删除!endl; cout(是否继续操作?(y/n)press; while(press=y|press=Y) ;um; coutstudn.name; coutstudn.sex; coutstudn.address; coutstudn.phone; coutstudn.english; coutstudn.math; coutstudn.physics; coutst

19、udn.grade1; coutstudn.grade2; coutstudn.grade3; n+; cout(是否继续操作?(y/n)press; while(press=y|press=Y); cout添加成功,学生资料是否保存?(y/n)press; switch(press) case y : save();break; default: cout不保存!;break; ame=find_name) coutstudi.name has been found:endl; cout学生的学号:studi.num 姓名:studi.name 性别:studi.sex 家庭住址:studi

20、.address 联系方式:studi.phone 英语成绩:studi.english 高数成绩:studi.math 物理成绩:studi.physics 同学互评分:studi.grade1 品德成绩:studi.grade2 任课教师评分:studi.grade3endl; break; if(studi.name!=find_name) coutcant find this nameendl; cout请重新查找!endl; goto begin; cout请输入新的信息:endl; cout学号:studi.num; cout姓名:studi.name; cout性别:studi.

21、sex; cout家庭住址:studi.address; cout联系方式:studi.phone; cout英语成绩:studi.english; cout物理成绩:studi.physics; cout高数成绩:studi.math; cout同学互评分:studi.grade1; cout品德成绩:studi.grade2; cout任课教师评分:studi.grade3; cout修改成功,是否保存?(y/n)press; switch(press) case y : save();break; default: cout不保存!;break; verage=(studa.englis

22、h+studa.math+studa.physics)/3; tempa=studa.average; double t; for(int j=0;jn;j+)verage=tempq) studp.ranking1=q+1; cout学号 姓名 考试成绩 考试成绩排名endl; for(int b=0;bn;b+) coutstudb.num; (10); coutstudb.name; (10); coutstudb.average; (10); coutstudb.ranking1endl; cout是否要保存到文件中?(y/n)press;switch(press) case y: i

23、nt i; char filename20; coutfilename; ofstream outfile(filename); if(!outfile) cerropen error!endl; for(i=0;in;i+) outfile学号:studi.num 姓名:studi.name 考试成绩:studi.average 考试成绩排名studi.ranking1endl; (); cout保存成功!endl;break; default: cout不保存!;break;radesum=(studa.english+studa.math+studa.physics)/3)*+ studa.grade1*+studa.grade2*+studa.g

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1