https://www.myziyuan.com/
- qian
- 不
- 2021-08-29 14:52:57
- 至深科技
- 希望它帮助你。 / ************************************************* * *内容和要求:1注册新员工,添加新员工,如:员工,姓名,诞生年,性别,标题,部门,工资等。; 2根据名称,部门和其他条件; 3修改和删除员工信息; 4按工资排序; 5存储文本文件中的所有记录。 ---- Ky Kuaidh00,2008/01/05。 ------------------评论:有一个删除和更高的操作,最好选择一个链列表。 ************************************************** ********* / #include #include #include #include #include #include #include #include 使用命名空间std; STRUCT员工{////将员工的结构声明为链表节点。 // - - - 数据域名-----字符串m_code;字符串m_name;无符号短int m_year;字符串m_sex;字符串m_post;字符串m_department; unsigned int m_wage; //链接表节点指针域--- struct员工*下一个;}; // -----个人习惯:点击名称------ Typedef Struct员工节点;类型*链接; // -------函数声明----- --------链接创建(链接头); void释放(链接头)链接添加(链接头); BOOL搜索(链接头); void display_list(链接头); void display_node(链接Pnode);链接修改(链接头);林德尔(链接头); void save_byfile(链接头,fstream&finile);链接排序(链接头); // -------函数------------------------------链接创建(链接头){//创建一个空列表标题节点。 head =(链接)新节点; if(!head){cout <<"分配内存失败!"< m_code =“”;头-> m_name =“”;头 - > m_year = 0; head-> m_sex =“; head-> m_post =”“; head-> m_department =”“”; head-> m_wage = 0; head-> next = null;返回头; void释放(链接头){ //释放链接列表。链接PTR; //声明一个操作指针。而(head!= null){ptr = head; head = head-> next;删除ptr; //发布节点资源。}}链接添加(链接head){//预插值添加数据。链接Pnew; //声明一个新节点。再次char;字符串代码,名称,性别,邮政,部门;未签名的短泰铢;未签名的int工资; do {pnew =(链接)新节点; //数据字段。cout; cout <<"请输入职工代码:"; cin>>名称; cout <>年;应该(cin.fail()){cout <>年; cout <<"请输入正确的年份格式。"<>性别; cout >帖子; COUT <>工资;工资; cout <>工资; cout; pnew-> m_name = name; pnew-> m_year =一年; pnew-> m_sex = seX; pnew-> m_post = post; pnew-> m_department =部门; pnew-> m_wage =工资; / /针域。 pnew-> next = head-> next;头 - >下一个= pnew; cout <>再次;} while(再次=='y'||再次=='y');返回头; BOOL搜索链接头){//将员工信息的状态查询为“名称”和“部门”。链接PTR;字符串部;字符串名称; ptr = head-> next; cout <>部门; cout <<"请输入正确的工资数据。"<>名字; cout < m_name == name)&&(ptr-> m_department ==部门)){display_node(ptr); //打印满足条件的节点。返回true; ptr = ptr-> next; //查询下一个节点。 cout <<"数据添加成功!是否继续添加?(Y/N)"<>代码; nound){if(ptr-> next-> m_code == code)// display_node(ptr); //打印满足条件的节点。返回PTR; //注意它是直接前进的n返回查询节点的ode。 ptr-> next = ptr-> next-> next; //查询下一个节点。 }返回ptr;} void display_list(链接头){link ptr; ptr = head-> next; COUID DISPLAY_NODE(LINK PNODE){//在标准输出设备上输出。 cout <<"请输入部门:"; cin> m_name < m_seear < m_sex <<"无此职工的信息。"< m_department < m_wage <<"==================所有职工信息=================="<下一个){cout <>代码; cout <>名字; cout <>年; cin.fail()){cout <>年; cout <>性别; cout <>帖子; cout <>部门; cout <>工资(Cin.fail()){cout <<"-------你现在可以修改此职工的信息了-------"<>工资; cout < next-> m_code =代码; //因为PTR是一个和平节点,使用ptr-> next; ptr-> next - > m_name = name; ptr-> next-> m_year =一年; ptr-> next-> m_sex =性; ptr-> next-> m_post = post; ptr-> next-> m_department =部门; ptr-> next - > m_wage =工资cout <下一步; if(ptront){ptr_front-> next = ptr-> next;删除PTR; //删除此节点。 cout; } I.clear(); //清除文件结束状态。而(Pnode){ofile <<"请输入正确的年份格式。"< m_code < m_name < m_seear < m_sex < m_post <<"请输入正确的工资数据。"< m_department < m_wage <<"没找到此职工的记录,无法修改。"< next; cout <<"没找到此职工的记录,无法删除。"< next == null )| | (头 - >下一个 - > next == null)//这个步骤条件是非常有价值的。 {cout; ptr_f =头;头 - >下一个 - > next = null; //此处,分为两个链接列表。 //第三步。 while(ptr){ptr_n = ptr-> next; ptr_f =头; // ptr_f。 while(ptr_f-> next){if(ptr-> m_wage> ptr_f-> next-> m_wage){ptr-> next = ptr_f-> next; ptr_f-> next = ptr;休息;} //如果{ptr_f = ptr_f-> next;}} //(ptr_f-> next)if(ptr_f-> next == null){ptr-> next = ptr_f-> next; ptr_f-> next = ptr; //表示插入d有序链条的最后一侧。 ptr = ptr_n; //归因,准备下一个订单。 } //(ptr)cout <>菜单; while(cin.fail()){cout <>菜单;}切换(菜单){case 0:cout <<“成功退出了系统!” << endl;返回0;案例1:头部=添加(头);休息;案例2:头部=修改(头);休息;案例3:头部= del(头);休息;案例4:搜索(头);休息;案例5:save_byfile(头,iocile)break;案例6:排序(头);休息;案例7:display_list(head);休息;默认值:cout <<“请选择正确的菜单项。谢谢!” << endl;}}。头; iofile.close();返回0;}
- 2021-08-29 14:50:31
- 哆啦A梦的爸爸
- 员工管理系统需要实现哪些功能,员工管理系统需要的功能模块:1、员工档案管理功能2、员工考勤管理功能3、员工工资管理功能4、员工考评管理功能5、各种报表打印功能
- 2021-08-29 14:50:31