#include <iostream>
#include <algorithm>
#include "class.h"
#include <string>
using namespace std;
//选课退课函数
bool Student::chooseclass(int x,M_class m_class[])
{
char c1_class[20];
int a;
cout<<"请输入课程的名称:"<<endl;
cin>>c1_class;
a=classnumber;
if(strcmp(s_p.class1.name,c1_class)==0)
{
if((x==1)&&(s_p.class1.c_class!=0)&&(qunum(c1_class,m_class))&&(s_p.class1.o_class==0))
{
s_p.class1.o_class=1;
changenum(c1_class,1,m_class);
cout<<"选课成功"<<endl;
return true;
}
else
{
if((x==0)&&(s_p.class1.o_class!=0))
{
s_p.class1.o_class=0;
changenum(c1_class,0,m_class);
cout<<"退课成功"<<endl;
return true;
}
}
}
if(strcmp(s_p.class2.name,c1_class)==0)
{
if((x==1)&&(s_p.class2.c_class!=0)&&(qunum(c1_class,m_class))&&(s_p.class2.o_class==0))
{
s_p.class2.o_class=1;
changenum(c1_class,1,m_class);
cout<<"选课成功"<<endl;
return true;
}
else
{
if((x==0)&&(s_p.class2.o_class!=0))
{
s_p.class2.o_class=0;
changenum(c1_class,0,m_class);
cout<<"退课成功"<<endl;
return true;
}
}
}
if(strcmp(s_p.class3.name,c1_class)==0)
{
if((x==1)&&(s_p.class3.c_class!=0)&&(qunum(c1_class,m_class))&&(s_p.class3.o_class==0))
{
s_p.class3.o_class=1;
changenum(c1_class,1,m_class);
cout<<"选课成功"<<endl;
return true;
}
else
{
if((x==0)&&(s_p.class3.o_class!=0))
{
s_p.class3.o_class=0;
changenum(c1_class,0,m_class);
cout<<"退课成功"<<endl;
return true;
}
}
}
if(strcmp(s_p.class4.name,c1_class)==0)
{
if((x==1)&&(s_p.class4.c_class!=0)&&(qunum(c1_class,m_class))&&(s_p.class4.o_class==0))
{
s_p.class4.o_class=1;
changenum(c1_class,1,m_class);
cout<<"选课成功"<<endl;
return true;
}
else
{
if((x==0)&&(s_p.class4.o_class!=0))
{
s_p.class4.o_class=0;
changenum(c1_class,0,m_class);
cout<<"退课成功"<<endl;
return true;
}
}
}
if(x==1)
{
cout<<"你不能选这门课或者你已选了这门课"<<endl;
return false;
}
else
{
cout<<"你还没选这门课"<<endl;
return false;
}
}
//输出选课信息函数
void Student::out()
{
int a;
a=classnumber;
switch(a)
{
case 2:
cout<<s_p.class1.name<<"---";
if(s_p.class1.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
cout<<s_p.class2.name<<"---";
if(s_p.class2.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
break;
case 3:
cout<<s_p.class1.name<<"---";
if(s_p.class1.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
cout<<s_p.class2.name<<"---";
if(s_p.class2.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
cout<<s_p.class3.name<<"---";
if(s_p.class3.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
break;
case 4:
cout<<s_p.class1.name<<"---";
if(s_p.class1.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
cout<<s_p.class2.name<<"---";
if(s_p.class2.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
cout<<s_p.class3.name<<"---";
if(s_p.class3.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
cout<<s_p.class4.name<<"---";
if(s_p.class4.o_class==1)
cout<<"选了"<<endl;
else
cout<<"没选"<<endl;
break;
default:
cout<<"error"<<endl;
}
}
//输出能选课情况
void Student::outs()
{
int i;
i=classnumber;
switch(i)
{
case 2:
cout<<s_p.class1.name<<"---";
if(s_p.class1.c_class==0)
{
cout<<"不能选"<<endl;
}
else
{
cout<<"能选"<<endl;
}
cout<<s_p.class2.name<<"---";
if(s_p.class2.c_class==0)
{
cout<<"不能选"<<endl;
}
else
{
cout<<"能选"<<endl;
}
break;
case 3:
cout<<s_p.class1.name<<"---";
if(s_p.class1.c_class==0)
cout<<"不能选"<<endl;
else
cout<<"能选"<<endl;
cout<<s_p.class2.name<<"---";
if(s_p.class2.c_class==0)
cout<<"不能选"<<endl;
else
cout<<"能选"<<endl;
cout<<s_p.class3.name<<"---";
if(s_p.class3.c_class==0)
cout<<"不能选"<<endl;
else
cout<<"能选"<<endl;
break;
case 4:
cout<<s_p.class1.name<<"---";
if(s_p.class1.c_class==0)
cout<<"不能选"<<endl;
else
cout<<"能选"<<endl;
cout<<s_p.class2.name<<"---";
if(s_p.class2.c_class==0)
cout<<"不能选"<<endl;
else
cout<<"能选"<<endl;
cout<<s_p.class3.name<<"---";
if(s_p.class3.c_class==0)
cout<<"不能选"<<endl;
else
cout<<"能选"<<endl;
cout<<s_p.class4.name<<"---";
if(s_p.class4.c_class==0)
cout<<"不能选"<<endl;
else
cout<<"能选"<<endl;
break;
default:
cout<<"error"<<endl;
}
}
//查看成绩函数
void Student::slookscores()
{
int i;
i=classnumber;
switch(i)
{
case 2:
if(s_p.class1.o_class!=0)
{
cout<<s_p.class1.name<<"---";
if(s_p.class1.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class1.score<<endl;
}
if(s_p.class2.o_class!=0)
{
cout<<s_p.class2.name<<"---";
if(s_p.class2.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class2.score<<endl;
}
break;
case 3:
if(s_p.class1.o_class!=0)
{
cout<<s_p.class1.name<<"---";
if(s_p.class1.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class1.score<<endl;
}
if(s_p.class2.o_class!=0)
{
cout<<s_p.class2.name<<"---";
if(s_p.class2.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class2.score<<endl;
}
if(s_p.class3.o_class!=0)
{
cout<<s_p.class3.name<<"---";
if(s_p.class3.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class3.score<<endl;
}
break;
case 4:
if(s_p.class1.o_class!=0)
{
cout<<s_p.class1.name<<"---";
if(s_p.class1.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class1.score<<endl;
}
if(s_p.class2.o_class!=0)
{
cout<<s_p.class2.name<<"---";
if(s_p.class2.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class2.score<<endl;
}
if(s_p.class3.o_class!=0)
{
cout<<s_p.class3.name<<"---";
if(s_p.class3.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class3.score<<endl;
}
if(s_p.class4.o_class!=0)
{
cout<<s_p.class4.name<<"---";
if(s_p.class4.score==-1)
cout<<"还没上成绩"<<endl;
else
cout<<s_p.class4.score<<endl;
}
break;
default:
cout<<"error"<<endl;
}
}
//查看学校开放课程情况
void Student::allclass(M_class m_class[])
{
Readclass(m_class);
for(int i=1;i<=50;i++)
{
if(m_class[i-1].space==1)
{
cout<<m_class[i-1].name<<"---";
}
}
cout<<endl;
}
//查看课程计划
void Student::look_student()
{
cout<<"姓名: "<<name<<" "<<"课程数量: "<<classnumber<<" "<<endl;
int a;
a=classnumber;
cout<<"课程计划是:";
switch(a)
{
case 2:
cout<<s_p.class1.name<<" ";
cout<<s_p.class2.name<<" "<<endl;
break;
case 3:
cout<<s_p.class1.name<<" ";
cout<<s_p.class2.name<<" ";
cout<<s_p.class3.name<<" "<<endl;
break;
case 4:
cout<<s_p.class1.name<<" ";
cout<<s_p.class2.name<<" ";
cout<<s_p.class3.name<<" ";
cout<<s_p.class4.name<<" "<<endl;
break;
default:
cout<<"error"<<endl;
}
}
//添加成绩
void Student::sscores()
{
int b;
b=classnumber;
if(b==2)
{
if(s_p.class1.o_class!=0)
{
double s;
cout<<"课程1 "<<s_p.class1.name<<endl;
cout<<"请输入该科成绩:"<<endl;
cin>>s;
s_p.class1.score=s;
}
if(s_p.class2.o_class!=0)
{
double s1;
cout<<"课程2 "<<s_p.class2.name<<endl;
cout<<"请输入该科成绩:"<<endl;
cin>>s1;
s_p.class2.score=s1;
}
if((s_p.class1.o_class==0)&&(s_p.class2.o_class==0))
{
cout<<"该学生还没选课!"<<endl;
}
else
{
cout<<"ok"<<e