欢迎来到天天文库
浏览记录
ID:16333336
大小:78.50 KB
页数:19页
时间:2018-08-09
《面向对象技术实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、面向对象技术实验报告(公司人事管理系统)班级:通信技术0901姓名:孙倩怡学号:0907040102成绩:时间:2010.12.3指导老师:李明明目录1.实验目的……………………………………2.功能简介……………………………………3.程序流程图…………………………………4.代码…………………………………………5.代码分析……………………………………6.改进建议……………………………………7.改进后的代码………………………………8.心得体会……………………………………实验目的1.更好的理解C++程序设计语言基础知识。2.掌握基础数据类型的表示。3.理解并掌
2、握程序分支的应用。4.理解并掌握面向对象编程的设计方法。5.通过实践具体项目,为进一步学习打下基础。功能简介某小型公司,主要有两类人员:经理、员工。现在,需要存储这些人员的姓名、编号、身份证号码、业绩、级别(经理包括总经理、经理、副经理级别,员工包括高级员工、普通员工和临时工级别)、家庭住址、开始工作日期、所在部门、薪水等信息,并可以对这些信息进行检索。要求:1)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1;2)根据业绩的大小具有自动升降级别的功能;3)输入员工身份证号码号码后自动获取员工生日;4)输入员工开始工作日期后自动获取员工工
3、龄;5)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息程序流程图出现错误,中断扫描输入表达式判断表达式是否符合要求显示出错情况,等待用户修改输出结果,并做记录,等待下次输入代码#include#include#include#includeconstintMaxr=100;classEmployee//职工类{inttag;//删除标记intno;//职工编号charname[20];charzw[20];//职工姓名intsalary;//职工工资pub
4、lic:Employee(){}char*getname(){returnname;}//获取名字intgettag(){returntag;}//获取标记intgetno(){returnno;}//获取编号intgetsalary(){returnsalary;}voidsetzw(charq[])//设置名字{strcpy(zw,q);}voidsetname(charna[])//设置名字{strcpy(name,na);}voidgetsalary(intsa){salary=sa;}voiddelna(){tag=1;}//删除voidadd
5、emp(intn,intsa,char*na,char*q)//增加{tag=0;no=n;salary=sa;strcpy(name,na);strcpy(zw,q);}voiddisp()//显示职工信息{cout<<"│"<6、eeread[Maxr];public:Database()//将职工信息从employee.txt读取到read[]中{Employees;top=-1;fstreamfile("employee.txt",ios::in);while(1){file.read((char*)&s,sizeof(s));if(!file)break;top++;read[top]=s;}file.close();}voidclear()//删除所有{top=-1;}intaddemp(intn,intsa,char*na,char*q)//增加职工{Employee*7、p=query(n);if(p==NULL){top++;read[top].addemp(n,sa,na,q);return1;}return0;}Employee*query(intempid){for(inti=0;i<=top;i++)if(read[i].getno()==empid&&read[i].gettag()==0)return&read[i];returnNULL;}Employee*query1(charempna[20]){for(inti=0;i<=top;i++)if((read[i].getname()==empna)&&8、read[i].gettag()==0)return&read[i];retur
6、eeread[Maxr];public:Database()//将职工信息从employee.txt读取到read[]中{Employees;top=-1;fstreamfile("employee.txt",ios::in);while(1){file.read((char*)&s,sizeof(s));if(!file)break;top++;read[top]=s;}file.close();}voidclear()//删除所有{top=-1;}intaddemp(intn,intsa,char*na,char*q)//增加职工{Employee*
7、p=query(n);if(p==NULL){top++;read[top].addemp(n,sa,na,q);return1;}return0;}Employee*query(intempid){for(inti=0;i<=top;i++)if(read[i].getno()==empid&&read[i].gettag()==0)return&read[i];returnNULL;}Employee*query1(charempna[20]){for(inti=0;i<=top;i++)if((read[i].getname()==empna)&&
8、read[i].gettag()==0)return&read[i];retur
此文档下载收益归作者所有