C++学生成绩管理系统任务书及源程序Word格式文档下载.docx
- 文档编号:16679566
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:26
- 大小:22.87KB
C++学生成绩管理系统任务书及源程序Word格式文档下载.docx
《C++学生成绩管理系统任务书及源程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++学生成绩管理系统任务书及源程序Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
查询模块最好设计为可按学号,姓名,成绩任意属性进行;
统计模块包括统计及格人数,不及格人数等功能。
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<
iostream.h>
//引用库函数
fstream.h>
stdlib.h>
ctype.h>
stdio.h>
string.h>
iomanip.h>
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<
<
"
*********************************************欢迎使用王者学生成绩管理系统*********************************************"
endl;
//菜单选择
基本操作:
endl<
【a】输入数据"
【b】显示所有数据"
【c】按平均分降序排列"
【d】插入一组数据"
【e】按班级学号修改一组数据"
【f】按班级学号删除一组数据"
cout<
查询:
【g】按班级学号查找并显示一组数据"
【h】按姓名查找并显示一组数据"
【i】按总成绩精确查找并显示一组数据"
小小创新(模糊查询):
【j】按总成绩查模糊找并显示一组数据"
【k】按班级找并显示一组数据"
成绩统计:
【l】统计各科及格和不及格人数"
【m】查看获得奖学金的同学"
小小创新:
【n】统计要求分数段的人数"
文件的输入输出:
【o】从文件中读入数据"
【p】将所有记录写入文件"
【q】退出本系统\n"
*************************作者:
11级冶金与能源学院热能与动力工程2班王庆超201114680205*************************"
请你选择操作(a-q):
c=getchar();
//读入选择
}
while(c<
'
a'
||c>
q'
return(c-'
//返回选择
intInput(Studentstud[],intn)//输入若干条记录
{
inti=0;
charsign;
while(sign!
='
n'
&
sign!
N'
)//判断
{
cout<
请输入学生的班别:
;
//交互输入
cin>
>
stud[n+i].class_0;
请输入学生的学号:
stud[n+i].number;
请输入学生的姓名:
stud[n+i].name;
请输入该学生『电子技术』的成绩:
stud[n+i].electrics;
请输入该学生『C++程序设计』的成绩:
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].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;
该学生的总分为:
stud[n+i].summary<
平均分为:
stud[n+i].average<
=====>
提示:
继续写入成绩?
(Y/N)"
sign;
//输入判断
i++;
}
return(n+i);
}
voidDisplay(Studentstud[],intn)//显示所有记录
inti;
if(!
stud)
没有记录"
else
{
------------------------------------------------------------------------------------------------------------------"
//格式头
setw(5)<
班别"
setw(10)<
学号"
姓名"
电子"
C++"
多媒体"
英语"
数学"
体育"
政治"
总分"
平均分"
for(i=1;
i<
n+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<
stud[i-1].class_0<
stud[i-1].number<
stud[i-1].name<
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].summary<
stud[i-1].average<
}
\t\t\t"
}
pause"
voidSort(Studentstud[],intn)//按平均分排序
inti,j;
Studentt;
//用于排序交换的临时变量
for(i=0;
n-1;
i++)//冒泡法排序
for(j=0;
j<
n-1-i;
j++)
if(stud[j].average<
stud[j+1].average)
t=stud[j];
stud[j]=stud[j+1];
stud[j+1]=t;
//格式头
for(i=1;
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;
intInsert(Studentstud[],intn)//插入一条记录
charx[10];
//清除多余输入所用
cin>
stud[n].class_0;
stud[n].number;
stud[n].name;
stud[n].electrics;
stud[n].c_program;
stud[n].multimedia;
stud[n].english;
stud[n].math;
stud[n].sport;
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);
//调用排序函数
插入成功!
//返回成功信息
return(n);
voidModify(Studentstud[],intn)//按班级学号修改一组数据
charx[20];
//清除多余输入所用
ints;
请输入需要修改成绩学生的班别:
cin>
x;
输入需要修改成绩学生的学号:
s;
while(i<
n&
(strcmp(stud[i].class_0,x)!
=0||(stud[i].number-s)!
=0))//查找判断
if(i==n)
对不起,无该学生的成绩……"
//输入失败信息
return;
---------------------------------------------------该学生的信息---------------------------------------------------"
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;
stud[i].class_0<
stud[i].number<
stud[i].name<
stud[i].electrics<
stud[i].c_program<
stud[i].multimedia<
stud[i].english<
stud[i].math<
stud[i].sport<
stud[i].polity<
stud[i].summary<
stud[i].average<
//交互输入
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;
该学生的总分为:
stud[i]=stud[n+i];
//调用排序函数
修改成功!
intDelete(Studentstud[],intn)//按班级学号查找,删除一条记录
charx[20];
inti=0,j;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 学生 成绩管理系统 任务书 源程序
![提示](https://static.bdocx.com/images/bang_tan.gif)