职工管理系统课程设计报告C++.docx
- 文档编号:8791737
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:20
- 大小:150.05KB
职工管理系统课程设计报告C++.docx
《职工管理系统课程设计报告C++.docx》由会员分享,可在线阅读,更多相关《职工管理系统课程设计报告C++.docx(20页珍藏版)》请在冰豆网上搜索。
职工管理系统课程设计报告C++
题目:
职工信息管理系统
一、课程设计的目的
1.进一步巩固C++语言理论基础。
2.熟练掌握程序设计的一般技巧和方法。
3.培养解决综合性实际问题的能力。
二、课程设计任务
题目:
职工信息管理系统
题目要求:
完成一个职工信息管理系统的设计,设计主要实现以下功能:
(1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、参加工作时间和年龄。
(2)使用集成的方法构成三个类(雇员类,教师类个工人类,其中雇员类是虚基类,教师类个工人类是派生类),相应的对象防治10个职工信息。
(3)编写成员函数,用来输出数组内容。
(4)按不同的类别输出职工信息,比如按系输出驾驶信息。
(可选功能)
(5)检索(查找)指定信息(如按名字检索)
题目职工信息管理系统
一、题目分析
题目需要构造三个类,对于系统中的每个功能,需要有专门的函数,进行输入和输出!
设计雇员类,需要有数据成员charnum[20]charname[20]intagecharxi[20]等!
由派生类派生出教师类,工人类,将其中的数据成员,成员函数都设计成公有成员函数。
成员函数包括voidzhucaidan,voidchaxun,voidxichaxun,voidxianshi等。
对于主函数,需要定义两个对象,teachert;workersw;定义两个对象,输出按1管理教师信息,输出2管理工人信息,然后多次使用switch语句case1case2------等。
再调用zhucaidan(),实现switch语句的转换。
退出程序时,由exit(0)函数实现,函数包含在stdlib.h头文件上。
二、程序代码
#include
#include
#include
#include
#include
#include
staticintsum=0;
staticintsum1=0;
classemployees{
public:
charbirthday[20];
charjob[20];charnum[20];charname[20];
charincome[20];
intage;
charsex[10];};
classTeacher:
virtualpublicemployees{
public:
charxi[10];
public:
intzhucaidan();
voidrecord();
voidadd();
charchaxun();
voiddel();
voidxichaxun();
voidxianshi();
voidnamejiansuo();
friendostream&operator<<(ostream&,Teacher&);
friendistream&operator<<(istream&,Teacher&);
}teacher[100];
intTeacher:
:
zhucaidan()
{
cout<<"\t\t\t--------------------------------------------\n";
cout<<"\t\t\t教师信息管理系统\n";
cout<<"\t\t\t--------------------------------------------\n";
cout<<"\t\t\t+[1]---按编号查询教师信息+\n";
cout<<"\t\t\t+[2]---按系查询教师信息+\n";
cout<<"\t\t\t+[3]---按名字查询教师信息+\n";
cout<<"\t\t\t+[4]---显示教师全部信息+\n";
cout<<"\t\t\t+[5]---删去教师信息+\n";
cout<<"\t\t\t+[6]---增加教师信息+\n";
cout<<"\t\t\t+[7]---退出系统+\n";
cout<<"\t\t\t+****************************+\n";
cout<<"\t\t\t---------------------------------------------\n";
cout<<"请输入您的选择:
";
intchoice;
cin>>choice;
return(choice);}
voidTeacher:
:
record()
{ofstreamoutfile("教师信息.txt",ios:
:
out);
charc;
cout<<"请输入教师信息,以@结束:
"< while(c! ='@') {cout<<"请输入教师编号: ";cin>>teacher[sum].num;outfile< cout<<"请输入教师姓名: ";cin>>teacher[sum].name;outfile< cout<<"请输入教师性别: ";cin>>teacher[sum].sex;outfile< cout<<"请输入教师工资: ";cin>>teacher[sum].income;outfile< cout<<"请输入教师出生日期: ";cin>>teacher[sum].birthday;outfile< cout<<"请输入教师参加工作日期: ";cin>>teacher[sum].job;outfile< cout<<"请输入教师年龄: ";cin>>teacher[sum].age;outfile< cout<<"请输入教师系别: ";cin>>teacher[sum].xi;outfile< cout<<"如果要继续输入请按g/如果要结束输入请按@: ";cin>>c; sum++; cout< cout<<"输入信息结束! "< ifstreaminfile("教师信息.txt",ios: : in); for(inti=0;i {infile>>teacher[sum].num; infile>>teacher[sum].name; infile>>teacher[sum].sex; infile>>teacher[sum].income; infile>>teacher[sum].birthday; infile>>teacher[sum].job; infile>>teacher[sum].age; infile>>teacher[sum].xi;}} voidTeacher: : add() {cout< cout<<"请输入教师编号: ";cin>>teacher[sum].num; cout<<"请输入教师姓名: ";cin>>teacher[sum].name; cout<<"请输入教师性别: ";cin>>teacher[sum].sex; cout<<"请输入教师工资: ";cin>>teacher[sum].income; cout<<"请输入教师出生日期: ";cin>>teacher[sum].birthday; cout<<"请输入教师参加工作日期: ";cin>>teacher[sum].job; cout<<"请输入教师年龄: ";cin>>teacher[sum].age; cout<<"请输入教师系别: ";cin>>teacher[sum].xi; sum++;} charTeacher: : chaxun() {cout< charnum[20]; inti=0; cout<<"请输入要查询的教师的编号: "< cin>>num; for(i=0;i if(strcmp(teacher[i].num,num)==0) {cout<<"您要查询的信息是: "< cout< else cout<<"您的输入有误,请重新输入: "< return0;} voidTeacher: : del() {cout< charnum1[20]; intj=0; cout<<"请输入要删去的教师的编号: "< cin>>num1; for(inti=0;i if(strcmp(teacher[i].num,num1)==0) {j=i;} for(;j {teacher[j]=teacher[j+1];} sum--; cout<<"您要删去的信息已经成功删去! "< voidTeacher: : xichaxun() {cout< charxi[5];inti=0; cout<<"请输入要查询教师的系别: "< cin>>xi; for(i=0;i {if(strcmp(teacher[i].xi,xi)==0) {cout<<"你要查询的信息是: "< cout< else cout<<"您的输入有误,请重新输入: "< voidTeacher: : xianshi() {cout<<"---------全部教师信息----------/t/t"< cout<<"编号"<<'\t'<<"姓名"<<'\t'<<"性别"<<'\t'<<"工资"<<'\t'<<"出生日期"<<'\t'<<"参加工作日期"<<'\t'<<"年龄"<<'\t'<<"系别"<<'\t'<<'\n'; for(inti=0;i cout< voidTeacher: : namejiansuo() {charname[10]; inti=0; cout<<"请输入要查询教师的名字: "< cin>>name; for(i=0;i if(strcmp(teacher[i].name,name)==0) {cout<<"你要查询的信息是: "< cout< else cout<<"您的输入有误,查无此人"< } istream&operator>>(istream&in,Teacher&t) {cout<<"输入教师编号: ";cin>>t.num; cout<<"输入教师姓名: ";cin>>teacher[sum].name; cout<<"输入教师性别: ";cin>>teacher[sum].sex; cout<<"输入教师工资: ";cin>>teacher[sum].income; cout<<"输入教师出生日期: ";cin>>teacher[sum].birthday; cout<<"输入教师参加工资日期: ";cin>>teacher[sum].job; cout<<"输入教师年龄: ";cin>>teacher[sum].age; cout<<"输入教师系别: ";cin>>teacher[sum].xi; returnin;} ostream&operator<<(ostream&out,Teacher&t) {cout<<"教师编号: "< cout<<"教师姓名: "< cout<<"教师性别: "< cout<<"教师工资: "< cout<<"教师出生日期: "< cout<<"教师参加工作日期: "< cout<<"教师年龄: "< cout<<"教师系别: "< cout< returnout;} classWorkers: virtualpublicemployees {public: charxi[10]; public: intzhucaidan(); voidrecord(); voidadd(); charchaxun(); voiddel();voidchaxun(); voidxianshi() voidnamejiansuo(); friendostream&operator<<(ostream&,Workers&); friendistream&operator>>(istream&,Workers&); }workers[100]; intWorkers: : zhucaidan() { cout<<"\t\t\t+----------------------------------------+\n"; cout<<"\t\t\t+工人信息管理系统+\n"; cout<<"\t\t\t+-----------------------------------------+\n"; cout<<"\t\t\t+[1]---按编号查询工人信息+\n"; cout<<"\t\t\t+[2]---按系查询工人信息+\n"; cout<<"\t\t\t+[3]---按名字查询工人信息+\n"; cout<<"\t\t\t+[4]---显示工人全部信息+\n"; cout<<"\t\t\t+[5]---删去工人信息+\n"; cout<<"\t\t\t+[6]---增加工人信息+\n"; cout<<"\t\t\t+[7]---退出系统+\n"; cout<<"\t\t\t+****************************+\n"; cout<<"\t\t\t-------------------------------------------\n"; cout<<"请输入您的选择: "; intchoice; cin>>choice; return(choice);} voidWorkers: : record() {ofstreamoutfile("工人信息.txt",ios: : out); charc; cout<<"请输入工人信息,以@结束: "< while(c! ='@') {cout<<"请输入工人编号: ";cin>>workers[sum1].num;outfile< cout<<"请输入工人姓名: ";cin>>workers[sum1].name;outfile< cout<<"请输入工人性别: ";cin>>workers[sum1].sex;outfile< cout<<"请输入工人工资: ";cin>>workers[sum1].income;outfile< cout<<"请输入工人出生日期: ";cin>>workers[sum1].birthday;outfile< cout<<"请输入工人参加工作日期: ";cin>>workers[sum1].job;outfile< cout<<"请输入工人年龄: ";cin>>workers[sum1].age;outfile< cout<<"请输入工人系别: ";cin>>workers[sum1].xi;outfile< cout<<"如果要结束输入请按@或者继续: ";cin>>c; sum1++; cout< cout<<"输入信息结束! "< ifstreaminfile("工人信息.txt",ios: : in); for(inti=0;i {infile>>workers[sum1].num; infile>>workers[sum1].name; infile>>workers[sum1].sex; infile>>workers[sum1].income; infile>>workers[sum1].birthday; infile>>workers[sum1].job; infile>>workers[sum1].age; infile>>workers[sum1].xi;}} voidWorkers: : add() {cout<<"请输入工人编号: ";cin>>workers[sum1].num; cout<<"请输入工人姓名: ";cin>>workers[sum1].name; cout<<"请输入工人性别: ";cin>>workers[sum1].sex; cout<<"请输入工人工资: ";cin>>workers[sum1].income; cout<<"请输入工人出生日期: ";cin>>workers[sum1].birthday; cout<<"请输入工人参加工作日期: ";cin>>workers[sum1].job; cout<<"请输入工人年龄: ";cin>>workers[sum1].age; cout<<"请输入工人系别: ";cin>>workers[sum1].xi; sum1++;} charWorkers: : chaxun() {charnum[20]; inti=0; cout<<"请输入要查询的工人的编号: "< cin>>num; for(i=0;i if(strcmp(workers[i].num,num)==0) {cout<<"您要查询的信息是: "< cout< else cout<<"您的输入有误,请重新输入: "< return0;} voidWorkers: : del() {cout< charnum1[20]; intj=0; cout<<"请输入要删去的工人的编号: "< cin>>num1; for(inti=0;i if(strcmp(workers[i].num,num1)==0) {j=i;} for(;j {workers[j]=workers[j+1];} sum1--; cout<<"您要删去的信息已经成功删去! "< voidWorkers: : xichaxun() {charxi[10];inti=0; cout<<"请输入要查询工人的系别: "< cin>>xi; for(i=0;i {if(strcmp(workers[i].xi,xi)==0) {cout<<"你要查询的信息是: "< cout< else cout<<"您的输入有误,请重新输入: "< voidWorkers: : xianshi() {cout<<"*********全部工人信息********/t/t"< cout<<"编号"<<'\t'<<"姓名"<<'\t'<<"性别"<<'\t'<<"工资"<<'\t'<<"出生日期"<<'\t'<<"参加工作日期"<<'\t'<<"年龄"<<'\t'<<"系别"<<'\t'<<'\n'; for(inti=0;i cout< voidWorkers: : namejiansuo() {cout< charname[10];inti=0; cout<<"请输入要查询工人的名字: "< cin>>name; for(i=0;i if(strcmp(workers[i].name,name)==0) {cout<<"你要查询的信息是: "< cout< else cout<<"您的输入有误,请重新输入: "< istream&operator>>(istream&in,Workers&w) {cout<<"输入工人编号: ";cin>>w.num; cout<<"输入工人姓名: ";cin>>workers[sum1].name; cout<<"输入工人性别: ";cin>>workers[sum1].sex; cout<<"输入工人工资: ";cin>>workers[sum1].income; cout<<"输入工人出生日期: ";cin>>workers[sum1].birthday; cout<<"输入工人参加工作日期: ";cin>>workers[sum1].job; cout<<"输入工人年龄: ";cin>>workers[sum1].age; cout<<"输入工人的系别是: ";cin>>workers[sum1].xi; returnin;} ostream&operator<<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 管理 系统 课程设计 报告 C+