📄 main.cpp
字号:
#include"title.h"
#include "iostream.h"
//
void inserting(list &pp);
void del(list &pp);
void searching(list &PP);
void saving(list &pp);
void order(list &pp);
void reading(list &pp);
//
void main()
{
list people;
teacher a1("heliang",1,"male","1989-2-3","finance","economics","professor");
worker a2("xiao ming",2,"female","1976-12-30","restaurant","worker");
undergraduate a3("xiang gang",3,"male","1986-4-3",89,89,63,"computer",2003,"undergraduate");
postgraduate a4("xiao qiang",4,"female","1980-1-23",94,89,93,"law",2001,"professor wang","law");
teacher_worker a5("wang",5,"male","1976-9-9","physics","light theory","tutor","school company","vice manager");
postteacher a6("fang",6,"male","1978-4-3",84,63,86,"chemistry",2000,"professor li","organism","biology","plant","tutor");
postworker a7("feng",7,"male","1977-9-1",67,66,65,"electronic",1999,"vice professor he","communicate","shop","seller");
people.insert(&a1);
people.insert(&a2);
people.insert(&a3);
people.insert(&a4);
people.insert(&a5);
people.insert(&a6);
people.insert(&a7);
people.printlist();
int i=0;
while(i!=8)
{
cout<<"1:插入 2:查找 3:删除 4:浏览 5:打开文件 6:储存 7:排序 8:退出"<<endl;
cout<<"--------------------------------------------------------------"<<endl;
cin>>i;
switch (i)
{
case 1:
inserting(people);
break;
case 2:
searching(people);
break;
case 3:
del(people);
break;
case 4:
people.printlist();
break;
case 5:
reading(people);
break;
case 6:
saving(people);
break;
case 7:
order(people);
break;
default:
break;
}
}
}
//
void reading(list &pp)
{
pp.clear();
char nam[50];
cout<<"输入要打开的文件路径:";
cin>>nam;
char tt[5],aa[5];
int i=0;
ifstream in(nam);
while(i!=100)
{
in.getline(tt,10,'\n');
in.getline(aa,10,'\n');
i=atof(tt);
if(i==1)
{
char a1[11][30];
in.getline(a1[0],50,'\n');
int i1;
i1=atof(a1[0]);
in.getline(a1[1],50,'\n');
in.getline(a1[2],50,'\n');
in.getline(a1[3],50,'\n');
in.getline(a1[4],50,'\n');
int i2;
i2=atof(a1[4]);
in.getline(a1[5],50,'\n');
int i3;
i3=atof(a1[5]);
in.getline(a1[6],50,'\n');
int i4;
i4=atof(a1[6]);
in.getline(a1[7],50,'\n');
in.getline(a1[8],50,'\n');
int i5;
i5=atof(a1[8]);
in.getline(a1[9],50,'\n');
in.getline(a1[10],50,'\n');
postgraduate man1(a1[1],i1,a1[2],a1[3],i2,i3,i4,a1[7],i5,a1[9],a1[10]);
pp.insert(&man1);
}
if(i==2)
{
char a2[14][30];
int a[5];
in.getline(a2[0],50,'\n');
a[0]=atof(a2[0]);
in.getline(a2[1],50,'\n');
in.getline(a2[2],50,'\n');
in.getline(a2[3],50,'\n');
in.getline(a2[4],50,'\n');
a[1]=atof(a2[4]);
in.getline(a2[5],50,'\n');
a[2]=atof(a2[5]);
in.getline(a2[6],50,'\n');
a[3]=atof(a2[6]);
in.getline(a2[7],50,'\n');
in.getline(a2[8],50,'\n');
a[4]=atof(a2[8]);
in.getline(a2[9],50,'\n');
in.getline(a2[10],50,'\n');
in.getline(a2[11],50,'\n');
in.getline(a2[12],50,'\n');
in.getline(a2[13],50,'\n');
postteacher man2(a2[1],a[0],a2[2],a2[3],a[1],a[2],a[3],a2[7],a[4],a2[9],a2[10],a2[11],a2[12],a2[13]);
pp.insert(&man2);
}
if(i==3)
{
char a3[13][30];
int b[5];
in.getline(a3[0],50,'\n');
b[0]=atof(a3[0]);
in.getline(a3[1],50,'\n');
in.getline(a3[2],50,'\n');
in.getline(a3[3],50,'\n');
in.getline(a3[4],50,'\n');
b[1]=atof(a3[4]);
in.getline(a3[5],50,'\n');
b[2]=atof(a3[5]);
in.getline(a3[6],50,'\n');
b[3]=atof(a3[6]);
in.getline(a3[7],50,'\n');
in.getline(a3[8],50,'\n');
b[4]=atof(a3[8]);
in.getline(a3[9],50,'\n');
in.getline(a3[10],50,'\n');
in.getline(a3[11],50,'\n');
in.getline(a3[12],50,'\n');
postworker man3(a3[1],b[0],a3[2],a3[3],b[1],b[2],b[3],a3[7],b[4],a3[9],a3[10],a3[11],a3[12]);
pp.insert(&man3);
}
if(i==4)
{
char a4[10][30];
int c[4];
in.getline(a4[0],50,'\n');
c[0]=atof(a4[0]);
in.getline(a4[1],50,'\n');
in.getline(a4[2],50,'\n');
in.getline(a4[3],50,'\n');
in.getline(a4[4],50,'\n');
c[1]=atof(a4[4]);
in.getline(a4[5],50,'\n');
c[2]=atof(a4[5]);
in.getline(a4[6],50,'\n');
c[3]=atof(a4[6]);
in.getline(a4[7],50,'\n');
in.getline(a4[8],50,'\n');
in.getline(a4[9],50,'\n');
teacher man4(a4[1],c[0],a4[2],a4[3],a4[7],a4[8],a4[9]);
pp.insert(&man4);
}
if(i==5)
{
char a5[12][30];
int c[4];
in.getline(a5[0],50,'\n');
c[0]=atof(a5[0]);
in.getline(a5[1],50,'\n');
in.getline(a5[2],50,'\n');
in.getline(a5[3],50,'\n');
in.getline(a5[4],50,'\n');
c[1]=atof(a5[4]);
in.getline(a5[5],50,'\n');
c[2]=atof(a5[5]);
in.getline(a5[6],50,'\n');
c[3]=atof(a5[6]);
in.getline(a5[7],50,'\n');
in.getline(a5[8],50,'\n');
in.getline(a5[9],50,'\n');
in.getline(a5[10],50,'\n');
in.getline(a5[11],50,'\n');
teacher_worker man5(a5[1],c[0],a5[2],a5[3],a5[7],a5[8],a5[9],a5[10],a5[11]);
pp.insert(&man5);
}
if(i==6)
{
char a6[11][30];
int d[5];
in.getline(a6[0],50,'\n');
d[0]=atof(a6[0]);
in.getline(a6[1],50,'\n');
in.getline(a6[2],50,'\n');
in.getline(a6[3],50,'\n');
in.getline(a6[4],50,'\n');
d[1]=atof(a6[4]);
in.getline(a6[5],50,'\n');
d[2]=atof(a6[5]);
in.getline(a6[6],50,'\n');
d[3]=atof(a6[6]);
in.getline(a6[7],50,'\n');
in.getline(a6[8],50,'\n');
d[4]=atof(a6[8]);
in.getline(a6[9],50,'\n');
undergraduate man6(a6[1],d[0],a6[2],a6[3],d[1],d[2],d[3],a6[7],d[4],a6[9]);
pp.insert(&man6);
}
if(i==7)
{
char a7[9][30];
int e[5];
in.getline(a7[0],50,'\n');
e[0]=atof(a7[0]);
in.getline(a7[1],50,'\n');
in.getline(a7[2],50,'\n');
in.getline(a7[3],50,'\n');
in.getline(a7[4],50,'\n');
e[1]=atof(a7[4]);
in.getline(a7[5],50,'\n');
e[2]=atof(a7[5]);
in.getline(a7[6],50,'\n');
e[3]=atof(a7[6]);
in.getline(a7[7],50,'\n');
in.getline(a7[8],50,'\n');
worker man7(a7[1],e[0],a7[2],a7[3],a7[7],a7[8]);
pp.insert(&man7);
}
}
in.close();
pp.printlist();
}
//
void order(list &pp)
{
list temp;
int i;
cout<<"1 按数学成绩排序 2 按计算机成绩排序 3 按英语成绩排 其他 按总成绩排序"<<endl;
cin>>i;
temp=pp.order(i);
temp.printlist();
}
//
void saving(list &pp)
{
char nam[50];
cout<<"输入要存储的路径:";
cin>>nam;
pp.save(nam);
}
//
void searching(list &pp)
{
char nam[30];
cout<<"要找的人名:";
cin>>nam;
pp.seeking(nam);
}
//
void del(list &pp)
{
char nam[30];
cout<<"输入要删除的人名:";
cin>>nam;
pp.remove(nam);
}
//
void inserting(list &pp)
{
int j;
char ss[9][30];
int a[2];
float b[3];
cout<<"which kind of people:"<<endl<<"1.本科生 2.研究生 3.教师 4.职工 5.教师在读研究生 6.职工在职研究生 其他:兼职教师"<<endl;
cin>>j;
cout<<"输入姓名:";
cin>>ss[0];
cout<<"编号:";
cin>>a[0];
cout<<"性别:";
cin>>ss[1];
cout<<"出生日期:";
cin>>ss[2];
if(j==1)
{
cout<<"数学:";
cin>>b[0];
cout<<"计算机:";
cin>>b[1];
cout<<"英语:";
cin>>b[2];
cout<<"系:";
cin>>ss[3];
cout<<"年级:";
cin>>a[1];
cout<<"状态:";
cin>>ss[4];
undergraduate man(ss[0],a[0],ss[1],ss[2],b[0],b[1],b[2],ss[3],a[1],ss[4]);
pp.insert(&man);
}
else if(j==2)
{
cout<<"数学:";
cin>>b[0];
cout<<"计算机:";
cin>>b[1];
cout<<"英语:";
cin>>b[2];
cout<<"系:";
cin>>ss[3];
cout<<"年级:";
cin>>a[1];
cout<<"导师:";
cin>>ss[4];
cout<<"专业:";
cin>>ss[5];
postgraduate man(ss[0],a[0],ss[1],ss[2],b[0],b[1],b[2],ss[3],a[1],ss[4],ss[5]);
pp.insert(&man);
}
else if(j==3)
{
cout<<"部门";
cin>>ss[3];
cout<<"专业";
cin>>ss[4];
cout<<"职位";
cin>>ss[5];
teacher man(ss[0],a[0],ss[1],ss[2],ss[3],ss[4],ss[5]);
pp.insert(&man);
}
else if(j==4)
{
cout<<"工作部门";
cin>>ss[3];
cout<<"职位";
cin>>ss[4];
worker man(ss[0],a[0],ss[1],ss[2],ss[3],ss[4]);
pp.insert(&man);
}
else if(j==5)
{
cout<<"数学:";
cin>>b[0];
cout<<"计算机:";
cin>>b[1];
cout<<"英语:";
cin>>b[2];
cout<<"系:";
cin>>ss[3];
cout<<"年级:";
cin>>a[1];
cout<<"导师:";
cin>>ss[4];
cout<<"专业:";
cin>>ss[5];
cout<<"部门";
cin>>ss[6];
cout<<"专业";
cin>>ss[7];
cout<<"职位";
cin>>ss[8];
postteacher man(ss[0],a[0],ss[1],ss[2],b[0],b[1],b[2],ss[3],a[1],ss[4],ss[5],ss[6],ss[7],ss[8]);
pp.insert(&man);
}
else if (j==6)
{
cout<<"数学:";
cin>>b[0];
cout<<"计算机:";
cin>>b[1];
cout<<"英语:";
cin>>b[2];
cout<<"系:";
cin>>ss[3];
cout<<"年级:";
cin>>a[1];
cout<<"导师:";
cin>>ss[4];
cout<<"专业:";
cin>>ss[5];
cout<<"工作部门";
cin>>ss[6];
cout<<"职位";
cin>>ss[7];
postworker man(ss[0],a[0],ss[1],ss[2],b[0],b[1],b[2],ss[3],a[1],ss[4],ss[5],ss[6],ss[7]);
pp.insert(&man);
}
else
{
cout<<"部门";
cin>>ss[3];
cout<<"专业";
cin>>ss[4];
cout<<"职位";
cin>>ss[5];
cout<<"部门";
cin>>ss[6];
cout<<"专业";
cin>>ss[7];
cout<<"职位";
cin>>ss[8];
teacher_worker man(ss[0],a[0],ss[1],ss[2],ss[3],ss[4],ss[5],ss[6],ss[7]);
pp.insert(&man);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -