学生作业完成情况管理程序.docx
- 文档编号:7288426
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:16
- 大小:68.75KB
学生作业完成情况管理程序.docx
《学生作业完成情况管理程序.docx》由会员分享,可在线阅读,更多相关《学生作业完成情况管理程序.docx(16页珍藏版)》请在冰豆网上搜索。
学生作业完成情况管理程序
天津城市建设学院
课程设计任务书
2011—2012学年第1学期
电子及信息工程系专业班级
课程设计名称:
数据结构课程设计
设计题目:
学生作业完成情况管理程序
完成期限:
自2012年1月2日至2012年1月6日共1周
设计依据、要求及主要内容(可另加附页):
一、设计目的
熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。
二、设计要求
(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;
(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者及被抄袭者皆以零分计入本课程设计成绩。
凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;
(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;
(4)认真编写课程设计报告。
三、设计内容
1)请设计一个学生作业完成情况管理程序。
假设某门课程一学期要留10次作业,每次老师要进行批改,给出分数后还要进行登记。
学期期末要根据每次作业的成绩计算出最终的平时成绩(满分100)。
作业登记信息应该包含:
学号、姓名、10次作业的完成情况。
2)基本要求
该程序应该具有下列功能:
(1)通过键盘输入某位学生某次作业的分数;
(2)给定学号,显示某位学生作业完成情况;
(3)给定某个班级的班号,显示该班所有学生的作业完成情况;
(4)给定某位学生的学号,修改该学生的作业完成信息;
(5)给定某位学生的学号,删除该学生的信息;
(6)按学生的最终平时成绩进行排序;
(7)输平均分数
一、需求分析6
1、1.程序的功能6
2、2.输入输出的要求6
3、3.测试数据6
二、概要设计7
4、1.程序设计组成框图7
5、2.程序流程图8
8
三、详细设计8
6、1.函数的入口和出口8
7、2.主函数8
8、3.成员函数9
四、调试分析9
五、核心源程序清单和执行结果10
9、1.程序清单10
10、2.执行结果14
六、参考文献16
一、需求分析
1.程序的功能
设计一个学生作业完成情况程序,实现对学生作业完成情况的修改,对学生信息的删除,对总成绩的排序,输出平均分数。
2.输入输出的要求
必须符合输入输出函数的定义。
3.测试数据
系统保存的学生信息:
1("1","",1);
2("2","",1);
3("3","",2);
学号第几次作业成绩
1122
1233
1344
2155
2266
2377
3188
3299
33100
二、概要设计
1.程序设计组成框图
2.程序流程图
三、详细设计
1.函数的入口和出口
<<"输入操作1-78退出\n\n";
<<"
(1)通过键盘输入某位学生某次作业的分数,请按1\n";
<<"
(2)给定学号,显示某位学生作业完成情况,请按2\n";
<<"(3)给定某个班级的班号,显示该班所有学生的作业完成情况,请按3\n";
<<"(4)给定某位学生的学号,修改该学生的作业完成信息,请按4\n";
<<"(5)给定某位学生的学号,删除该学生的信息,请按5\n";
<<"(6)按学生的最终平时成绩进行排序,请按6\n";
<<"(7)输出平均分数,请按7\n";
<<"(8)退出,请按8\n\n";
2.主函数
(){
;
;
;
;
<>;
1("0001","Clark",1);
2("0002","",1);
3("0003","",2);
(1);
(2);
(3);
3.成员函数
():
用来实现十次作业的情况输入和。
():
用来实现某个学生十次完成作业的情况。
():
让后面的类调用此函数,名字函数。
():
让后面的类调用此函数,学号函数,实现根据学号显示此学生的作业完成情况。
():
让后面的类调用此函数,班级函数,实现根据班级显示学生作业完成情况的功能。
():
记录成绩函数,使后面的类调用此函数用来显示修改后的成绩。
():
获得作业完成情况函数,使后面的类调用此函数实现修改后的学生作业完成情况。
():
排序函数,使用快速排序实现对学生总成绩的排序。
四、调试分析
(1)在类中调用函数时,出现了一些错误,问题出现在调用时的函数变量和初始化函数时的变量不一致,然后又检查程序,将变量匹配。
(2)运用了快速排序的方法,到调用排序函数时出现变量不匹配,检查程序,并修改。
(3)在输出平均成绩的时候,循环出现错误,没有语法错误,但是输出结果及正确结果不一致,后来发现是最后输出在循环内,所以又进行了修改。
(4)运用了容器,在用之前并不熟悉这个功能,也出现了不少错误,比如它的定义,装载,输出,最后通过上网了解了容器的功能对程序加以修改直至没有错误。
(5)运用了功能,这个功能适用于对这次设计的查询并修改的程序,使程序更优化。
(6)对数据结构有了进一步的理解,使用算法后可以使设计思路更加清晰,对所学过东西的结合,也学了新的东西,。
五、核心源程序清单和执行结果
1.程序清单
<>
<>
<>属于库,为了把c和分开
<>是一种关联容器,它定义了一种数据结构,类似查表功能,每一个数据都有自己的键值,通过键值可以查找和排序相应的数据
;
{
;学生学号
;学生姓名
;学生所正在班级
;所有作业成绩之和
[10];十次作业完成情况及成绩
{1};枚举类型,枚举初始化,将学生完成情况一一枚举出来,等待成绩赋值
:
()()()(){构造函数赋值
(0<10)
[i];初始化学生的10次作业都是未完成的
}
(){录入成绩函数,是每次作业计数,是作业分数
[1];把每次作业成绩赋给作业完成情况
}
(){得到作业完成情况函数
[1];
}
(){作业总成绩函数
0;
(0<10)
([i])
[i];
;
}
(){显示最后学生作业完成情况函数
(0<10)
([i])
<<"\t";
<<[i]<<"\t";
<<"\n";
}
(){初始化学生姓名函数
;
}
(){初始化学生学号函数
;
}
(){初始化学生所在班级函数
;
}
};
(sa[]b[]){快速排序,排序平均成绩
;
x;
y;
;
;
[i];
[i];
()
{((j>i)(a[j]>));
(j>i)
{a[i][j];b[i][j];;}
((j>i)(a[i]<));
(j>i)
{a[j][i];b[j][i];;}
}
a[i];
b[i];
;;
(j>s)();
(i } (){ ; ; ; ; <>;定义容器 1("1","",1);把三个学生信息存到容器中 2("2","",1); 3("3","",2); (1); (2); (3); a[1000]; b[1000]; <<"输入操作1-78退出\n\n"; <<" (1)通过键盘输入某位学生某次作业的分数,请按1\n"; <<" (2)给定学号,显示某位学生作业完成情况,请按2\n"; <<"(3)给定某个班级的班号,显示该班所有学生的作业完成情况,请按3\n"; <<"(4)给定某位学生的学号,修改该学生的作业完成信息,请按4\n"; <<"(5)给定某位学生的学号,删除该学生的信息,请按5\n"; <<"(6)按学生的最终平时成绩进行排序,请按6\n"; <<"(7)输出平均分数,请按7\n"; <<"(8)退出,请按8\n\n"; (){ <<"输入操作1-78退出\n"; 0; >>; (){ 1: <<"输入某位学生学号某次作业的分数\n"1号功能 >>>>>>; (0<()) ([i]()) [i](); ; 2: <<"给定学号,显示某位学生作业完成情况\n"2号功能 >>; (0<()) ([i]()) [i](); ; 3: <<"给定某个班级的班号,显示该班所有学生的作业完成情况\n"3号功能 >>; (0<()) ([i]()){ <<[i]()<<"\n"; [i](); } ; 4: <<"给定某位学生的学号,修改该学生的作业完成信息为未完成\n"4号功能 >>>>; (0<()) (0<()) ([i]()) [i] (1); ; 5: <<"给定某位学生的学号,删除该学生的信息\n"5号功能 >>; (0<()) ([i]()) ([i]); ; 6: <<"按学生的最终平时成绩进行排序\n"6号功能 (0<()) a[1][i]()[1][i](); (1()); (()>=1){ < <<; } ; 7: <<"输出平均分数\n"7号功能 (0<()) { [i](); } <<(); <<; ; : ; } } } 2.执行结果 输入操作1-78退出 (1)通过键盘输入某位学生某次作业的分数,请按1 (2)给定学号,显示某位学生作业完成情况,请按2 (3)给定某个班级的班号,显示该班所有学生的作业完成情况,请按3 (4)给定某位学生的学号,修改该学生的作业完成信息,请按4 (5)给定某位学生的学号,删除该学生的信息,请按5 (6)按学生的最终平时成绩进行排序,请按6 (7)输出平均分数,请按7 (8)退出,请按8 输入操作1-78退出 1 输入某位学生学号某次作业的分数 1 1 22 输入操作1-78退出 1 输入某位学生学号某次作业的分数 1 2 33 输入操作1-78退出 1 输入某位学生学号某次作业的分数 1 3 44 输入操作1-78退出 1 输入某位学生学号某次作业的分数 2 1 55 输入操作1-78退出 1 输入某位学生学号某次作业的分数 2 2 66 输入操作1-78退出 1 输入某位学生学号某次作业的分数 2 3 77 输入操作1-78退出 1 输入某位学生学号某次作业的分数 3 1 88 输入操作1-78退出 1 输入某位学生学号某次作业的分数 3 2 99 输入操作1-78退出 1 输入某位学生学号某次作业的分数 3 3 100 输入操作1-78退出 6 按学生的最终平时成绩进行排序 287 198 99 输入操作1-78退出 7 输出平均分数 194.667 输入操作1-78退出 2 给定学号,显示某位学生作业完成情况 2 556677 输入操作1-78退出 3 给定某个班级的班号,显示该班所有学生的作业完成情况 1 223344 556677 输入操作1-78退出 4 给定某位学生的学号,修改该学生的作业完成信息为未完成 3 2 输入操作1-78退出 2 给定学号,显示某位学生作业完成情况 3 88100 输入操作1-78退出 5 给定某位学生的学号,删除该学生的信息 2 输入操作1-78退出 2 给定学号,显示某位学生作业完成情况 2 输入操作1-78退出 六、参考文献 [1]《数据结构》.王红梅.清华大学出版社 [2]《数据结构学习辅导及实验指导》.王红梅.清华大学出版社 [3]《程序设计》.钱能.清华大学出版社 [4]《程序设计试验指导》.钱能.清华大学出版社 [5]《程序设计》.谭浩强.清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 作业 完成 情况 管理程序