1、某小型企业出与这种目的制作了这个人事管理系统二、程序的主要功能1、添加功能:添加一个职员的基本信息,包括姓名,工作证号,身份证号码,生日,家庭住址,家庭电话号码,部门,薪水,性别,职务、2、删除功能:能够对一个职员的信息进行删除按姓名进行删除、3、除全部职员信息:能够对于全部职员的信息进行删除!4、显示功能:显示所有职员的主要信息包括姓名,身份证号码,工作证号,生日、!5、查找功能:根据你键入的职员姓名,显示其详细信息!6、修改功能:对职员的信息进行修改。三、程序运行平台具体操作如下:首先进入VC+6.0,打开原代码person.cpp,然后进入原程序,接着选择Options下的Linker,
2、选择Libraries,弹出一个对话框,再选择Graphics library,然后确认即可!四、 系统总框架图 五、程序类的说明 Date类的声明class Date public: Date(); /Date类的构造函数 void set(); /Date类的设置函数 friend istream & operator (istream &in,Date &da); /重载“” friend ostream & operator (ostream &out,Date d); /重载“” void operator =(Date d); 重载“=” private: int year; /年
3、 int month; /月 int day; /日; people类的声明class people people(); /people类的构造函数 friend ostream &out,people p); /重载“” friend istream &in,people &p); void operator =(people p); /重载“=” void set(); /people类的设置函数 char *getname(); /获得姓名 char *getsex(); /获得性别 char *getid(); /获得id char *gettelephone(); /获得电话号码 D
4、ate getbirthday(); /获得生日 char *getnumber(); /获得工作证号 void setname(char *); /设置姓名 void setsex(char *); /设置性别 void setid(char *); /设置id void setnumber(char *); /设置工作证号 void setaddress(char *); /设置家庭地址 void settelephone(char *); /设置电话号码 void setbirthday(Date); /设置出生日期 void setsalary(char *); /设置薪水 void
5、setpost(char *); /设置职务 void setdepartment(char *); /设置工作部门 protected: char name20; /姓名 char sex5; /性别 char id20; /身份证号 char telephone10; /电话号码 Date birthday; /出生日期 char number20; /工作证号 char address100; /家庭地址 char salary10; /薪水 char post20; /职务 char department30; /工作部门 people *next; /下一个节点 people *pr
6、evious; /上一个节点 class peoplelist:public people peoplelist(); /peoplelist类的构造函数 /peoplelist类的设置函数 void add(); /添加函数 void display(); /显示函数 void find(); /查找函数 void deleteAll(); /清空函数 void save(); /写入文件 void load(); /读进内存 void modify(); /修改函数 void remove(); /删除函数private:people *start; /链表头 people *end; /
7、链表尾六、模块分析1. 添加模块系统将提示用户输入新添加的职员的信息,插入在链表中2. 显示模块显示模块将输出所有职员的主要资料 。3. 修改模块首先由用户输入要修改的职员的姓名,然后系统用修改函数查找,显示该名职员的资料,然后系统提示用户输入需要修改的项目和新的资料。4. 查找模块首先由用户输入要查找的职员姓名,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的职员资料。5. 删除模块首先由用户输入要删除的单个职员姓名,然后调用删除函数,删除该名职员的资料。6. 清空模块系统将会把所有职员的资料全部删除,将链表清空。七、比较有特色的函数 void peoplelist:remove
8、() textmode(C80); textbackground(BLUE); clrscr(); gotoxy(10,10); coutn; people *temp; temp=start; while(temp) if(strcmp(temp-getname(),n)=0) break; if(temp=NULL) gotoxy(20,10); coutprevious)/删除的节点不是第一个 temp-previous-next=temp-next; if(temp-next)/删除的节点不是最后一个 temp-next-previous=temp-previous; else end
9、=temp- else/删除的节点是第一个 temp-previous=NULL; start=temp- start=end=NULL;/删除节点是最后一个,链表只有一个节点 gotoxy(30,10);remove succeed! getch();八、存在的不足与对策由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强,对于一些不正确的输入可能会造成一些难以预料的结果,因此,请不要故意输入错误信息。这些不足请老师多多谅解。今后设计者会更多的学习编程技巧,不断的提高程序设计水平。九、程序源代码#includeiostream.hstring.hstdlib.hstdi
10、o.hfstream.hconio.hgraphics.hdos.hprocess.h#define TURE 1#define FALSE 0#define KB_S_N_DOWN 80#define KB_S_N_UP 72#define KB_S_N_ENTER 28#define KB_S_N_D 32#define KB_S_N_Q 16#define KB_S_N_M 50#define KB_S_N_A 30#define KB_S_N_F 33#define KB_S_N_R 19#define KB_S_N_E 18void Welcome();int get_key();i
11、nt getitem(int);void light_bar();void box(int x,int y,int wi,int hi,char bkcolor,char color);int row,item_num=7;unsigned size;void * buf;/void box(int x,int y,int wi,int hi,char bkcolor,char color) textbackground(bkcolor); textcolor(color); int i; gotoxy(x,y); putch(0xda); for(i=1;iymd; if(y2002)error! goto A; da.year=y; if(m12|mdaysmonthm|d goto A; da.day=d; if(y%100=0)|y%4=0&y%100! if(d29) cout goto A; da.day=d;28) return in;ostream &out,Date d) outd.year/d.monthd.day return out;/void Date:operator =(Date d) year=d.year; month=d.month; day=d.day; void change();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1