高校学籍管理系统Word格式文档下载.docx
《高校学籍管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《高校学籍管理系统Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
Course_GradeCG[4];
Student*Next;
//指向下一个条目的对象指针
private:
charname[20];
charnumber[20];
charsex[10];
intsum;
classSchool//学生管理类
School();
~School();
voidShowMenu();
voidSave();
voidFind();
voidDisplay();
voidAddItem();
voidRemoveItem();
voidOrder();
floatPassRate(inti);
floatAverage(inti);
Student*Head,*End;
ofstreamout;
ifstreamin;
Student*FindItem(char*name,char*number);
//查找条目
floatpass_rate;
floataverage;
intN=0;
voidmain()
intx;
boolquit=false;
//创建并设置退出循环的条件为
SchoolStu;
system("
color3e"
);
cout<
<
"
********************************************************************************"
endl;
高校学籍管理系统"
按任意键继续!
"
getch();
while(!
quit)//程序循环
{
Stu.ShowMenu();
//显示菜单
cin>
>
x;
//选择菜单
while(x<
0||x>
4)
{
cout<
无选项,请重选!
cin>
}
cout<
'
\n'
;
switch(x)//作出适当响应
case0:
quit=true;
break;
//退出循环条件为真,则退出
case1:
Stu.AddItem();
//添加条目
case2:
Stu.Find();
//查找并显示条
case3:
Stu.RemoveItem();
case4:
Stu.Display();
//显示所有条目
default:
break;
}
}
voidSchool:
:
ShowMenu()//显示菜单
*************************************\n"
1.....添加信息\n"
2.....查找信息\n"
3.....删除信息\n"
4.....显示信息\n"
0.....退出系统\n"
\n\n请选择:
School:
School()//构造函数,
Head=newStudent;
Head->
Next=newStudent;
End=Head->
Next;
~School()
Save();
}
AddItem()//在结尾添加条目
End->
Input();
//输入内容到尾条目
//创建新尾条目
End=End->
//修改新尾条目指向
添加成功!
Order();
voidStudent:
setName()
请输入姓名:
cin>
name;
setNumber()
请输入学号:
number;
setSex()
请输入性别:
sex;
while(strcmp(sex,"
fman"
)!
=0&
&
strcmp(sex,"
man"
=0)
输入格式错误,请输入fman或man!
Input()
setName();
setNumber();
setSex();
请依次输入高等数学,大学英语,大学物理,电路分析成绩!
(整数)"
for(inti=0;
i<
4;
i++)
{
CG[i].setGrade();
sum=Sum();
N++;
voidCourse_Grade:
setGrade()
grade;
intStudent:
Sum()//求一个学生的成绩总分
floats=0;
s=s+CG[i].grade;
returns;
floatSchool:
PassRate(inti)//求一科的及格率
floatk=0.0,rate;
for(Student*p=Head;
p->
Next!
=End;
p=p->
Next)
if(p->
Next->
CG[i].grade>
60.0)
k++;
rate=k/N;
returnrate;
Average(inti)//求一科的平均值
floats=0.0,average;
s=s+p->
CG[i].grade;
average=s/N;
returnaverage;
Display()//输出所有条目
{
if(Head->
=End)
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
所有学生信息如下:
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
endl<
setw(10)<
姓名"
setw(15)<
学号"
setw(6)<
性别"
setw(7)<
数学"
英语"
setw(7)
<
物理"
电路"
setw(9)<
总分"
排名"
for(Student*p=Head->
p!
Next)
p->
Show();
//显示条目
..............................................................................."
平均分"
setw(28)<
setprecision(3)<
Average(0)<
Average
(1)
<
Average
(2)<
Average(3)<
及格率"
setprecision
(2)<
PassRate(0)<
PassRate
(1)
<
PassRate
(2)<
PassRate(3)<
else
此时无信息,请重新输入!
Show()
getName()<
getNumber()<
getSex();
CG[i].getGrade();
sum<
row<
constchar*Student:
getName()
returnname;
getNumber()
returnnumber;
getSex()
returnsex;
constfloatCourse_Grade:
getGrade()
returngrade;
Find()//查找条目
charname[10];
charnumber[15];
Student*p=End;