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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生作业完成情况管理程序.docx

1、学生作业完成情况管理程序天津城市建设学院课程设计任务书20112012学年第1学期 电子与信息工程 系 专业 班级课程设计名称: 数据结构课程设计 设计题目: 学生作业完成情况管理程序 完成期限:自 2012 年 1 月 2 日至 2012 年 1 月 6 日共 1 周设计依据、要求及主要内容(可另加附页):一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发

2、现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;(4)认真编写课程设计报告。三、设计内容1)请设计一个学生作业完成情况管理程序。假设某门课程一学期要留10次作业,每次老师要进行批改,给出分数后还要进行登记。学期期末要根据每次作业的成绩计算出最终的平时成绩(满分100)。作业登记信息应该包含:学号、姓名、10次作业的完成情况。2)基本要求该程序应该具有下列功能:(1) 通过键盘输入某位学生某次作业的分数;(2) 给定学号,显示某位学生作业完成情况;(3) 给定某个班级的班号,显示该班所有学生的作业完成情况;(4

3、) 给定某位学生的学号,修改该学生的作业完成信息;(5) 给定某位学生的学号,删除该学生的信息;(6) 按学生的最终平时成绩进行排序;(7) 输平均分数一、需求分析1.程序的功能 设计一个学生作业完成情况程序,实现对学生作业完成情况的修改,对学生信息的删除,对总成绩的排序,输出平均分数。2.输入输出的要求必须符合输入输出函数的定义。3.测试数据系统保存的学生信息:stu1(1,David,1); stu2(2,Mike,1);stu3(3,Tom,2);学号 第几次作业 成绩 1 1 22 1 2 33 1 3 44 2 1 55 2 2 66 2 3 77 3 1 88 3 2 993 3

4、100二、概要设计1.程序设计组成框图2.程序流程图三、详细设计1.函数的入口和出口cout -输入操作1-7 8退出-nn; cout (1)通过键盘输入某位学生某次作业的分数,请按1n; cout (2)给定学号,显示某位学生作业完成情况,请按2n; cout (3)给定某个班级的班号,显示该班所有学生的作业完成情况,请按3n; cout (4)给定某位学生的学号,修改该学生的作业完成信息,请按4n; cout (5)给定某位学生的学号,删除该学生的信息,请按5n; cout (6)按学生的最终平时成绩进行排序,请按6n; cout (7)输出平均分数,请按7n; cout (8)退出,请

5、按8nn;2.主函数void main() string name,id; double point; int index,i,cls; int select; vector students; Student stu1(0001,Clark,1); Student stu2(0002,Mac,1); Student stu3(0003,Tim,2); students.push_back(stu1); students.push_back(stu2); students.push_back(stu3);3.成员函数getTotal():用来实现十次作业的情况输入和。showHomework(

6、):用来实现某个学生十次完成作业的情况。getName():让后面的类调用此函数,名字函数。getId():让后面的类调用此函数,学号函数,实现根据学号显示此学生的作业完成情况。getSClass():让后面的类调用此函数,班级函数,实现根据班级显示学生作业完成情况的功能。SetPoint():记录成绩函数,使后面的类调用此函数用来显示修改后的成绩。getHomework():获得作业完成情况函数,使后面的类调用此函数实现修改后的学生作业完成情况。void Sort():排序函数,使用快速排序实现对学生总成绩的排序。四、调试分析(1)在类中调用函数时,出现了一些错误,问题出现在调用时的函数变量

7、和初始化函数时的变量不一致,然后又检查程序,将变量匹配。(2)运用了快速排序的方法,到调用排序函数时出现变量不匹配,检查程序,并修改。(3)在输出平均成绩的时候,循环出现错误,没有语法错误,但是输出结果与正确结果不一致,后来发现是最后输出在循环内,所以又进行了修改。(4)运用了容器vector,在用之前并不熟悉这个功能,也出现了不少错误,比如它的定义,装载,输出,最后通过上网了解了容器的功能对程序加以修改直至没有错误。(5)运用了map功能,这个功能适用于对这次设计的查询并修改的程序,使程序更优化。(6)对数据结构有了进一步的理解,使用算法后可以使设计思路更加清晰,对所学过东西的结合,也学了新

8、的东西vector,map。五、核心源程序清单和执行结果1.程序清单#include#include#include /属于STL库,为了把c和c+分开#include /map是一种关联容器,它定义了一种数据结构,类似查表功能,每一个数据都有自己的键值,通过键值可以查找和排序相应的数 据using namespace std;class Student string id; /学生学号 string name; /学生姓名 int sClass; /学生所正在班级 double sum; /所有作业成绩之和 double homework10; /十次作业完成情况及成绩 enumunfini

9、shed=-1; /枚举类型,枚举初始化,将学生完成情况一一枚举出来,等待成绩赋值public: Student(string id,string na,int cls):name(na),id(id),sClass(cls) /构造函数赋值 for(int i=0;i10;i+) homeworki=unfinished; /初始化学生的10次作业都是未完成的 void setPoint(int index,double point) /录入成绩函数,index是每次作业计数,point是作业分数 homeworkindex-1=point; /把每次作业成绩赋给作业完成情况 double

10、getHomework(int index) /得到作业完成情况函数 return homeworkindex-1; double getTotal() /作业总成绩函数 sum=0; for(int i=0;i10;i+) if(homeworki!=unfinished) sum+=homeworki; return sum; void showHomework() /显示最后学生作业完成情况函数 for(int i=0;i10;i+) if(homeworki=unfinished) coutunfinishedt; else couthomeworkit; couti)&(aj=x)

11、j-; if (ji) ai=aj; bi=bj; i+; while (ji)&(aii) aj=ai; bj=bi; j-; ai=x;bi=y;i+; j-;if (js) sort(s,j,a,b);if (it) sort(i,t,a,b);void main() string name,id; double point; int index,i,cls; int select; vector students; /定义容器students Student stu1(1,David,1); /把三个学生信息存到容器中 Student stu2(2,Mike,1); Student s

12、tu3(3,Tom,2); students.push_back(stu1); students.push_back(stu2); students.push_back(stu3); double a1000; string b1000; cout -输入操作1-7 8退出-nn; cout (1)通过键盘输入某位学生某次作业的分数,请按1n; cout (2)给定学号,显示某位学生作业完成情况,请按2n; cout (3)给定某个班级的班号,显示该班所有学生的作业完成情况,请按3n; cout (4)给定某位学生的学号,修改该学生的作业完成信息,请按4n; cout (5)给定某位学生的学号

13、,删除该学生的信息,请按5n; cout (6)按学生的最终平时成绩进行排序,请按6n; cout (7)输出平均分数,请按7n; cout (8)退出,请按8nn; while(true) coutselect; switch(select) case 1: coutidindexpoint; for(i=0;istudents.size();i+) if (id=studentsi.getId() studentsi.setPoint(index,point); break; case 2: coutid; for( i=0;istudents.size();i+) if (id=stud

14、entsi.getId() studentsi.showHomework(); break; case 3: coutcls; for( i=0;istudents.size();i+) if (cls=studentsi.getSClass() coutstudentsi.getName()n; studentsi.showHomework(); break; case 4: coutidindex; for( i=0;istudents.size();i+) for(i=0;istudents.size();i+) if (id=studentsi.getId() studentsi.se

15、tPoint(index,-1); break; case 5: coutid; for( i=0;istudents.size();i+) if (id=studentsi.getId() students.erase(&studentsi); break; case 6: cout按学生的最终平时成绩进行排序n;/6号功能 for(i=0;i=1;i-) coutbitai; coutendl; break; case 7: cout输出平均分数n;/7号功能 for( i=0;istudents.size();i+) tol+=studentsi.getTotal(); couttol/

16、students.size(); coutendl; break; default: return; /switch /while2.执行结果 -输入操作1-7 8退出- (1)通过键盘输入某位学生某次作业的分数,请按1 (2)给定学号,显示某位学生作业完成情况,请按2 (3)给定某个班级的班号,显示该班所有学生的作业完成情况,请按3 (4)给定某位学生的学号,修改该学生的作业完成信息,请按4 (5)给定某位学生的学号,删除该学生的信息,请按5 (6)按学生的最终平时成绩进行排序,请按6 (7)输出平均分数,请按7 (8)退出,请按8输入操作1-7 8退出1输入某位学生学号某次作业的分数112

17、2输入操作1-7 8退出1输入某位学生学号某次作业的分数1233输入操作1-7 8退出1输入某位学生学号某次作业的分数1344输入操作1-7 8退出1输入某位学生学号某次作业的分数2155输入操作1-7 8退出1输入某位学生学号某次作业的分数2266输入操作1-7 8退出1输入某位学生学号某次作业的分数2377输入操作1-7 8退出1输入某位学生学号某次作业的分数3188输入操作1-7 8退出1输入某位学生学号某次作业的分数3299输入操作1-7 8退出1输入某位学生学号某次作业的分数33100输入操作1-7 8退出6按学生的最终平时成绩进行排序Tom 287Mike 198David 99输

18、入操作1-7 8退出7输出平均分数194.667输入操作1-7 8退出2给定学号,显示某位学生作业完成情况255 66 77 unfinished unfinished unfinished unfinished unfinished unfinished unfinished输入操作1-7 8退出3给定某个班级的班号,显示该班所有学生的作业完成情况1David22 33 44 unfinished unfinished unfinished unfinished unfinished unfinished unfinishedMike55 66 77 unfinished unfinishe

19、d unfinished unfinished unfinished unfinished unfinished输入操作1-7 8退出4给定某位学生的学号,修改该学生的作业完成信息为未完成32输入操作1-7 8退出2给定学号,显示某位学生作业完成情况388 unfinished 100 unfinished unfinished unfinishedunfinished unfinished unfinished unfinished输入操作1-7 8退出5给定某位学生的学号,删除该学生的信息2输入操作1-7 8退出2给定学号,显示某位学生作业完成情况2输入操作1-7 8退出六、参考文献1数据结构. 王红梅. 清华大学出版社2数据结构学习辅导与实验指导. 王红梅. 清华大学出版社3C+程序设计. 钱能. 清华大学出版社4C+程序设计试验指导. 钱能. 清华大学出版社5C+程序设计.谭浩强. 清华大学出版社

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

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