1、教职员信息管理系统源码
#include
2、har sex[10]; Time birthtime; //组合Time类 char num[20]; char wage[20]; Time worktime; int year; char department[20]; friend istream& operator>>(istream& input,Telem& T); friend ostream& operator<<(ostream& output,Telem& T); friend int operator-(
3、Time & t1,Time & t2); }; class People:virtual public Telem //雇员类 { public: People(); virtual void AddF()=0; //添加 virtual void Addall()=0; virtual void Add()=0; virtual void Display(); //输出数组内容 virtual void Displaypart(
4、char p[]); virtual void Findname(char n[]); virtual void Findyear(int ); virtual void Del(char n[])=0; virtual void Del(int ); protected: Telem data[maxsize]; Time now; int length; }; class Teacher:virtual public
5、 People //派生虚基类 { public: virtual void AddF(); virtual void Addall(); virtual void Add(); virtual void Display(); virtual void Del(int i); virtual void Del(char n[]); }; class worker:virtual public People //派生虚基类 { public:
6、 virtual void AddF(); virtual void Addall(); virtual void Add(); virtual void Display(); virtual void Del(int i); virtual void Del(char n[]); }; People::People() //系统自动生成结构函数 { length=0; now.year=; now.month=7; now.
7、day=6;
}
void People::Display() //引用
{
int i;
for(i=0;i 8、时间6 年纪7 系别8 退出选择9"< 9、eak;
case 5: cout<<"出生日期:"< 10、年纪:"< 11、 if(strcmp(data[i].name,n)==0) //对象引用
cout<length)
cou 12、t<<"不存在第"< 13、zeof(data[length]),ios::beg);
iofile.read((char*)&data[length],sizeof(data[length])); //文件随机访问
length++;
if(length==maxsize)
{
flag=1;
goto loop;
}
}
People::Del(length);
cout<<"添加人员信息成功......"< 14、lag)
cout<<"人员信息储存空间已满......"< 15、 iofile.write((char*)&data[length],sizeof(data[length]));
cout<<"添加人员信息成功......"< 16、f(1==flag)
cout<<"人员信息储存空间已满......"< 17、h];
data[length].year=now-data[length].birthtime;
iofile.write((char*)&data[length],sizeof(data[length]));
cout<<"添加人员信息成功......"< 18、)
{
cout<<" ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆工人信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆"< 19、[i].name,n)==0)
{
k=i+1;break;
}
if(k<1)
cout<<"不存在姓名"< 20、ut<<"不存在第"< 21、th]),ios::cur))
{
if(iofile.seekg(length*sizeof(data[length]),ios::beg))
iofile.read((char*)&data[length],sizeof(data[length]));
else
break;
length++;
if(length==maxsize)
{
flag=1;
goto lo 22、op;
}
}
People::Del(length);
cout<<"添加人员信息成功......"< 23、s::out|ios::binary);
do
{
cin>>data[length];
data[length].year=now-data[length].birthtime;
iofile.write((char*)&data[length],sizeof(data[length]));
cout<<"添加人员信息成功......"< 24、1;
goto loop;
}
cout<<"contine(Y|N)?";
cin>>ans;
}while('y'==ans||'Y'==ans);
loop:
if(1==flag)
cout<<"人员信息储存空间已满......"< 25、app|ios::out|ios::binary);
if(length==maxsize)
{
flag=1;
goto loop;
}
cin>>data[length];
data[length].year=now-data[length].birthtime;
iofile.write((char*)&data[length],sizeof(data[length]));
cout<<"添加人员信息成功......"< 26、 if(1==flag)
cout<<"人员信息储存空间已满......"< 27、 28、 cout<<"删除人员信息成功......"< 29、ream& input,Telem& T)
{
int y,m,d;
cout<<"请输入姓名(以*结尾):"< 30、put.getline(T.wage,20,'*');
cout<<"请输入出生日期:"< 31、 cout<<"参与工作时间:"< 32、ame< 33、 output< 34、
void Showmenu()
{
cout< 35、 ★ 1-从键盘录入全部人员统计 ☆ "< 36、信息☆ "< 37、rker stu;
People *pt=&tea;
People *ps=&stu;
int c=0,k=0,l=0,i=0;
char nam[20],part[20];
Showmenu();
for(;;)
{
cout<<"请依据菜单实施对应操作: ";
cin>>c;
switch(c)
{
case 1:
{
cout<<" ★ ☆ ★ ☆ 38、★ ☆ ★录入全部人员统计 ★ ☆ ★ ☆ ★ ☆ ★"< 39、
case 2:
{
cout<<" ★ ☆ ★ ☆ ★ ☆ ★ ☆从键盘增加一位人员统计 ★ ☆ ★ ☆ ★ ☆ ★ ☆"< 40、dd();
else if(2==k)
ps->Add();
else
cout<<"操作错误..."< 41、 cout<<" ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆显示全部人员统计 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆"< 42、 ☆ ★ ☆"< 43、art(part);
}
else if(2==k)
{
cout<<"请输入要输出人员系别(以*结尾):"< 44、 cout<<"操作错误......"< 45、 cin>>k;
if(1==k)
{
cout<<"按姓名查找1 按年纪查找2"< 46、>Findname(nam);
}
else if(2==l)
{
cout<<"请输入要查找人年纪:"< 47、 cout<<"操作错误......"< 48、 cout<<"请输入要查找人员姓名(以*结尾):"< 49、 ps->Findyear(i);
}
else
cout<<"操作错误......"< 50、"<






