C++学生成绩管理系统任务书及源程序.docx
- 文档编号:3773262
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:26
- 大小:22.87KB
C++学生成绩管理系统任务书及源程序.docx
《C++学生成绩管理系统任务书及源程序.docx》由会员分享,可在线阅读,更多相关《C++学生成绩管理系统任务书及源程序.docx(26页珍藏版)》请在冰豆网上搜索。
C++学生成绩管理系统任务书及源程序
《软件设计基础-C++》
课程设计任务书
学院班级
设计人成绩___
一、题目:
学生成绩管理系统
二、目的与要求:
1.目的:
(1)掌握面向对象程序设计的基本思路和方法;
(2)了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程;
2.基本要求:
(1)在VC++6.0环境中,学会调试程序的方法,及时查究错误,独立调试完成。
(2)程序调试通过后,完成程序文档的整理,加必要的注释。
3.创新要求:
在基本达到题目要求外,进行创新设计,如设计模糊查询。
4.书写设计报告的要求
设计报告中包含以下几个方面:
(1)设计题目
(2)总体设计
①概述所作系统的功能及用途
②用自顶而下或自底而上的方法,划分功能模块。
③确定各模块的算法
(3)根据算法画出模块图
(4)列出程序清单,并加以必要的注释
(5)写出调试程序的方法
(6)指出所设计问题的不足和改进方案
(7)总结本次设计的收获及心得
三、设计方法和基本原理:
1.问题描述:
编制一个简单的“学生成绩管理系统”,要求其主要功能有:
数据输入,成绩排序,成绩查询,成绩统计,奖学金评定,打印等基本功能。
2.问题的解决方案:
1.用静态数组或动态数组
2.排序模块,应针对各门课程的成绩或总分进行排序:
查询模块最好设计为可按学号,姓名,成绩任意属性进行;统计模块包括统计及格人数,不及格人数等功能。
3.可调用库函数来美化界面。
四、主要技术问题的描述:
运用数组和库函数实现学生成绩的录入、统计、查询、修改、删除、输出。
(1)定义类类型1)主函数main():
定义学生结构体数组,调用录入、统计等函数对成绩表进行处理;
(2)录入函数Input():
输入学生成绩;
(3)统计函数Statistic():
计算平均成绩;
(4)查询函数Lookup():
查询指定学号学生成绩记录;
(5)修改函数Modify():
修改指定学号学生成绩记录;
(6)删除函数Delete():
删除指定学号学生记录;
(7)输出函数Output():
输出班级所有学生成绩记录;
(8)排序函数Sort():
按平均分对学生成绩记录项进行降序排序;
(9)插入函数Insert():
按平均分顺序插入新记录。
另外,学生数据可写入文件,也可从文件中读取。
五、课程设计时间:
六、课程设计的考核方式及评分方法
1.考核方式
课程设计结束时,在机房当场验收。
(1)教师提供测试数据,检查运行结果是否正确。
(2)回答教师提出的问题。
(3)学生提交课程设计报告(A4纸打印),并将电子文档和源程序发至ftp服务器:
ftp:
//210.31.197.23
用户名和密码按照指导教师告知的即可。
2.评分方法
(1)出勤率
(2)课程设计准备工作
(3)课程设计期间纪律
(4)课程设计运行结果
(5)课程设计报告
(6)答辩情况
指导教师签字:
系主任签字:
日期:
年月日
#include
#include
#include
#include
#include
#include
#include
typedefstruct
{
charclass_0[20];//班级
intnumber;//学号
charname[20];//姓名
floatelectrics;//电子技术成绩
floatc_program;//C++语言成绩
floatmultimedia;//多媒体技术成绩
floatenglish;//大学英语成绩
floatmath;//高等数学成绩
floatsport;//体育成绩
floatpolity;//马克思主义政治经济学
floatsummary;//总分
floataverage;//平均分
}Student;
Studentstu[100];//结构体数组变量
intmenu()//菜单函数
{
charc;
do
{
system("cls");//运行前清屏
cout<<"*********************************************欢迎使用王者学生成绩管理系统*********************************************"< cout<<"基本操作: "< cout<<"【a】输入数据"< cout<<"【b】显示所有数据"< cout<<"【c】按平均分降序排列"< cout<<"【d】插入一组数据"< cout<<"【e】按班级学号修改一组数据"< cout<<"【f】按班级学号删除一组数据"< cout<<"查询: "< cout<<"【g】按班级学号查找并显示一组数据"< cout<<"【h】按姓名查找并显示一组数据"< cout<<"【i】按总成绩精确查找并显示一组数据"< cout<<"小小创新(模糊查询): "< cout<<"【j】按总成绩查模糊找并显示一组数据"< cout<<"【k】按班级找并显示一组数据"< cout<<"成绩统计: "< cout<<"【l】统计各科及格和不及格人数"< cout<<"【m】查看获得奖学金的同学"< cout<<"小小创新: "< cout<<"【n】统计要求分数段的人数"< cout<<"文件的输入输出: "< cout<<"【o】从文件中读入数据"< cout<<"【p】将所有记录写入文件"< cout<<"【q】退出本系统\n"< cout<<"*************************作者: 11级冶金与能源学院热能与动力工程2班王庆超201114680205*************************"< cout<<"请你选择操作(a-q): "< c=getchar();//读入选择 } while(c<'a'||c>'q'); return(c-'a');//返回选择 } intInput(Studentstud[],intn)//输入若干条记录 { inti=0; charsign; while(sign! ='n'&&sign! ='N')//判断 { cout<<"请输入学生的班别: ";//交互输入 cin>>stud[n+i].class_0; cout<<"请输入学生的学号: "; cin>>stud[n+i].number; cout<<"请输入学生的姓名: "; cin>>stud[n+i].name; cout<<"请输入该学生『电子技术』的成绩: "; cin>>stud[n+i].electrics; cout<<"请输入该学生『C++程序设计』的成绩: "; cin>>stud[n+i].c_program; cout<<"请输入该学生『多媒体技术』的成绩: "; cin>>stud[n+i].multimedia; cout<<"请输入该学生『大学英语』的成绩: "; cin>>stud[n+i].english; cout<<"请输入该学生『高等数学』的成绩: "; cin>>stud[n+i].math; cout<<"请输入该学生『大学体育』的成绩: "; cin>>stud[n+i].sport; cout<<"请输入该学生『马克思主义政治经济学』的成绩: "; cin>>stud[n+i].polity; stud[n+i].summary=stud[n+i].electrics+stud[n+i].c_program+stud[n+i].multimedia+stud[n+i].english+stud[n+i].math+stud[n+i].sport+stud[n+i].polity; stud[n+i].average=stud[n+i].summary/7; cout<<"该学生的总分为: "< "< cout<<"=====>提示: 继续写入成绩? (Y/N)"; cin>>sign;//输入判断 i++; } return(n+i); } voidDisplay(Studentstud[],intn)//显示所有记录 { inti; if(! stud) cout<<"没有记录"; else { cout<<"------------------------------------------------------------------------------------------------------------------"< cout< cout<<"------------------------------------------------------------------------------------------------------------------"< for(i=1;i { stud[i-1].summary=stud[i-1].electrics+stud[i-1].c_program+stud[i-1].multimedia+stud[i-1].english+stud[i-1].math+stud[i-1].sport+stud[i-1].polity; stud[i-1].average=stud[i-1].summary/7; cout< } cout<<"\t\t\t"< } system("pause"); } voidSort(Studentstud[],intn)//按平均分排序 { inti,j; Studentt;//用于排序交换的临时变量 for(i=0;i for(j=0;j if(stud[j].average { t=stud[j]; stud[j]=stud[j+1]; stud[j+1]=t; } cout<<"------------------------------------------------------------------------------------------------------------------"< cout< cout<<"------------------------------------------------------------------------------------------------------------------"< for(i=1;i { stud[i-1].summary=stud[i-1].electrics+stud[i-1].c_program+stud[i-1].multimedia+stud[i-1].english+stud[i-1].math+stud[i-1].sport+stud[i-1].polity; stud[i-1].average=stud[i-1].summary/7; cout< } } intInsert(Studentstud[],intn)//插入一条记录 { charx[10];//清除多余输入所用 cout<<"请输入学生的班别: ";//交互输入 cin>>stud[n].class_0; cout<<"请输入学生的学号: "; cin>>stud[n].number; cout<<"请输入学生的姓名: "; cin>>stud[n].name; cout<<"请输入该学生『电子技术』的成绩: "; cin>>stud[n].electrics; cout<<"请输入该学生『C++程序设计』的成绩: "; cin>>stud[n].c_program; cout<<"请输入该学生『多媒体技术』的成绩: "; cin>>stud[n].multimedia; cout<<"请输入该学生『大学英语』的成绩: "; cin>>stud[n].english; cout<<"请输入该学生『高等数学』的成绩: "; cin>>stud[n].math; cout<<"请输入该学生『大学体育』的成绩: "; cin>>stud[n].sport; cout<<"请输入该学生『马克思主义政治经济学』的成绩: "; cin>>stud[n].polity; stud[n].summary=stud[n].electrics+stud[n].c_program+stud[n].multimedia+stud[n].english+stud[n].math+stud[n].sport+stud[n].polity; stud[n].average=stud[n].summary/7; gets(x); n++; Sort(stu,n);//调用排序函数 cout<<"=====>提示: 插入成功! "< return(n); } voidModify(Studentstud[],intn)//按班级学号修改一组数据 { charx[20];//清除多余输入所用 ints; inti=0; cout<<"请输入需要修改成绩学生的班别: "< cin>>x; cout<<"输入需要修改成绩学生的学号: "< cin>>s; while(i =0||(stud[i].number-s)! =0))//查找判断 i++; if(i==n) { cout<<"=====>提示: 对不起,无该学生的成绩……"< return; } cout<<"---------------------------------------------------该学生的信息---------------------------------------------------"< cout< cout<<"------------------------------------------------------------------------------------------------------------------"< stud[i].summary=stud[i].electrics+stud[i].c_program+stud[i].multimedia+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity; stud[i].average=stud[i].summary/7; cout< cout<<"请输入学生的班别: ";//交互输入 cin>>stud[n+i].class_0; cout<<"请输入学生的学号: "; cin>>stud[n+i].number; cout<<"请输入学生的姓名: "; cin>>stud[n+i].name; cout<<"请输入该学生『电子技术』的成绩: "; cin>>stud[n+i].electrics; cout<<"请输入该学生『C++程序设计』的成绩: "; cin>>stud[n+i].c_program; cout<<"请输入该学生『多媒体技术』的成绩: "; cin>>stud[n+i].multimedia; cout<<"请输入该学生『大学英语』的成绩: "; cin>>stud[n+i].english; cout<<"请输入该学生『高等数学』的成绩: "; cin>>stud[n+i].math; cout<<"请输入该学生『大学体育』的成绩: "; cin>>stud[n+i].sport; cout<<"请输入该学生『马克思主义政治经济学』的成绩: "; cin>>stud[n+i].polity; stud[n+i].summary=stud[n+i].electrics+stud[n+i].c_program+stud[n+i].multimedia+stud[n+i].english+stud[n+i].math+stud[n+i].sport+stud[n+i].polity; stud[n+i].average=stud[n+i].summary/7; cout<<"该学生的总分为: "< "< gets(x); stud[i]=stud[n+i]; Sort(stu,n);//调用排序函数 cout<<"=====>提示: 修改成功! "< } intDelete(Studentstud[],intn)//按班级学号查找,删除一条记录 { charx[20];//清除多余输入所用 ints; inti=0,j; cout<<"请输入需要修改成绩学生的班别: "< cin>>x; cout<<"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 学生 成绩管理系统 任务书 源程序