C++高校学籍管理系统.docx

上传人:b****8 文档编号:30521058 上传时间:2023-08-16 格式:DOCX 页数:16 大小:28.15KB
下载 相关 举报
C++高校学籍管理系统.docx_第1页
第1页 / 共16页
C++高校学籍管理系统.docx_第2页
第2页 / 共16页
C++高校学籍管理系统.docx_第3页
第3页 / 共16页
C++高校学籍管理系统.docx_第4页
第4页 / 共16页
C++高校学籍管理系统.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C++高校学籍管理系统.docx

《C++高校学籍管理系统.docx》由会员分享,可在线阅读,更多相关《C++高校学籍管理系统.docx(16页珍藏版)》请在冰豆网上搜索。

C++高校学籍管理系统.docx

C++高校学籍管理系统

课题2:

高校学籍管理系统

(1)、课程设计题目:

高校学籍管理系统

(2)、目的与要求:

1、目的:

(1)要求学生达到熟练掌握C++语言的基本知识和技能;

(2)基本掌握面向对象程序设计的基本思路和方法;

(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题

2、基本要求:

(1)要求利用面向对象的方法以及C++勺编程思想来完成系统的设计;

(2)要求在设计的过程中,建立清晰的类层次;

(3)在系统的设计中,至少要用到面向对象的一种机制。

3、创新要求:

在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

4、写出设计说明书

(3)、设计方法和基本原理:

1、问题描述(功能要求):

(1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。

(2)能够将指定的信息从文件中删除。

(3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

(4)可以统计全部学生的总成绩,及其在班上的排名。

(5)能够统计各科的平均成绩及及格率。

(6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。

(7)如果检索不到相应的信息应提示用户。

(8)扩展要求:

能先行设置本学期的科目

每个学生信息应该包括:

姓名、学号、成绩

成绩信息应该包括:

科目数量、各科目名称、各科目成绩

2、问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

(1)写出需求分析(做什么);

(2)分析系统中的各个实体之间的关系及其属性和行为;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述(包括属性和方法);

(5)完成类中各个成员函数的定义;

(6)用户界面的设计;

(7)分析系统功能模块(系统流程图);

(8)代码编写,功能调试;

(9)完成系统总结报告以及系统使用说明书。

#include

#include

usingnamespacestd;

intdi=0;

intnum=O;

classxinxi

{

public:

intnumber;

charname[20];

charsex[6];

charp[100][10];

floatfenshu[10];

floatshuliang;

floataverage;

floatsum;

floataver;

floatjigelv;

inti;

virtualvoidShow()//显示

{

cout<<"学生学号:

"<

"<

"<

"<

for(inti=O;i

{

cout<

"<

}

cout<<"总成绩为:

"<

cout<<"平均成绩为:

"<

}

voidBook(intn)

{

cout<<"学生学号:

";cin>>number;

cout<<"学生姓名:

";cin>>name;

cout<<"学生性别:

";cin>>sex;

while

(1)

{

if(strcmp(sex,"男")==O||strcmp(sex,"女")==0)

{

break;

}

else

{

cout<<"输入有误,请重新输入:

"<

cin>>sex;

}

}

/*cout<<"请输入本学期科目数量:

";〃通过数量确定课程

cin>>shuliang;

for(i=0;i

{

cout<<"请输入科目"<

cin>>p[i];

cout<<"请输入科目"<

cin»fenshu[i];

}*/

while

(1)//通过课程确定数量

{

chara;

intb;

for(i=0,b=0;;i++)

{

cout<<"请输入科目"<

cin>>p[i];

cout<<"请输入科目"<

cin»fenshu[i];

b++;

cout<<"是否继续输入?

(Y/N)"<

cin>>a;

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

continue;

else

{

shuliang=b;

break;

}

}

break;

}

/*virtualvoidSave(fstream&f)〃保存到文件f中

{

f<

}

virtualvoidLoad(fstream&f)〃从文件f中导出数据

{

f»number>>name»sex»fenshu»shuliang»average»sum;

}*/

};

xinxid[100];

xinxiv[100];

//输入学生信息

voidBookIn()

{

while

(1)

 

cout<<"

*************************

"<

cout<<"

*************************

"<

 

cout<<"请输入学生信息:

"<

d[di].Book(num++);

//计算总成绩和平均成绩

di++;

for(intj=O;j

{

floats=0;

for(inti=0;i

{

s=s+d[j].fenshu[i];

}

d[j].sum=s;d[j].average=d[j].sum/d[j].shuliang;

}cout<<"是否继续输入:

丫继续、其他退出"<

cin>>x;

if(x!

='y'&&x!

='Y')break;

}

}

〃删除学生信息

voidBookOut(){

inti;while

(1){

intc;

cout<<"请输入您要删除的学生学号:

"<

cin>>c;

for(i=0;i

if(c==d[i].number)

{

d[i]=d[--di];

cout<<"删除成功!

"<

}

else{

cout<<"输入错误!

"<

}

cout<<"是否继续删除:

丫继续、其他退出"<

cin>>x;

if(x!

='y'&&x!

='Y')break;

}

}//学生信息查询voidInquiry()

{

while

(1)

cout<<"1、按学号查询"<

?

"<

intc;

inttest;cin»c;

if(c==1)

{

cout<<"请选择要查询学号:

";

inta;

cin>>a;

for(inti=O;i

{

if(a==d[i].number)

{

test=1;

break;

}

else

test=0;

}

if(test==0)

{

cout<<"没有这个学生!

"<

}

elseif(test==1)

{

d[i].Show();

}

}

elseif(c==2)

{

charc[10];

cout<<"请选择要查询的姓名:

";

cin>>c;

for(inti=0;i

{

if(strcmp(c,d[i].name)==O)

{

test=1;

break;

}

else

test=0;

}

if(test==O)

{

cout<<"没有这个学生!

"<

}

elseif(test==1)

{

d[i].Show();

}

}

else

{

cout<<"输入错误!

"<

}

"<

cout<<"是否继续查询:

丫继续、其他退出

charx;

cin>>x;

if(x!

='y'&&x!

='Y')

break;

}

}

〃显示学籍信息

voidDisplay()

{

for(inti=0;i

{

d[i].Show();cout<<"\n"<

}

}voidPaixu()

{

inti,k;

inttempsum;

chartempname[10];

for(i=0;i

{

strcpy(v[i].name,d[i].name);

v[i].sum=d[i].sum;

}

for(i=0;i

{

for(k=i+1;k

{

if(v[i].sum

{

strcpy(tempname,v[i].name);

strcpy(v[i].name,v[k].name);

strcpy(v[k].name,tempname);

tempsum=v[i].sum;

v[i].sum=v[k].sum;

v[k].sum=tempsum;

}

}

}

for(i=0;i

{

cout<<"第"<

"<

"<

}

system("PAUSE");

}

voidDanke()

{

for(intj=O;j

{

floatsum=0;

for(inti=0;i

{

sum=sum+d[i].fenshu[j];

}

v[j].aver=sum/di;

cout<

"<

 

system("PAUSE");

for(intm=O;m

{

floatk=0;

for(inti=0;i

{

if(d[i].fenshu[m]>=60)

k++;

}

v[m].jigelv=k/di;

cout<

}system("PAUSE");

}

/*voidFileLoad()

{

inti;

fstreamfile;

file.open("mydata.dat",ios:

:

in);

if(!

file)

return;

file>>di;

for(i=0;i

d[i].Load(file);

:

"<

//信息读取函数

//打开保存数据的文件

〃文件不存在则直接返回

//读入

file.close();

〃文件关闭

}

voidFileSave()

{

inti;

fstreamfile;

file.open("mydata.dat",ios:

:

out);

//信息保存函数

//打开保存数据的文件

file<

〃记录

for(i=0;i

//保存

 

 

d[i].Save(file);

file.close();cout<<"保存成功!

"<

}

*/

〃文件关闭

//主函数

voidmain()

while

(1)

*********************

"<

cout<<"\t\t

1、输入学生信息

"<

cout<<"\t\t

2、删除学生信息

"<

cout<<"\t\t

3、学生信息查询

"<

cout<<"\t\t

4、学生信息保存

"<

cout<<"\t\t

5、查看学籍系统

"<

cout<<"\t\t

6、学生成绩排名

"<

cout<<"\t\t

7、单科平均成绩及及格率"<

cout<<"\t\t

8、退出管理系统

"<

cout<<"

*******************

高校学籍管理系统

cout<<"请选择功能:

?

"<

intc;

cin»c;

if(c==1)

{

BookIn();

}

elseif(c==2)

{

BookOut();

}

elseif(c==3)

{

Inquiry();

}

elseif(c==4)

{

//FileSave();

}

elseif(c==5)

{

 

Display。

}

elseif(c==6)

{

Paixu();

}

elseif(c==7)

{

Danke();

}

elseif(c==8)

{break;}

else

{

cout<<"输入错误!

"<

}

}

}

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

当前位置:首页 > PPT模板 > 自然景观

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

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