C学生成绩统计管理系统.docx

上传人:b****7 文档编号:8747941 上传时间:2023-02-01 格式:DOCX 页数:27 大小:552.54KB
下载 相关 举报
C学生成绩统计管理系统.docx_第1页
第1页 / 共27页
C学生成绩统计管理系统.docx_第2页
第2页 / 共27页
C学生成绩统计管理系统.docx_第3页
第3页 / 共27页
C学生成绩统计管理系统.docx_第4页
第4页 / 共27页
C学生成绩统计管理系统.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C学生成绩统计管理系统.docx

《C学生成绩统计管理系统.docx》由会员分享,可在线阅读,更多相关《C学生成绩统计管理系统.docx(27页珍藏版)》请在冰豆网上搜索。

C学生成绩统计管理系统.docx

C学生成绩统计管理系统

 

湖南科技学院

课程设计报告

 

课程名称:

计算机高级语言(C++)课程设计

课程设计题目:

学生通讯管理系统

系:

数学与计算科学系

专业:

信息与计算科学

年级、班:

信计0801

姓名:

谭鄱仑

学号:

2109

指导教师:

牛志毅

职称:

讲师

 

2010年12月

课程实验报告--------------------------------3

一、需求分析---------------------------------------------3

二、概要设计---------------------------------------------3

三、程序实现思路-----------------------------------------7

四、设计总结---------------------------------------------7

五、参考文献---------------------------------------------7

六、源代码-----------------------------------------------8

七、运行情况…………………………………………………………16

C++语言程序设计报告

一、需求分析

用C++编写下面程序

学生成绩统计管理系统(*****)

要求实现如下功能:

①成绩的输入(学号、姓名、英语、数学、C++语言…)。

②成绩统计(各科平均成绩、各科成绩“优秀”、“良好”、“中等”、“及格”、“不及格”的人数及其所占比例)。

③总成绩统计(学生的总成绩、平均成绩及成绩排名)。

④成绩的统计结果显示。

⑤学生数据的添加、修改、与删除。

⑥学生数据的读取与存储。

二、概要设计

主要数据定义以及各程序模块的功能:

Student类中:

classStudent

{

private:

intid;C++程序设计.清华大学出版社,

六源程序

/*****************************************

课程设计题目:

学生信息管理系统

班级:

0901

学号:

2109

姓名:

谭鄱仑

*****************************************/

#include""

intmain()

{

inti=0;

charok;

Studentifostuifo;

Studentifo*ifo=&stuifo;

ShowMenu();

cout<<"选择对应数字进行操作:

";

while(i!

=9)

{

cin>>i;

system("cls");

ShowMenu();

DoMenu(i,ifo);

ShowTip();

}

if(flag)

cout<<"数据已改动,是否保存Y/N";

cin>>ok;

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

{

ifo->MakeAll();

ifo->ClearRank();

ifo->MakeRank();

Save(ifo);

cout<<"数据已保存...按任意键安全退出";

}

else

cout<<"已安全退出...按任意键返回";

}

#ifndefSTUDENT_H_INCLUDED

#defineSTUDENT_H_INCLUDED

#include

#include

#include

#include

#include

#include

usingnamespacestd;

classStudent

{

private:

intid;etStudentID(n);

}

voidStudentifo:

:

LoadName(intn,stringname)

{

stu[n].SetStudentName(name);

}

voidStudentifo:

:

LoadScore(intn,doubley,doubles,doublec)

{

stu[n].SetStudentScore(y,s,c);

}

voidStudentifo:

:

Setifo()

{

intn;

cout<<"输入学号:

";

cin>>n;

if(stu[n].StudentX()==1||n<=0)

cout<<"该学号已有或者学号信息错误"<

else

{

stu[n].SetStudentID(n);

stu[n].SetStudentName("\0");

stu[n].SetStudentScore(0,0,0);

stu[n].SetStudentX

(1);

num++;

cout<

}

}

voidStudentifo:

:

Putifo()

{

inti,s1=0,y1=0,c1=0,y2=0,s2=0,c2=0,y3=0,s3=0,c3=0,y4=0,s4=0,c4=0,y5=0,s5=0,c5=0;

doubleY=0,S=0,C=0;

if(num==0)

cout<<"没有学生数据"<

else

{

cout<<"|***************************学生综合信息**************************|"<

cout<<"|学号"<<"\t"<<"姓名"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"C++"<<"\t"<<"总成绩"<<"\t"<<"名次"<<"\t"<<"等级|"<

cout<<"|*****************************************************************|"<

for(i=1;i<=100;i++)

{

if(stu[i].StudentX()==1)

{

Y+=stu[i].StudentYscore();

S+=stu[i].StudentSscore();

C+=stu[i].StudentCscore();

cout<<"|"<

cout<

cout<

cout<

cout<

stu[i].Getall();

cout<

cout<

cout<

cout<<"\t|"<

cout<<"|*****************************************************************|"<

}

if(stu[i].StudentX()==1)

{

if(stu[i].StudentYscore()>=0&&stu[i].StudentYscore()<60)

y1++;

elseif(stu[i].StudentYscore()>=60&&stu[i].StudentYscore()<70)

y2++;

elseif(stu[i].StudentYscore()>=70&&stu[i].StudentYscore()<80)

y3++;

elseif(stu[i].StudentYscore()>=80&&stu[i].StudentYscore()<90)

y4++;

else

y5++;

if(stu[i].StudentSscore()>=0&&stu[i].StudentSscore()<60)

s1++;

elseif(stu[i].StudentSscore()>=60&&stu[i].StudentSscore()<70)

s2++;

elseif(stu[i].StudentSscore()>=70&&stu[i].StudentSscore()<80)

s3++;

elseif(stu[i].StudentSscore()>=80&&stu[i].StudentSscore()<90)

s4++;

else

s5++;

if(stu[i].StudentCscore()>=0&&stu[i].StudentCscore()<60)

c1++;

elseif(stu[i].StudentCscore()>=60&&stu[i].StudentCscore()<70)

c2++;

elseif(stu[i].StudentCscore()>=70&&stu[i].StudentCscore()<80)

c3++;

elseif(stu[i].StudentCscore()>=80&&stu[i].StudentCscore()<90)

c4++;

else

c5++;

}

}

cout<<"___________________________________________________"<

cout<<"|********************各科成绩信息*******************|"<

cout<<"\t|\t"<<"\t"<<"英语"<<"\t\t"<<"数学"<<"\t\t"<<"C++\t|"<

cout<<"\t|平均成绩\t"<

cout<<"\t|不及格\t"<<100*double(y1)/num<<"%"<<"\t\t"<<100*double(s1)/num<<"%"<<"\t\t"<<100*double(c1)/num<<"%"<<"\t|"<

cout<<"\t|及格\t"<

cout<<"\t|中等\t"<

cout<<"\t|良好\t"<

cout<<"\t|优秀\t"<

cout<<"|___________________________________________________|"<<"\n"<

cout<<"*********************************各等级人数*********************************"<

cout<<"成绩"<<"\t"<<"优秀"<<"\t"<<"良好"<<"\t"<<"中等"<<"\t"<<"及格"<<"\t"<<"不及格为"<

cout<<"英语"<<"\t"<

cout<<"数学"<<"\t"<

cout<<"C++"<<"\t"<

cout<<"****************************************************************************"<

}

}

voidStudentifo:

:

PutifoRank()

{

if(num==0)

cout<<"没有学生数据"<

else

{

cout<<"名次"<<"\t"<<"姓名"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"C++"<<"\t"<<"总成绩"<<"\t"<<"学号"<<"\t"<<"等级"<

for(intn=1;n<=num;n++)

{

for(inti=1;i<=100;i++)

if(stu[i].StudentX()==1&&stu[i].Rank()==n)

{

stu[i].Getall();

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

}

}

}

voidStudentifo:

:

PutID()

{

intn,i,k=0;

stringstr2;

pick:

{

cout<<"**************"<

cout<<"*1:

按学号查找*"<

cout<<"*2:

按姓名查找*"<

cout<<"*3:

退出查找*"<

cout<<"**************"<

cout<<"请选择:

";

}

cin>>i;

switch(i)

{

case1:

{

cout<<"输入学号:

";

cin>>n;

if(stu[n].StudentX()==2)

{

cout<<"错误!

不存在该学生"<

gotopick;

}

else

{

cout<<"学号"<<"\t"<<"姓名"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"C++"<<"\t"<<"总成绩"<<"\t"<<"名次"<<"\t"<<"等级"<

{

cout<

cout<

cout<

cout<

cout<

stu[n].Getall();

cout<

cout<

cout<

cout<

}

}

}

break;

case2:

{

cout<<"输入姓名:

";

cin>>str2;

cout<<"学号"<<"\t"<<"姓名"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"C++"<<"\t"<<"总成绩"<<"\t"<<"名次"<<"\t"<<"等级"<

for(intj=1;j<=100;j++)

if(stu[j].StudentName()==str2&&stu[j].StudentX()==1)

{

cout<

cout<

cout<

cout<

cout<

stu[n].Getall();

cout<

cout<

cout<

cout<

k++;

}

if(k==0)

{

cout<<"错误!

不存在该学生请重新输入:

"<

gotopick;

}

break;

case3:

break;

}

}

}

voidStudentifo:

:

ClearID()

{

intn;

cout<<"输入学号:

";

cin>>n;

if(stu[n].StudentX()==1)

{

stu[n].SetStudentX

(2);

--num;

}

else

cout<<"无此人"<

}

voidStudentifo:

:

Clear()

{for(inti=0;i<=100;i++)

stu[i].SetStudentX

(2);

num=0;

cout<<"数据已清空";

}

voidStudentifo:

:

ClearRank()

{

for(inti=1;i<=100;i++)

stu[i].RankClear();

}

voidStudentifo:

:

MakeRank()

{

for(inti=1;i<100;i++)

for(intj=i+1;j<=100;j++)

{

if(stu[i].StudentX()==1&&stu[j].StudentX()==1)

{

if(stu[i].All()

stu[i].SetRank();

elseif(stu[i].All()>stu[j].All())

stu[j].SetRank();

}

}

}

voidStudentifo:

:

ReSetifo()

{

intn,x,y;

fixinfo:

cout<<"请输入需要修改学生的学号:

";

cin>>n;

if(stu[n].StudentX()==2)

{

cout<<"没有该学号学生信息,重试请按1,退出请按其他数字"<

intz;

cin>>z;

if(z==1)

gotofixinfo;

else

gotoend;

}

else

fix:

{

cout<<"$$$$$$$$$$$$$$"<<'\n';

cout<<"$1:

修改学号$"<<'\n';

cout<<"$2:

修改姓名$"<<'\n';

cout<<"$3:

修改成绩$"<<'\n';

cout<<"$4:

退出修改$"<<'\n';

cout<<"$$$$$$$$$$$$$$";

cout<

cout<<"请选择:

";

cin>>x;

switch(x)

{

case1:

{

cout<<"请输入新学号:

";

loop:

cin>>y;

for(inti=1;i<=num;i++)

if(stu[i].StudentID()==y)

{

cout<<"该学号已存在,请重新输入:

";

gotoloop;

}

stu[n].SetStudentID(y);

cout<<"学号修改成功!

\n";

gotofix;

}

break;

case2:

{

stu[n].SetStudentName("\0");

cout<<"姓名修改成功\n";

gotofix;

}

break;

case3:

{

stu[n].SetStudentScore(0,0,0);

cout<<"成绩修改成功\n";

gotofix;

}

break;

end:

case4:

break;

}

}

}

voidStudentifo:

:

MakeAll()

{

for(inti=1;i<=100;i++)

for(i=1;i<=100;i++)

if(stu[i].StudentX()==1)

stu[i].Getall();

}

voidStudentifo:

:

Xfix(intn)

{

stu[n].SetStudentX

(1);

}

intStudentifo:

:

X(intn)

{

intx=stu[n].StudentX();

returnx;

}

intStudentifo:

:

ID(intn)

{

intx=stu[n].StudentID();

returnx;

}

stringStudentifo:

:

Name(intn)

{

stringstr1=stu[n].StudentName();

returnstr1;

}

doubleStudentifo:

:

Yscore(intn)

{

doublex=stu[n].StudentYscore();

r

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

当前位置:首页 > 初中教育

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

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