C++学生成绩管理系统任务书及源程序Word格式文档下载.docx

上传人:b****4 文档编号:16679566 上传时间:2022-11-25 格式:DOCX 页数:26 大小:22.87KB
下载 相关 举报
C++学生成绩管理系统任务书及源程序Word格式文档下载.docx_第1页
第1页 / 共26页
C++学生成绩管理系统任务书及源程序Word格式文档下载.docx_第2页
第2页 / 共26页
C++学生成绩管理系统任务书及源程序Word格式文档下载.docx_第3页
第3页 / 共26页
C++学生成绩管理系统任务书及源程序Word格式文档下载.docx_第4页
第4页 / 共26页
C++学生成绩管理系统任务书及源程序Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C++学生成绩管理系统任务书及源程序Word格式文档下载.docx

《C++学生成绩管理系统任务书及源程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++学生成绩管理系统任务书及源程序Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

C++学生成绩管理系统任务书及源程序Word格式文档下载.docx

查询模块最好设计为可按学号,姓名,成绩任意属性进行;

统计模块包括统计及格人数,不及格人数等功能。

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;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

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

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