高校工资管理系统



#include//输入/输出文件流类

#include//出现exit(0)时

#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;}


相关文档
最新文档