学分管理软件C++编程Word下载.docx
《学分管理软件C++编程Word下载.docx》由会员分享,可在线阅读,更多相关《学分管理软件C++编程Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
//允许添加2000个学生的信息
//给定某个班级的班号,显示该班所有学生学分完成情况;
List:
:
List()//构造函数实现
head=tail=NULL;
}
~List()//析构函数实现
Score_sys*p;
if(head)//若非空,则删除
p=head;
head=head->
next;
deletep;
//删除,释放空间
}
voidList:
add()//添加学生信息函数
inti;
chars;
cout<
<
endl<
"
此操作为新增学生信息!
endl;
for(i=p;
i<
2000;
i++)
p++;
cout<
请输入第"
i+1<
名学生所在的班级:
;
cin>
>
stu[i].classnum.num;
名学生的学号:
stu[i].id;
名学生的姓名:
stu[i].name;
名学生的基础课学分:
stu[i].score.basic;
名学生的专业课学分:
stu[i].score.major;
名学生的选修课学分:
stu[i].score.selected;
名学生的人文类学分:
stu[i].score.humanities;
名学生的实验性学分:
stu[i].score.experiment;
继续输入吗?
!
(y/n)"
s;
if(s=='
n'
)break;
else
if(s=='
y'
)
continue;
else
{
cout<
输入有误!
请重新输入:
break;
}
inquire()//查询学生信息
{
intj;
doublek;
do{
此操作为查询学生信息!
请输入该学生的学号:
k;
for(j=0;
j<
j++)
{
if(k==stu[j].id)
这是系统中存储的第"
j+1<
个学生,"
cout<
他所在班级:
stu[j].classnum.num<
该学生名字为:
stu[j].name<
该学生的基础课学分为:
stu[j].score.basic<
该学生的专业课学分为:
stu[j].score.major<
该学生的选修课学分为:
stu[j].score.selected<
该学生的人文类课程学分为:
stu[j].score.humanities<
该学生的实验性课程学分为:
stu[j].score.experiment<
该名学生的学分完成情况:
/*-------------------判断学生学分的情况---------------*/
if(stu[j].score.basic<
50)
cout<
基础课学分未完成"
else
基础课学分完成"
if(stu[j].score.major<
专业课学分未完成"
专业课学分完成"
if(stu[j].score.selected<
24)
选修课学分未完成"
选修课学分完成"
8)
人文类课程学分未完成"
人文类课程学分完成"
20)
实践性课程学分未完成"
实践性类课程学分完成"
elsecout<
无该生信息"
}
继续查询吗?
break;
}while(s=='
);
inquire_cla()
intn,j,i;
do
{
i=1;
本操作为显示某个班级所有的学生学分完成情况!
请输入班级号码:
n;
p;
{
if(n==stu[j].classnum.num)
这个班第"
个同学的学分完成情况:
个同学"
的基础课学分为:
的专业课学分为:
的选修课学分为:
的人文类课程学分为:
的实验性课程学分为:
i++;
while(s=='
//给定某位学生的学号,修改该学生的学分信息;
change()
inti,j;
doublen;
此操作为修改学生信息!
请输入需要修改学生的学号:
if(n==stu[j].id)
个学生"
他所在班级为:
班"
该名学生名字为:
该名学生的基础课学分为:
该名学生的专业课学分为:
该名学生的选修课学分为:
该名学生的人文类课程学分为:
该名学生的实验性课程学分为:
/*-------------------判断修改学生学分---------------*/
do
{
*****************************************"
*子菜单*"
*1.--------修改基础课学分-----------*"
*2.--------修改专业课学分-----------*"
*3.--------修改选修课学分-----------*"
*4.--------修改人文类课程学分-------*"
*5.--------修改实验性课程学分-------*"
*6.--------不做修改(退出)-----------*"
请输入你想要操作(1、2、3、4、5、6):
cin>
i;
switch(i)
{
case1:
cout<
基础学分修改为:
cin>
stu[j].score.basic;
break;
case2:
专业学分修改为:
stu[j].score.major;
case3:
选修学分修改为:
stu[j].score.selected;
case4:
人文类课程学分修改为:
stu[j].score.humanities;
case5:
实验性课程学分修改为:
stu[j].score.experiment;
}
}
while(i!
=6);
继续修改吗?
compositor()
inta,i,j,max;
请输入需要排序的科目"
*1.--------排序基础课学分-----------*"
*2.--------排序专业课学分-----------*"
*3.--------排序选修课学分-----------*"
*4.--------排序人文类课程学分-------*"
*5.--------排序实验性课程学分-------*"
*6.--------不做排序(退出)-----------*"
a;
if(a==1)
{for(i=0;
max=i;
for(j=i+1;
j++)
if(stu[j].score.basic>
stu[max].score.basic)
max=j;
if(i!
=max)
Score_systemp;
temp=stu[i];
stu[i]=stu[max];
stu[max]=temp;
for(i=0;
stu[i].name<
stu[i].score.basic<
分"
if(a==2)
{for(i=0;
max=i;
for(j=i+1;
if(stu[j].score.major>
stu[max].score.major)
max=j;
if(i!
Score_systemp;
temp=stu[i];
stu[i]=stu[max];
stu[max]=temp;
for(i=0;
stu[i].score.major<
if(a==3)
{
for(i=0;
max=i;
for(j=i+1;
{
if(stu[j].score.selected>
stu[max].score.selected)
max=j;
}
if(i!
Score_systemp;
temp=stu[i];
stu[i]=stu[max];
stu[max]=temp;
for(i=0;
cout<
stu[i].score.selected<
else
if(a==4)
max=i;
for(j=i+1;
{
if(stu[j].score.humanities>
stu[max].score.humanities)
max=j;
}
if(i!
Score_systemp;
temp=stu[i];
stu[i]=stu[max];
stu[max]=temp;
for(i=0;
cout<
stu[i].score.humanities<
else
if(a==5)
max=i;
for(j=i+1;
{
if(stu[j].score.experiment>
stu[max].score.experiment)
max=j;
}
if(i!
Score_systemp;
temp=stu[i];
stu[i]=stu[max];
stu[max]=temp;
for(i=0;
cout<
stu[i].score.experiment<
};
break;
while(a!
//----------------------------------
voidmain()
**********************************************"
*主菜单*"
*1.--------新增学生信息*"
*2.--------查询单个学生信息*"
*3.--------查询班级全部学生信息*"
*4.--------修改学生信息*"
*5.--------按照某类课程的学分高低进行排序*"
*6.--------退出*"
请输入你想要操作:
intflag=1;
ListTXL;
while(flag)
switch(i)
case1:
TXL.add();
case2:
TXL.inquire();
case3:
TXL.inquire_cla();
case4:
TXL.change();
case5:
TXL.compositor();
case6:
flag=0;