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

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

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

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

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

C++高校学籍管理系统

课题2:

高校学籍管理系统

(一)、课程设计题目:

高校学籍管理系统

(二)、目的与要求:

1、目的:

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

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

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

2、基本要求:

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

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

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

3、创新要求:

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

4、写出设计说明书

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

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=0;

classxinxi

{

public:

intnumber;

charname[20];

charsex[6];

charp[100][10];

floatfenshu[10];

floatshuliang;

floataverage;

floatsum;

floataver;

floatjigelv;

inti;

virtualvoidShow()//显示

{

cout<<"学生学号:

"<

"<

"<

"<

for(inti=0;i

{

cout<

"<

}

cout<<"总成绩为:

"<

cout<<"平均成绩为:

"<

}

voidBook(intn)

{

cout<<"学生学号:

";cin>>number;

cout<<"学生姓名:

";cin>>name;

cout<<"学生性别:

";cin>>sex;

while

(1)

{

if(strcmp(sex,"男")==0||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=0;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<<"是否继续输入:

Y继续、其他退出"<

charx;

cin>>x;

if(x!

='y'&&x!

='Y')

break;

}

}

//删除学生信息

voidBookOut()

{

inti;

while

(1)

{

intc;

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

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

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

"<

cin>>c;

for(i=0;i

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

{

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

cout<<"删除成功!

"<

}

else

{

cout<<"输入错误!

"<

system("PAUSE");

}

cout<<"是否继续删除:

Y继续、其他退出"<

charx;

cin>>x;

if(x!

='y'&&x!

='Y')

break;

}

}

//学生信息查询

voidInquiry()

{

while

(1)

{

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

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

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

cout<<"2、按姓名查询"<

cout<<"请输入您的选择:

"<

intc;

inttest;

cin>>c;

if(c==1)

{

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

";

inta;

cin>>a;

for(inti=0;i

{

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

{

test=1;

break;

}

else

test=0;

}

if(test==0)

{

cout<<"没有这个学生!

"<

system("PAUSE");

}

elseif(test==1)

{

d[i].Show();

}

}

elseif(c==2)

{

charc[10];

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

";

cin>>c;

for(inti=0;i

{

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

{

test=1;

break;

}

else

test=0;

}

if(test==0)

{

cout<<"没有这个学生!

"<

system("PAUSE");

}

elseif(test==1)

{

d[i].Show();

}

}

else

{

cout<<"输入错误!

"<

system("PAUSE");

}

cout<<"是否继续查询:

Y继续、其他退出"<

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

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

当前位置:首页 > 法律文书 > 调解书

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

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