当前位置:   article > 正文

类指针 公司职工的信息管理程序 c++_创建员工信息类 employee 要求包含以下属性: 1. 工号 2. 姓名 3. 部门 4. 生日

创建员工信息类 employee 要求包含以下属性: 1. 工号 2. 姓名 3. 部门 4. 生日 5.

实验 4 :公司职工的信息管理程序

一、实验内容:

使用面向对象的程序设计方法设计一个程序,实现对公司职工信息的管理。对公司职工信息的管理包括:增加职工信息、查找职工信息、显示所有职工信息、删除职工信息和退出等功能。

二、实验要求:

   1、程序要实现的功能:

    ①增加职工信息;

②查找职工信息;

③显示所有职工信息;

④删除职工信息;

⑤退出。

2、完成各成员函数

①定义一个员工类(Staff)

     类的声明为:

class Staff

{

public:

          char name[10];//姓名

          char no[5];//职员号

          char department[10];职员所在的部门

          int wage;//工资

          char position[10];//职位

   Staff();

          Staff(char *name,char *no,char* dep,intwage,char* posi);

          ~Staff();

};

②定义一个公司类,类定义为

class Company

{

public :

          int count;

          Staff* add[30];//对象指针数组

          Staff *Sta;//临时对象指针

    Company();

          ~Company();

          bool AddStaff(char *name,char *no,char*dep,int wage,char* posi);//添加职工

          bool DeleteStaff(char *no);//删除职工

          bool FindStaff(char *no);//查找职工

          void DispAll();//显示所有职工

      };

添加时,若职工信息的工号相同则添加不成功。

功能2为查找职工信息,以职工号检索输入3时,显示所有的员工信息4,删除职工信息按0退出系统



建议用string写,毕竟简单太多了。

  1. /*
  2. Name: company staff management program
  3. Copyright:
  4. Author: Jia daihua
  5. Description: don't copy my work
  6. */
  7. #include<iostream>
  8. #include<cstring>
  9. #include<string>
  10. #include<iomanip>
  11. using namespace std;
  12. static int all = 0;
  13. class Staff
  14. {
  15. public:
  16. string name;
  17. string no;
  18. string department;
  19. string wage;
  20. string position;
  21. Staff();
  22. Staff(string name1,string no1,string department1,string wage1,string position1);
  23. ~Staff()
  24. {
  25. }
  26. };
  27. Staff::Staff()
  28. {
  29. name = '0';
  30. no = '0';
  31. department = '0';
  32. wage = '0';
  33. position = '0';
  34. }
  35. Staff::Staff(string name1,string no1,string department1,string wage1,string position1)
  36. {
  37. name = name1;
  38. no = no1;
  39. department = department1;
  40. wage = wage1;
  41. position = position1;
  42. }
  43. class Company
  44. {
  45. public :
  46. int count;
  47. Staff* add[30];
  48. Staff *Sta;
  49. Company()
  50. {
  51. memset(add, 0, sizeof(add));
  52. Sta = 0;
  53. count = 0;
  54. }
  55. ~Company()
  56. {
  57. delete []Sta;
  58. }
  59. bool AddStaff(string name,string no,string dep,string wage,string posi);//添加职工
  60. bool DeleteStaff(string no);//删除职工
  61. bool FindStaff(string no);//查找职工
  62. void DispAll();//显示所有职工
  63. };
  64. //添加员工函数
  65. bool Company::AddStaff(string name,string no,string dep,string wage,string posi)
  66. {
  67. int i = 0;
  68. Staff *example;
  69. example = new Staff(name,no,dep,wage,posi);
  70. for(i = 0; i < all; i ++)
  71. {
  72. Sta = (Staff*)add[i];
  73. if( Sta->no == no)
  74. {
  75. cout<<"添加失败,该员工已存在!"<<endl;
  76. return 0;
  77. }
  78. }
  79. if(all <30)
  80. {
  81. add[all] = example;
  82. cout<<"添加成功。"<<endl;
  83. all++;
  84. return 1;
  85. }
  86. return 1;
  87. }
  88. //通过员工号找到员工并输出员工信息
  89. bool Company::FindStaff(string no)
  90. {
  91. int i,ju=0;
  92. for(i = 0; i < all; i ++)
  93. if(add[i]->no == no)
  94. {
  95. cout<<"该员工已找到:"<<endl;
  96. cout<<"姓名"<<setw(16)<<"员工号"<<setw(16)<<"部门"<<setw(16)<<"工资"<<setw(16)<<"职位"<<endl;
  97. cout<<add[i]->name<<setw(16)<<add[i]->no<<setw(16)<<add[i]->department<<setw(16)<<add[i]->wage<<setw(16)<<add[i]->position<<endl;
  98. ju = 1;
  99. return 1;
  100. }
  101. if(ju == 0)
  102. {
  103. cout<<"您是不是记错了工号或者是输错了!"<<endl;
  104. return 0;
  105. }
  106. return 1;
  107. }
  108. //对制定员工号所对应的员工信息进行删除
  109. bool Company::DeleteStaff(string no)
  110. {
  111. int i,ju = 0;
  112. for(i = 0; i < all; i++)
  113. {
  114. if(add[i]->no == no)
  115. {
  116. for(int j = i;j < all; j++)
  117. add[j] = add[j + 1];
  118. all--;
  119. cout<<"删除成功!"<<endl;
  120. return 1;
  121. }
  122. }
  123. if(ju == 0)
  124. {
  125. cout<<"您是不是记错了工号或者是输错了!"<<endl;
  126. return 0;
  127. }
  128. return 1;
  129. }
  130. //输出目前所有的员工信息
  131. void Company::DispAll()
  132. {
  133. int i;
  134. cout<<"姓名"<<setw(16)<<"工号"<<setw(16)<<"部门"<<setw(16)<<"工资"<<setw(16)<<"职位"<<endl;
  135. for(i = 0; i < all; i++)
  136. cout<<add[i]->name<<setw(16)<<add[i]->no<<setw(16)<<add[i]->department<<setw(16)<<add[i]->wage<<setw(16)<<add[i]->position<<endl;
  137. }
  138. void welcome()
  139. {
  140. cout<<" $-------------------------------------------------------$"<<endl;
  141. cout<<" | |"<<endl;
  142. cout<<" | **欢迎进入公司职员管理系统** |"<<endl;
  143. cout<<" | BY:一个瑟瑟发抖的弱鸡 |"<<endl;
  144. cout<<" $-------------------------------------------------------$"<<endl;
  145. return;
  146. }
  147. //功能选择函数
  148. int select()
  149. {
  150. int r, loop = 1;
  151. cout<<endl<<"请选择您的操作:"<<endl;
  152. cout<<" 1 增加员工信息"<<endl;
  153. cout<<" 2 查找员工信息"<<endl;
  154. cout<<" 3 显示所有员工信息"<<endl;
  155. cout<<" 4 删除员工信息"<<endl;
  156. cout<<" 0 退出"<<endl;
  157. cout<<"请输入序号(0~4):"<<endl;
  158. while(loop)
  159. {
  160. cin>>r;
  161. if(r >= 0 && r <= 4)
  162. break;
  163. else
  164. cout<<"输入有误,请重新输入:";
  165. }
  166. return r;
  167. }
  168. int main()
  169. {
  170. Company c;
  171. int j,k,l,r, loop = 1;
  172. string name,no,position,department,wage;
  173. welcome();
  174. while(loop)
  175. {
  176. r = select();
  177. if(r == 0)
  178. break;
  179. else if(r == 1)
  180. {
  181. cout<<"请输入姓名(换行键结束):"<<endl;
  182. cin>>name;
  183. cout<<"请输入工号(换行键结束):"<<endl;
  184. cin>>no;
  185. cout<<"请输入部门(换行键结束):"<<endl;
  186. cin>>department;
  187. cout<<"请输入工资(换行键结束):"<<endl;
  188. cin>>wage;
  189. cout<<"请输入职位(换行键结束):"<<endl;
  190. cin>>position;
  191. c.AddStaff(name,no,department,wage,position);
  192. }
  193. else if(r == 2)
  194. {
  195. cout<<"请输入您要查找的员工号:"<<endl;
  196. cin>>no;
  197. c.FindStaff(no);
  198. }
  199. else if(r == 3)
  200. {
  201. c.DispAll();
  202. }
  203. else if(r == 4)
  204. {
  205. cout<<"请输入您要删除的员工的员工号:"<<endl;
  206. cin>>no;
  207. c.DeleteStaff(no);
  208. }
  209. }
  210. return 0;
  211. }












声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/910854
推荐阅读
相关标签
  

闽ICP备14008679号