广东石油化工学院学生成绩管理系统第六份.docx

上传人:b****5 文档编号:30159026 上传时间:2023-08-05 格式:DOCX 页数:14 大小:121.73KB
下载 相关 举报
广东石油化工学院学生成绩管理系统第六份.docx_第1页
第1页 / 共14页
广东石油化工学院学生成绩管理系统第六份.docx_第2页
第2页 / 共14页
广东石油化工学院学生成绩管理系统第六份.docx_第3页
第3页 / 共14页
广东石油化工学院学生成绩管理系统第六份.docx_第4页
第4页 / 共14页
广东石油化工学院学生成绩管理系统第六份.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

广东石油化工学院学生成绩管理系统第六份.docx

《广东石油化工学院学生成绩管理系统第六份.docx》由会员分享,可在线阅读,更多相关《广东石油化工学院学生成绩管理系统第六份.docx(14页珍藏版)》请在冰豆网上搜索。

广东石油化工学院学生成绩管理系统第六份.docx

广东石油化工学院学生成绩管理系统第六份

成绩

评阅人

评阅日期

 

广东石油化工学院

C++程序设计训练

专业

班级

学号

姓名

指导教师

完成时间

一、上机内容

用C++语言设计一个简单的学生成绩管理系统,主要功能包括:

1.输入学生的各科成绩;

2.计算总分;

3.计算平均分;

4.计算名次(按平均分);

5.可查询任一学生的成绩情况;

6.计算可科目的优秀率和合格率。

二、程序源代码

#include

#include

#include

#include

usingnamespacestd;

intn;

chary;

doubleaverage;

structstudent

{

doublescore1;

doublescore2;

doublescore3;

doublescore4;

doublescore5;

doublesum;

doublenum;

charname[8];

doubleavr;

}stu[1000];

intmain()

{

voidsprint();//声明sprint函数

voidending();//声明ending函数

voidsort(studentstu[]);//声明sort函数

voidrate(studentstu[]);//声明rate函数

voidsearch(charfind_name[]);//声明search函数

voidinput();//声明input函数

voidoutput();//声明output函数

inti;

charfind_name[8];

sprint();

cout<<"pleaseinputnumberofthisclass(最多不超过1000人):

";

cin>>n;

system("cls");

input();//录入学生信息

system("cls");//清屏

for(i=0;i

{

stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+stu[i].score5;

stu[i].avr=stu[i].sum/5.0;

}

output();

cout<

rate(stu);

cout<

sort(stu);

cout<

cout<<"输入你想查询的学生姓名:

"<

cin>>find_name;

cout<

search(find_name);

cout<

cout<<"quit?

";

cin>>y;

if(y=='y'||y=='Y')

{system("cls");

ending();}

elseif(y=='n'||y=='N')main();

elsecout<<"对不起,没有该操作!

!

!

";

cout<

//system("cls");

return0;

}

voidinput()//定义input函数

{inti;

for(i=0;i

{

cout<<"inputscoresofstudent"<

cout<<"NO.:

";

cin>>stu[i].num;

cout<<"name:

";

cin>>stu[i].name;

cout<<"请按顺序输入"<<""<

cout<<"score1:

";

cin>>stu[i].score1;

cout<<"score2:

";

cin>>stu[i].score2;

cout<<"score3:

";

cin>>stu[i].score3;

cout<<"score4:

";

cin>>stu[i].score4;

cout<<"score5:

";

cin>>stu[i].score5;

cout<

}

}

voidoutput()//定义output函数

{inti;

cout<<"NO.namescore1score2score3score4score5average"<

for(i=0;i

{cout<

cout<

cout<

}

}

voidsort(studentstu[])//按平均分由小到大排序

{

inti,j,k;

doubletemp1;

charq[8];

for(i=0;i

{

stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+stu[i].score5;

stu[i].avr=stu[i].sum/5.0;

}

for(i=0;i

{

for(j=i+1;j<(n-1);j++)

{

if(stu[i].avr

{

temp1=stu[j].avr;

stu[j].avr=stu[i].avr;

stu[i].avr=temp1;

temp1=stu[j].num;

stu[j].num=stu[i].num;

stu[i].num=stu[j].num;

strcpy(q,stu[i].name);

strcpy(stu[i].name,stu[j].name);

strcpy(stu[j].name,q);

}

}

}

cout<

cout<<"按平均分计算名次如下:

"<

cout<<"名次学号姓名平均分"<

for(i=0,k=0;i

{

cout<

}

}

voidrate(studentstu[])//定义rate函数

{

inti;

doubleA=0;

doubleB=0;

doubleC=0;

doubleD=0;

doubleE=0;

doubleF=0;

doubleG=0;

doubleH=0;

doubleI=0;

doubleJ=0;

for(i=0;i

{

if(stu[i].score1>=60)A++;

if(stu[i].score2>=60)B++;

if(stu[i].score3>=60)C++;

if(stu[i].score4>=60)D++;

if(stu[i].score5>=60)E++;

if(stu[i].score1>=90)F++;

if(stu[i].score2>=90)G++;

if(stu[i].score3>=90)H++;

if(stu[i].score4>=90)I++;

if(stu[i].score5>=90)J++;

}

cout<

cout<<"各科及格率"<

cout<<"科目1科目2科目3科目4科目5"<

cout<<""<

:

fixed)<

(2)<

cout<<""<

:

fixed)<

(2)<

cout<<""<

:

fixed)<

(2)<

cout<<""<

:

fixed)<

(2)<

cout<<""<

:

fixed)<

(2)<

cout<

cout<<"各科优秀率"<

cout<<"科目1科目2科目3科目4科目5"<

cout<<""<

:

fixed)<

cout<<""<

:

fixed)<

cout<<""<

:

fixed)<

cout<<""<

:

fixed)<

cout<<""<

:

fixed)<

cout<

}

voidsearch(charfind_name[])//定义search函数

{

inti;

for(i=0;i

if(strcmp(stu[i].name,find_name)==0)

{cout<

"<

cout<<""<<"学生学号:

"<

cout<<"score1score2score3score4score5average"<

cout<

break;

}

if(strcmp(stu[i].name,find_name)!

=0)cout<<"找不到该学生信息";

}

voidsprint()//定义sprint函数

{cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

骆颖达**********************"<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

voidending()//定义ending函数

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

三、程序运行

 

四、分析与总结

本次实验涉及的操作有多个,所以我选择由一个主函数带多个子函数,这样容易读代码并且可操作性高,其中使用了自定义结构体,定义学生的属性,再利用数组把所有信息连接起来,使用头文件include以在后面的排序和计算优秀合格率可以通过字符串变量操作,大大提高程序简洁性和可读性。

在写这个程序时其实思绪很重要,想分清各个子函数功能,再一个一个完成,在主函数中调用必要的子函数,做到这一点就能够很快捷,清晰的写出代码。

这个程序可以有多种写法,利用指针变量同样可以打到很好的效果。

展开阅读全文
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

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

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