#include
#include
#include
using namespace std;
typedef struct stu//定义一个结构体作为类的私有成员
{
int num;
string name;
};
class student //学生类为基类
{
protected:
stu a[100];
int i, n;
static int d;//计算输入学生总数
public:
student();//构造函数
char menu();//菜单界面
void activity();//进行各种操作的一个平台
void input();//输入函数
void display(); //显示函数
void append();//追加函数
void searach();//查找函数
};
class teacher:public student
{
public:
teacher():student(){};
//下面几个函数是对其他函数的重定义
char menu();//增加了其他函数的菜单界面
void activity();//进行各种操作的一个平台
void mod();//修改函数
void shanchu();//删除函数
};
int student::d=0;//计数器赋值为0
student::student()//构造函数
{
cout<<"*************************欢迎进入学生管理系统 ***********************"<
}
char student::menu()//学生菜单界面
{
char m;
cout
cout
cout
cout
cout
cin>>m;
return m;
}
char teacher::menu()//教师菜单界面
{
char m;
cout<<"*********1:输入学生信息***********"<
cout
cout
cout
cout
cout
cout
cin>>m;
return m;
}
void student::activity()//学生各种操作界面
{
char k;
while(1)
{
k=menu();
switch (k)
{
case '1':input();break;
case '2':display();break;
case '3':append();break;
case '4':searach();break;
case '0':cout<<"**********thanks you !bye bye**********!"<
default:cout
}
}
}
void teacher::activity()//教师各种操作界面
{
cout
string pass;
cin>>pass;
string useer;
cout<<"请输入密码"<
cin>>useer;
if(useer==pass)
{cout<<"密码正确"<<endl;}
else
{ cout<<"密码错误,从新输入"<<endl;}
char k;
while(1)
{
k=menu();
switch (k)
{
case '1':input();break;
case '2':display();break;
case '3':append();break;
case '4':searach();break;
case '5':mod();break;
case '6':shanchu();break;
case '0':cout<<"**********thanks you !bye bye**********!"<
default:cout
}
}
}
void student:: input()//输入函数
{
cout
cin>>n;
for(i=0;i
{ cout
cin>>a[i].num;
cout<<"学生的姓名是 : "<
cin>>a[i].name;
d++;
}
cout<<"工作完成! "<
display();
}
void student::display()//显示函数
{
cout
for(i=0;i
{
cout
}
}
void student::append()//追加
{
int m;
cout
cin>>m;
for(i=n;i
{
cout
cin>>a[i].num;
cout<<"学生的姓名是 : "<
cin>>a[i].name;
d++;
}
cout<<"工作完成! "<
display();
}
void student::searach()//查找
{
int nu,g=0;
cout
cin>>nu;
for(i=0;i
{
if(a[i].num==nu)
{
cout
cout
g=1;
}
}
if(g==0)
cout
cout
}
void teacher::mod()//修改
{
int nu;
cout
cin>>nu;
for(i=0;i
{
if(nu==a[i].num)
{
cout
cin>>a[i].num;
cout<<"学生的姓名是 : "<
cin>>a[i].name;
}
}
cout<<"工作完成! "<
display();
}
void teacher::shanchu()//删除函数
{ int nu,s=-1;
cout
cin>>nu;
for(i=0;i<=d;i++)
{
if(nu==a[i].num)
{s=i;
for(i=s+1;i<d;i++)
{
a[i-1].num=a[i].num;
a[i-1].name=a[i].name;
}
d--;
}
}
if(s==-1)
cout<<"没有找到学生信息!"<<endl;
cout<<"工作完成! "<<endl;
display();
}
void stu()//一级菜单,进入学生操作界面
{
student stud;
stud.activity();
}
void teach()//一级菜单,进入教师操作界面
{
teacher t;
t.activity();
}
int main()
{
char c;
cout<<"***************************欢迎进入学生管理系统***********************"<
cout
cout
cout
cin>>c;
switch(c)
{
case 's': stu();break;
case 't':teach();break;
default :cout<<"you are wrong !";
}
return 0;
}