1、include
2、month=m;day=d;} int get_year() {return year;}//取年份 int get_month() {return month;}//取月份 int get_day() {return day;}//取日期 }; //人员类 class person { protected: char name[10]; char id[6]; char sex[2]; date birth; char idCard[18]; public: char *get_name(){return name;} char *get
3、id(){return id;} char *get_sex(){return sex;} char *get_idCard(){return idCard;} int get_year(){return birth.get_year();} int get_month(){return birth.get_month();} int get_day(){return birth.get_day();} }; // 学生类 (继承人员类) class student : public person { protected: char classNu
4、m[15]; public: char *get_classNum() {return classNum;} void printS(); void get_stu(); void showS(); void enterStu(int&); //输入学生记录 void showStu(); //显示学生记录 bool searchStu(); //按姓名查找学生记录 void changeStu(); //更改学生记录 void insertStu(); //插入学生记录 void delStu(int&);
5、 //删除学生记录
};
void student::printS() //输出学生信息
{ cout< 6、oid student::showS()
{
cout< 7、ios::in);//打开用于读的binary文件
if(!file)
{
ofstream outfile("stu.dat",ios::app|ios::binary);//打开文件,并将指针指向文件尾
if(!outfile)
{
cerr<<"stu.dat 文件打开错误!"< 8、this));//读取一个类对象数据放入*this中
while(!file.eof())
{
s++;//每调用一次该函数,职员总数增加1
file.read((char*)(this),sizeof(*this));//再读取一个类对象数据放入*this中
}
file.close();
}
void student::enterStu(int& s) //输入学生信息
{
int year,month,day;
cout<<"输入学生信息:"< 9、e("stu.dat",ios::app|ios::binary);//打开文件,并将指针指向文件尾
cout<<"编号:";
cin>>id;
cout<<"姓名:";
cin>>name;
cout<<"性别:";
cin>>sex;
cout<<"身份证号:";
cin>>idCard;
cout<<"学号:";
cin>>classNum;
cout<<"出生日期(年月日用空格键区分):";
cin>>year>>month>>day;
birth.set_date(year, month, day);
cout< 10、l;
outfile.write((char*)(this),sizeof(*this));//将输入的信息写入文件
outfile.close();
cout<<"信息建立成功!"< 11、ile.read((char*)(this),sizeof(*this)); //读取一个类对象数据放入*this中
cout<<"所有学生的信息如下:"< 12、要查找学生的姓名:"< 13、read((char*)(this),sizeof(*this));//文件指针未到文件尾,循环读取数据
}
infile.close();
cout<<"对不起,你要查找的学生不存在!"< 14、
ofstream outfile("stuchange.dat",ios::app|ios::binary);//打开用于写的二进制文件
ifstream infile("stu.dat",ios::binary);//打开用于读的二进制文件
infile.read((char*)(this),sizeof(*this));//从"stu.txt"中读取一个类对象数据放入*this中
showS();
while(!infile.eof())
{
if(strcmp(name,stuname)==0)
{
changemark=1;
15、 cout<<"输入学生修改信息:"< 16、n>>year>>month>>day;
birth.set_date(year, month, day);
outfile.write((char*)(this),sizeof(*this));//将输入的信息写入文件
outfile.close();
cout<<"信息修改成功!"< 17、再次读取一个类对象数据,放于*this中
}
outfile.close();
infile.close();
if(changemark==1) //将修改后的信息写入原文件
{
ofstream outfile("stu.dat",ios::binary);//打开用于写的二进制文件"stu.txt"
ifstream infile("stuchange.dat",ios::binary);//打开用于读的二进制文件
infile.read((char*)(this),sizeof(*this));//读取一个类对象数据放入*this中
whi 18、le(!infile.eof())
{
outfile.write((char*)(this),sizeof(*this));
infile.read((char*)(this),sizeof(*this));
}
infile.close();
outfile.close();
}
if(changemark==0)
cout<<"欲修改的学生不存在!"< 19、息:"< 20、ear, month, day);
cout< 21、"< 22、out< 23、已删除信息
s--; //确定删除信息,人事档案管理系统中成员总数减1
cout<<"该学生信息已删除!"< 24、);
if(delmark==1) //若找到了删除对象,就用"tu1.txt"文件内容去充当"stu.txt"
{
ofstream outfile("stu.dat",ios::binary);//打开用于写的二进制文件"stu.txt"
ifstream infile("studel.dat",ios::binary);//打开用于读的二进制文件"managestu1.txt"
infile.read((char*)(this),sizeof(*this));//读取一个类对象数据放入*this中
while(!infile.eof())
{
25、 outfile.write((char*)(this),sizeof(*this));
infile.read((char*)(this),sizeof(*this));
}
infile.close();
outfile.close();
}
if(delmark==0)
cout<<"欲删除的学生不存在!"< 26、 char *get_work() {return work;}
char *get_party(){return party;}
void printT();
void printT1();
void inputT();
void get_tch();
void enterTch(int&); //输入教师记录
void showTch(); //显示教师记录
bool searchTch(); //按姓名查找教师记录
void changeTch(); //更改教师记录
void insertTch(); / 27、/插入教师记录
void delTch(int&); //删除教师记录
};
void teacher::printT() //输出教师信息
{ cout< 28、
cout< 29、t< 30、<"性别:";
cin>>sex;
cout<<"身份证号:";
cin>>idCard;
cout<<"职务:";
cin>>work;
cout<<"部门:";
cin>>party;
cout<<"出生日期(年月日用空格键区分):";
cin>>year>>month>>day;
birth.set_date(year, month, day);
}
int t=0;
void teacher::get_tch()
{
ifstream file("tch.dat",ios::binary|ios::in);
31、if(!file)
{
ofstream outfile("tch.dat",ios::app|ios::binary);
if(!outfile)
{
cerr<<"tch.dat 文件打开错误!"< 32、 t++;
file.read((char*)(this),sizeof(*this));
}
file.close();
}
void teacher::enterTch(int&)
{
int year,month,day;
cout<<"输入教师信息:"< 33、sex;
cout<<"身份证号:";
cin>>idCard;
cout<<"职务:";
cin>>work;
cout<<"部门:";
cin>>party;
cout<<"出生日期(年月日用空格键区分):";
cin>>year>>month>>day;
birth.set_date(year, month, day);
cout< 34、
void teacher::showTch()
{
if(t==0)
cout<<"教师数据为空,请先添加教师信息!"< 35、生日期";
cout< 36、ifstream infile("tch.dat",ios::binary);
infile.read((char*)(this),sizeof(*this));
while(!infile.eof())
{
if(strcmp(name,na)==0)
{
cout<<"该教师的个人信息如下:"< 37、18)<<"身份证号";
cout< 38、month,day;
int changemark=0;
char tchname[20];
cout<<"请输入你要修改的教师的姓名:"< 39、0)
{
changemark=1;
cout<<"输入修改信息:"< 40、 cin>>party;
cout<<"出生日期(年月日用空格键区分):";
cin>>year>>month>>day;
birth.set_date(year, month, day);
cout< 41、 infile.read((char*)(this),sizeof(*this));
}
outfile.close();
infile.close();
if(changemark==1)
{
ofstream outfile("tch.dat",ios::binary);
ifstream infile("tchchange.dat",ios::binary);
infile.read((char*)(this),sizeof(*this));
while(!infile.eof())
{
outfile.write((char 42、)(this),sizeof(*this));
infile.read((char*)(this),sizeof(*this));
}
infile.close();
outfile.close();
}
if(changemark==0)
cout<<"欲修改的教师不存在!"< 43、binary);
cout<<"编号:";
cin>>id;
cout<<"姓名:";
cin>>name;
cout<<"性别:";
cin>>sex;
cout<<"身份证号:";
cin>>idCard;
cout<<"职务:";
cin>>work;
cout<<"部门:";
cin>>party;
cout<<"出生日期:(年月日之间用空格区分)";
cin>>year>>month>>day;
birth.set_date(year, month, day);
cout< 44、te((char*)(this),sizeof(*this));
outfile.close();
cout<<"信息添加成功!"< 45、s::binary);
infile.read((char*)(this),sizeof(*this));
cout<<"该教师的个人信息如下:"< 46、
{
if(strcmp(name,stuname)==0)
{
printT();
cout< 47、izeof(*this));
infile.read((char*)(this),sizeof(*this));
}
outfile.close();
infile.close();
if(delmark==1)
{
ofstream outfile("tch.dat",ios::binary);
ifstream infile("tchdel.dat",ios::binary);
infile.read((char*)(this),sizeof(*this));
while(!infile.eof())
{
outfile 48、write((char*)(this),sizeof(*this));
infile.read((char*)(this),sizeof(*this));
}
infile.close();
outfile.close();
}
if(delmark==0)
cout<<"欲删除的教师不存在!"< 49、
public:
void set_postgraduate(char *major,char *party);
char *get_major() {return major;}
char *get_tutor() {return tutor;}
void printPG();
void get_PG();
void enterPG(int&);
void showPG();
bool searchPG();
void changePG();
void insertPG();
void delPG( 50、int&);
};
void postgraduate::printPG()
{ cout<
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818