C实现学生成绩统计管理系统



《C实现学生成绩统计管理系统》由会员分享,可在线阅读,更多相关《C实现学生成绩统计管理系统(3页珍藏版)》请在装配图网上搜索。
1、课程设计任务书 题目: c+十实现学生成绩统计管理系统 课程设计任务书及成绩评定 课程设计的任务和具体要求 1、开设本课程的冃的是使学生通过小型软件的开发过程,进一步掌握面向对象的程 序设计方法,培养学生的创新能力和创新意识。 2・提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 3・训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的 科学的工作方法和作风。 指导教师签字: 日期: 指导教师评语 成绩: 指导教师签字: 日期: 课程设计所需软件、硬件等 1、 微型计算机 2、 WindOWS XP 3、 VC6.0 课程设计进度计划
2、 起至日期 工作内容 ^ 2010年12 月 1 日-2010 年12月20日 2010年12月 20 R-2010 年12月26 H 收集资料 ?z 编写程序 I 参考文献、资料索引 序号 y V^V^⅜4z 舖^^ 0 ( /编著者/ • C C^^L 《C+十程序设计》(第二版),谭浩强著,清华大学出版社 3 1课程设计的目的 1 2课程设计的要求 1 3课程设计报告内容 1 1 程序设计题目 1 2 程序实现思路 1 3 程序模块分析 1 4 系统顶级用例图 2 5 程序清单 2 4总结 3 参考文献 3 附录 3 一
3、、 课程设计教学目的 本课程设计是《高级语言程序设计9++)》课程的组成之一,也是它的继续和延伸。采用 研究型学习方法,完成一个管理类型的小型软件。开设本课程的目的是使学生通过小型软件的 开发过程,进一步掌握面向对象的程序设计方法,培养学生的创新能力和创新意识。 二、 课程设计的要求 1・了解并掌握面向对象程序设计方法,貝备初步的独立分析和设计能力; 2・初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基木方法和技能; 3・提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4・训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工 作方法和
4、作风。 5・设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。 6・编写出课程设计说明书。 7.学生必须仔细阅读《C+十语言程序设计》课程设计方案,认真主动完成课设的要求。有问题 及时主动通过各种方式与教师联系沟通。学生要发挥自主学习的能力,充分利用时间,安排好 课设的时间计划,并在课程设过程中不断检测自己的计划完成情况。 &课程设计前期安排学习C+十编程和面向对象的软件工程的有关知识,以自学和上机实验为 主。 三・课程设计报告内容 1题目内容 学生成绩统计管理系统 2功能要求: ① 成绩的输入(学号、姓名、英语、数学、。++语言…)。 ② 成绩统计(
5、各科平均成绩、各科成绩“优秀”、“良好”、“中等”、“及格”、“不及格”的人数 及其所占比例)。 ③ 总成绩统计(学生的总成绩、平均成绩及成绩排名)。 ④ 成绩的统计结果显示。 ⑤ 学生数据的添加、修改、与删除。 ⑥ 学生数据的读取与存储。 3程序实现思路(技术线路): 先创建一个学生元素类,用于存放学生的各种数据。然后创建另一个类,把数据存储, 可便进行各种操作。木程序中比较核心的技术就是用到了堆排序,将学生按优先级(高的排 前面,低的排后面)的大小进行有序排列。堆排序的时间复杂度较一般排序(如:冒泡,选 择等)来得低,可使程序显示数据时效率更高。 3程序模块分析: 1)添加
6、数据: 把用户输入的数据添加到学生类对象数组屮,然后再将其入堆,使其有序。 2)删除数据: 由用户输入要删除的学生的学号,然后将其从学生类对象数组中删除,使数组中的数据 仍然有序。 3) 查找数据: 由用户输入要查找的学生的学号,然后调用验0类中关于查找的函数,将查找结果显 示在屏幕上。 4) 显示数据: 调用8。类中关于显示数据的函数,把所有的学生数据都显示在屏幕上。 5) 清除数据: 调用1。0类中关于清除数据的函数,把所有的学牛数据都清空。 6) 退出程序: 若用户输入了数字0,则主函数结束循环,同时程序也就结束了。 5程序清单:(见附录) ^^^^Λ 四、总
7、结
通过做这个课程设计让我逐步学会了使用《面向对象程序设计》设计方法及思想来解决 实际问题,更深刻的理解FC++这种面向对象程序的设计语言。同时,通过查阅各类技术文 献、资料、手册解决了许多设计时遇到的难题,也使我提高了编写技术文献的能力。
附录: .
#include
8、float eng; float math; float clang;//定义 c++ float gete(){return eng;} float getm(){return math;} float getcl(){return clang;} String getn(){return num;} String getna(){return name;} int rank[3]; int row;//排名 int sinto(string5string5∩oat9float5float);//输入数据 VOid sshow();//输出数据 float sall();
9、// 求和 float save();//求平均
VOid objrank();//成绩分类
};
VOid shows()//普通函数
{
cout< 10、
{ num=al;name=a2;
eng=bl ;math=b2;clang=b3;
return 0;
}
VOid student::sshow()//^y 出
{ ∖AJΛA)ΛA ; HmT^l nCFF>
cout< 11、cout< 12、(n)
{
CaSe 9:n=l;break;
CaSe 8:n=2;break;
CaSe 7:n=3;break;
CaSe 6:n=4;break; default:n=5;} rank [订=口;
〃类StUdent结束
〃类IeO开始
CIaSS IeO
{private:
StUdent item[Smax]; int size;
public:
leo();
VOid lsize(int);//设置数组大小
VOid Iinit();//清 空
VOid Iinsert();//添加!
VOid Idelet(String);//删除
VOid 13、lsearch(string);〃查找
VOid Ichan(String);//修改
VOid Ipcent();//成绩分类
VOid Irow();//排序
VOid obave();//求平均
VOid Iview();//显示全部数据
VOid Icin();//从磁盘输出
VOid Icout();//储存到磁盘 };
leo::leo()
{ StUdent item[Smax];
Isize(O);
VOid leo::lsize(int i)
{size=i; }
VOid leo::linit()
{ Isize(O);
cout<<π学生数据 14、清除成功y 15、l)cout<<π∖n 删除失败!π< 16、>b 1 >>b2>>b3;
for(int i=O;i 17、int N=O;
for(int i=O;i 18、t i=O;i 19、leo::lrow()〃排序
5
{ StUdent temb;
if(size>l)
{
for(int i=O;i 20、e item[i+l].row=i+l;〃并列排名
}}
else if(size==l) item[0].row=l;
}
VOid leo::lview()//SzT
{
if(size==0){cout<<π当前学生数据为空,请添加....π< 21、Oid leo::obave()//统计科目
{ if(size!=O)
{
float sum[3] = {0};
for(int i=O;i 22、l 平均成绩是 √,< 23、;
p[l][i]=item[i].rank[l];
p[2][i]=item[i].rank[2];
}
for(int k=O;k<3;k++)
{ int b[5]={0};
for(int i=O;i 24、 优 y
25、ags(ios::fixed)< 26、d[i]?e [i] );size++;
if(f[i]==l) break;
}
infile.close();
}
VOid leo::lcout()
{ofstream outfile(Hok.txt!\ios::out);
if(! OUtfiIe) cerr<<π文件打开失败。y 27、;
outfile.close();
}
VOid ShOWmenUO
{
cout<<π
cout<<π∣
H・
5
|^< 28、π
t∣ •
9
cout<<π∣
3・添加:插入一个学生数据
∣u< 29、看系统注意事项
∣π< 30、正在打开文件,请稍后...π< 31、科分类情况
}
if(c==π3n)
{ cout<<π你选择了 3 , IeO l.li nsert();
}
请输出要删除的学号ιπ< 32、=π7υ)
{ cout<<π你选择了 7,全部数据将要清空”<
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。