高校工资管理系统
#include
#include
#include
int i;
class Person
{public:
void display()
{cout<<"姓名:";cin>>name;
cout<<"工号:";cin>>num;}//成员函数 在一句代码结束时要;在类结束}后要;
char name[20];//名字
int num;};//工号//name,num叫成员变量
class Teacher:public Person//教师,teacher类继承person类
{public:
Teacher(int s=1000) //Teacher类,中的成员变量S
{score=s;} //将 s的值赋给score
void display1();
int score;//基本工资
int time;};//月工作量
void Teacher::display1()//在Teacher类外调用函数display1()
{cout<<"请输入" ;
Person::display(); //调用Person类中的display
cout<<"请输入教师的月工作量(小时): ";cin>>time;}
class houqin:public Teacher//后勤
{public:
houqin(int s=800,int b=150)
{score=s;buzhu=b;}
void display1() //display1在不同的类中不一样
{cout<<"请输入后勤的";
Person::display();}
int score;//基本工资
int buzhu;};//补助
class yuanzhang:public Teacher//院长
{public:
yuanzhang(int s=2000,int b=250)
{score=s;butie=b;}
void display1()
{cout<<"请输入院长的";
Person::display();}
int score;//基本工资
int butie;};//补贴
class jiaoshou:public Teacher//教授
{public:
jiaoshou(int s=1800,int b=250)
{score=s;butie=b;}
int score;
int butie;
void display1()
{cout<<"请输入教授的";
Person::display();
cout<<"请输入教授的月工作量(小时): ";cin>>time;}
};
Teacher t[100];
houqin h[100];
yuanzhang y[100];
jiaoshou j[100];
void show()
{cout<<"请输入你要录入的对象 :"<
cout<<"1:教师"<
cout<<"2:后勤"<
cout<<"3:院长"<
cout<<"4:教授"<
cout<<"5:退出录入"<
cout<<"请选择: ";}
void jiaoshiluru()//教师录入
{ofstream outfile("教师.txt",ios::app);//输出到磁盘ofstream,从磁盘读文件ifstream;写入到磁盘的教师.txt中,写入数据将被追加在文件末尾
if(!outfile)
{cerr<<"open error!"<
exit(0);}int b;
cout<<"请选择你要录入教师的个数:";cin>>b;
for(i=0;i
{t[i].display1();
outfile<
outfile.close();}
void houqinluru()//后勤录入
{ofstream outfile("后勤.txt",ios::app);//声明一个输出 ( 写 ) 文件流对象
if(!outfile)
{cerr<<"open error!"<
exit(0);}int b;
cout<<"请输入你要录入后勤的个数:";cin>>b;
for(i=0;i
{h[i].display1();
outfile<
void yuanzhangluru()//院长录入
{ofstream outfile("院长.txt",ios::app);
if(!
outfile)
{cerr<<"open error!"<
exit(0);}int b;
cout<<"请输入你要录入院长的个数:";cin>>b;
for(i=0;i
{y[i].display1();
outfile<
void jiaoshouluru()//教授录入
{ofstream outfile("教授.txt",ios::app);
if(!outfile)
{cerr<<"open error!"<
exit(0);}int b;
cout<<" 请输入你要录入教授的个数:";cin>>b;
for(i=0;i
{j[i].display1();
outfile<
}outfile.close();}
void wenjianluru()//文件录入
{int c;for(i=0;;i++)
{show();cin>>c;
if(c==5){cout<<"退出录入成功。"<
else
switch(c)
{case 1: jiaoshiluru(); break;
case 2: houqinluru();break;
case 3:yuanzhangluru();break;
case 4:jiaoshouluru();break;
default:{cout<<"上一次输入错误。"<
void jiaoshishuchu()//教师输出显示
{ifstream infile("教师.txt",ios::in);//从磁盘读文件 声明一个输入 ( 读 ) 文件流对象
int m;
for(i=0;i<100;i++)
{infile>>t[i].num>>t[i].name>>t[i].score>>t[i].time;
if(t[i].num==0)break;
m=t[i].score+(t[i].time-24)*30;
cout<<"教师: "<
infile.close();}
void houqinshuchu()//后勤输出
{ifstream infile("后勤.txt",ios::in);//fstream iofile声明一个可读可写的文件流对象
int m;
for(i=0;i<100;i++)
{infile>>h[i].num>>h[i].name>>h[i].score>>h[i].buzhu;
if(h[i].num==0) break;
m=h[i].score+h[i].buzhu;
cout<<"后勤: "<
}infile.close();}
void yuanzhangshuchu()//院长输出
{ifstream infile("院长.txt",ios::in);
int m;for(i=0;i<100;i++)
{infile>>y[i].num>>y[i].name>>y[i].score>>y[i].butie;
if(y[i].num==0) break;
m=y[i].score+y[i].butie;
cout<<"院长:"<
infile.close();}
void jiaoshoushuchu()//教授输出
{ifstream infile("教授.txt",ios::in);
int m;
for(i=0;i<100;i++)
{infile>>j[i].num>>j[i].name>>j[i].score>>j[i].butie>>j[i].time;
if(j[i].num==0) break;
m=j[i].score+j[i].butie+(j[i].time-12)*30;
cout<<"教授:"<
}infile.close();}
void shuchu()//输出显示
{cout<<"输出顺序为:工号, 名字, 工资 "<
jiaoshishuchu();
houqinshuchu();
yuanzhangshuchu();
jiaoshoushuchu();
}
void show3()
{cout<<"请输入你要查询的对象:"<
cout<<" 1:教师查询"<
cout<<" 2:后勤查询"<
cout<<" 3:院长查询"<
cout<<" 4:教授查询"<
cout<<" 5:退出查询"<
cout<<" 请选择一个操作:";}
void jiaoshichaxun()
{ifstream infile("教师.txt",ios::in);
char nam[20];int m,n;
cout<<"请输入你
要查询教师的名字: ";cin>>nam;
for(i=0,n=0;i<100;i++)
{infile>>t[i].num>>t[i].name>>t[i].score>>t[i].time;
if(t[i].num==0) break;
if(strcmp(t[i].name,nam)==0)
{n++; m=t[i].score+(t[i].time-24)*30;//n起标记的作用
cout<<"教师: "<
if(n==0) cout<<"没有你要查询的教师。"<
infile.close();}
void houqinchaxun()//后勤查询
{fstream iofile("后勤.txt",ios::in);
int m,n;char nam[20];
cout<<"请输入你要查询后勤的名字:";cin>>nam;
for(i=0,n=0;i<100;i++)
{iofile>>h[i].num>>h[i].name>>h[i].score>>h[i].buzhu;
if(h[i].num==0) break;
if(strcmp(h[i].name,nam)==0)
{n++; m=h[i].score+h[i].buzhu;
cout<<"后勤: "<
if(n==0)cout<<"没有你要查询的后勤。"<
iofile.close();}
void yuanzhangchaxun()//院长查询
{ifstream infile("院长.txt",ios::in);
int m,n;char nam[20];
cout<<"请输入你要查询的院长的名字: ";cin>>nam;
for(i=0,n=0;i<100;i++)
{infile>>y[i].num>>y[i].name>>y[i].score>>y[i].butie;
if(y[i].num==0) break;
if(strcmp(y[i].name,nam)==0)
{n++; m=y[i].score+y[i].butie;
cout<<"院长:"<
if(n==0)cout<<"没有你要查询的院长。"<
infile.close();}
void jiaoshouchaxun()//教授查询
{ifstream infile("教授.txt",ios::in);
int m,n;char nam[20];
cout<<"请输入你要查询的教授的名字: ";cin>>nam;
for(i=0,n=0;i<100;i++)
{infile>>j[i].num>>j[i].name>>j[i].score>>j[i].butie>>j[i].time;
if(j[i].num==0) break;
if(strcmp(j[i].name,nam)==0)
{n++;m=j[i].score+j[i].butie+(j[i].time-12)*30;
cout<<"教授:"<
if(n==0)cout<<"没有你要查询的教授。"<
infile.close();}
void wenjianchaxun()//文件查询
{int c;
for(i=0;;i++)
{show3();cin>>c;
if(c==5){cout<<"退出查询成功。"<
else
switch(c)
{case 1: jiaoshichaxun(); break;
case 2: houqinchaxun();break;
case 3:yuanzhangchaxun();break;
case 4:jiaoshouchaxun();break;
default:{cout<<"上一次输入错误。"<
void show4()
{cout<<"请输入你要统计的对象:"<
cout<<" 1:教师统计"<
cout<<" 2:后勤人数统计"<
cout<<" 3:院长人数统计"<
cout<<" 4:教授统计"<
cout<<" 5:退出统计"<
cout<<" 请选择一个操作:";}
void jiaoshitongji()//教师统计
{ifstream infile("教师.txt",ios::in);
int m, n,m1;
cout<<"请输入你要统计教师的工资: ";cin>>m1;
for(i=0,n=0;i<100;i++)
{infile>>t[i].num>>t[i].name>>t[i].score>>t[i].time;
if(t[i].num==0) break;
m=t[i].score+(t[i].time-24)*30;
if(m==m1) n++; }
if(n==0) cout<<"没有你要统计的教师。"<
else cout<<"教师工资是"<
infile.close();}
void houqintongji()//实验员统计
{ifstream infile("后勤.txt",ios::in);
int n;
for(i=0,n=0;i<100;i++)
{infile>>h[i].num>>h[i].name>>h[i].score>>h[i].buzhu;
if(h[i].num==0) break;n++; }
if(n==0)cout<<"还没有后勤的录入。"<
else cout<<"后勤的人数是"<
infile.close();}
void yuanzhangtongji()//院长统计
{ifstream infile("院长.txt",ios::in);
int n;
for(i=0,n=0;i<100;i++)
{infile>>y[i].num>>y[i].name>>y[i].score>>y[i].butie;
if(y[i].num==0) break;n++; }
if(n==0)cout<<"没有你要统计的院长。"<
else cout<<"院长的人数是"<
infile.close();}
void jiaoshoutongji()//教授统计
{ifstream infile("教授.txt",ios::in);
int m,n,m1;
cout<<"请输入你要统计的教授的工资: ";cin>>m1;
for(i=0,n=0;i<100;i++)
{infile>>j[i].num>>j[i].name>>j[i].score>>j[i].butie>>j[i].time;
if(j[i].num==0) break;
m=j[i].score+j[i].butie+(j[i].time-12)*30;
if(m==m1) n++;}
if(n==0)cout<<"没有你要统计的教授。"<
else cout<<"教授的工资是"<
infile.close();}
void tongji()//统计
{int c;
for(i=0;;i++)
{show4();cin>>c;
if(c==5){cout<<"退出统计成功。"<
else
switch(c)
{case 1: jiaoshitongji(); break;
case 2: houqintongji();break;
case 3:yuanzhangtongji();break;
case 4:jiaoshoutongji();break;
default:{cout<<"上一次输入错误。"<
void show5()
{cout<<"请输入你要修改的对象:"<
cout<<" 1:教师修改"<
cout<<" 2:后勤修改"<
cout<<" 3:院长修改"<
cout<<" 4:教授修改"<
cout<<" 5: 退出修改"<
cout<<" 请选择一个操作:";}
void jiaoshixiugai()//教师修改
{ifstream infile("教师.txt",ios::in);
char nam[20];
int n,n1,m1=0;
cout<<"请输入你要修改教师的名字: ";cin>>nam;
cout<<"请输入你要修改的月工作量:"; cin>>n;
for(i=0;i<100;i++)
{infile>>t[i].num>>t[i].name>>t[i].score>>t[i].time;
if(t[i].num==0) break;m1++;
if(strcmp(t[i].name,nam)==0)
{n1=t[i].time;t[i].time=n;n=n1;}}
infile.close();
ofstream outfile("教师.txt",ios::out);
for(i=0;i
{outfile<
outfile.close();}
void houqinxiugai()//后勤修改
{ifstream infile("后勤.txt",ios::in);
int n=0,n1,n2;char nam[20];
cout<<"请输入你要修改的后勤的名字: ";cin>>nam;
cout<<"请输入你要修改此后勤的月工作量:";cin>>n2;
for(i=0;i<100;i++)
{infile>>h[i].num>>h[i].name>>h[i].score>>h[i].buzhu>>h[i].time;
if(h[i].num==0) break;n++;
if(strcmp(h[i].name,nam)==0)
{n1=h[i].time;h[i].time=n2;n2=n1;
}}infile.close();
ofstream outfile("
后勤.txt",ios::out);
for(i=0;i
{outfile<
outfile.close();}
void yuanzhangxiugai()//院长修改
{ifstream infile("院长.txt",ios::in);
int n,n1,n2;char nam[20];
cout<<"请输入你要修改的院长的名字: ";cin>>nam;
cout<<"请输入你要修改的院长的月工作量:";cin>>n2;
for(i=0,n=0;i<100;i++)
{infile>>y[i].num>>y[i].name>>y[i].score>>y[i].butie>>y[i].time;
if(y[i].num==0) break;n++;
if(strcmp(y[i].name,nam)==0)
{n1=y[i].time;y[i].time=n2;n2=n1;}}
infile.close();
ofstream outfile("院长.txt",ios::out);
for(i=0;i
{outfile<
outfile.close();}
void jiaoshouxiugai()//教授修改
{ifstream infile("教授.txt",ios::in);
int n,n1,n2;char nam[20];
cout<<"请输入你要修改教授的名字: ";cin>>nam;
cout<<"请输入你要修改的教授的月工作量:";cin>>n2;
for(i=0,n=0;i<100;i++)
{infile>>j[i].num>>j[i].name>>j[i].score>>j[i].butie>>j[i].time;
if(j[i].num==0) break;n++;
if(strcmp(j[i].name,nam)==0)
{n1=j[i].time;j[i].time=n2;n2=n1;}}
infile.close();
ofstream outfile("教授.txt",ios::out);
for(i=0;i
{outfile<
outfile.close();}
void xiugai()//修改
{int c;
for(i=0;;i++)
{show5();cin>>c;
if(c==5){cout<<"退出修改成功。"<
else
switch(c)
{case 1: jiaoshixiugai(); break;
case 2: houqinxiugai();break;
case 3: yuanzhangxiugai();break;
case 4: jiaoshouxiugai();break;
default:{cout<<"上一次输入错误。"<
void show6()
{cout<<"请选择如下操作:"<
cout<<"1:教师删除"<
cout<<"2:后勤删除"<
cout<<"3:院长删除"<
cout<<"4:教授删除"<
cout<<"5:退出删除"<
cout<<"请选择你的一个操作: ";}
void jiaoshishachu()//教师删除
{ifstream infile("教师.txt",ios::in);
char nam[20];
cout<<"请输入你要删除教师的名字: ";cin>>nam;
for(i=0;i<100;i++)
{infile>>t[i].num>>t[i].name>>t[i].score>>t[i].time;
if(t[i].num==0) break;
if(strcmp(t[i].name,nam)==0)
{for(int j=i;j<100;j++)
t[j].num=t[j+1].num;strcpy(t[j].name,t[j+1].name);
t[j].score=t[j+1].score;t[j].time=t[j+1].time;}}
infile.close();
ofstream outfile("教师.txt",ios::out);
for(i=0;i<100;i++)
{if(t[i].num!=0)
outfile<
outfile.close();}
void houqinshanchu()//后勤删除
{ifstream infile("后勤.txt",ios::in);
char nam[20];
cout<<"请输入你要删除后勤的名字: ";cin>>nam;
for(i=0;i<100;i++)
{infile>>h[i].num>>h[i].name>>h[i].score>>h[i].buzhu;
if(h
[i].num==0) break;
if(strcmp(h[i].name,nam)==0)
{for(int j=i;j<100;j++)
h[j].num=h[j+1].num;strcpy(h[j].name,h[j+1].name);
h[j].score=h[j+1].score;h[j].buzhu=h[j+1].buzhu;
}}
infile.close();
ofstream outfile("后勤.txt",ios::out);
for(i=0;i<100;i++)
{if(h[i].num!=0)
outfile<
outfile.close();}
void yuanzhangshanchu()//院长删除
{ifstream infile("院长.txt",ios::in);
char nam[20];
cout<<"请输入你要删除院长的名字: ";cin>>nam;
for(i=0;i<100;i++)
{infile>>y[i].num>>y[i].name>>y[i].score>>y[i].butie;
if(y[i].num==0) break;
if(strcmp(y[i].name,nam)==0)
{for(int j=i;j<100;j++)
y[j].num=y[j+1].num;strcpy(y[j].name,y[j+1].name);
y[j].score=y[j+1].score;y[j].butie=y[j+1].butie;}}
infile.close();
ofstream outfile("院长.txt",ios::out);
for(i=0;i<100;i++)
{if(y[i].num!=0)
outfile<
outfile.close();}
void jiaoshoushanchu()//教授删除
{ifstream infile("教授.txt",ios::in);
char nam[20];
cout<<"请输入你要删除的教授的名字: ";cin>>nam;
for(i=0;i<100;i++)
{infile>>j[i].num>>j[i].name>>j[i].score>>j[i].butie>>j[i].time;
if(j[i].num==0) break;
if(strcmp(j[i].name,nam)==0)
{for(int n=i;n<100;n++)
j[n].num=j[n+1].num;
strcpy(j[n].name,j[n+1].name);
j[n].score=j[n+1].score;
j[n].butie=j[n+1].butie;j[n].time=j[n+1].time;
}}infile.close();
ofstream outfile("教授.txt",ios::out);
for(i=0;i<100;i++)
{if(j[i].num!=0)
outfile<
outfile.close();}
void shanchu()//删除
{int c;
for(i=0;;i++)
{show6();cin>>c;
if(c==5){cout<<"退出删除成功。"<
else
switch(c)
{case 1: jiaoshishachu(); break;
case 2: houqinshanchu();break;
case 3: yuanzhangshanchu();break;
case 4:jiaoshoushanchu();break;
default:{cout<<"上一次输入错误。"<
void show7()
{cout<<" 高校职工工资管理系统 "<
cout<<"1:文件录入"<
cout<<"2:文件输出显示"<
cout<<"3:查询"<
cout<<"4:统计"<
cout<<"5:修改"<
cout<<"6:删除"<
cout<<"7:退出"<
cout<<"请选择你的一个操作: ";}
int main()
{system("color a");
int c;
for(i=0;;i++)
{show7();cin>>c;
if(c==7){cout<<"退出成功。"<
else
switch(c)
{case 1:wenjianluru(); break;
case 2:shuchu();break;
case 3:wenjianchaxun();break;
case 4:tongji();break;
case 5:xiugai();break;
case 6:shanchu();break;
default:{cout<<"上一次输入错误。"<
}}return 0;}