经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
C语言链表实现工资管理系统
来源:jb51  时间:2022/2/28 8:51:22  对本文有异议

本文实例为大家分享了C语言链表实现工资管理系统的具体代码,供大家参考,具体内容如下

自己的作业,分享一下,自己为了调试方便,又多加入了一些功能

题目:建立工资管理系统,对职工工资的相关信息进行管理。职工工资相关信息包括职工工号,职工姓名,月份,每月工资和年度总工资等,具体要求如下:

1、建立该系统的存储结构
2、录入职工某个月的工资
3、查找某个职工某个月的工资
4、修改某个职工某个月的工资
5、删除每个职工的工资相关信息
6、统计某个职工年度总工资
7、对职工的月工资或年度总工资进行排名

源码

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct worker
  6. {
  7. ? ? char no[12]; ? ? ? ? //职工工号
  8. ? ? char name[40]; ? ? ? //姓名
  9. ? ? int month[12]; ? ? ? //月份
  10. ? ? float gz[12]; ? ? ? ?//月工资
  11. ? ? float total; ? ? ? ? //年度总工资
  12. ? ? struct worker *next; //指向下一节点的指针
  13. } Worker;
  14.  
  15. //相关的函数声明
  16. Worker *CreateList(Worker *L, int n); ? ? ? ? ? ? ? //根据输入的职工人数,批量创建节点
  17. void DeleteList(Worker *L, char n[]); ? ? ? ? ? ? ? //删除节点
  18. void LIstSearch(Worker *L, char n[]); ? ? ? ? ? ? ? //查找职工工资信息
  19. void InsertInfo(Worker *L); ? ? ? ? ? ? ? ? ? ? ? ? //插入职工工资信息
  20. void SearchMonthSalary(Worker *L, char n[], int m); //查找某个职工的某个月的工资
  21. void Input(Worker *p, int i); ? ? ? ? ? ? ? ? ? ? ? //为节点的数据域赋值
  22. void Print(Worker *L); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//输出整个链表的数据
  23. void Modify(Worker *L, char n[], int m, float s); ? //修改某个职工的工资
  24. void menu(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//工资管理系统的菜单
  25. void Save(Worker *L); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //将职工的工资信息保存至文件
  26. void Bubble_sort(Worker *L); ? ? ? ? ? ? ? ? ? ? ? ?//冒泡排序实现对链表节点的排序
  27. void StatiTotal(Worker *L,char n[]); ? ? ? ? ? ? ? ?//统计某个职工年度总工资
  28.  
  29. //根据输入的职工人数,批量创建节点
  30. Worker *CreateList(Worker *L, int n) //n为输入的职工人数
  31. {
  32. ? ? int i;
  33. ? ? for (i = 0; i < n; i++)
  34. ? ? {
  35. ? ? ? ? Worker *p;?? ??? ??? ??? ??? ??? ??? ??? ??? ?//将新生成的节点插入到链表中
  36. ? ? ? ? p = NULL;
  37. ? ? ? ? p = (Worker *)malloc(sizeof(Worker));
  38. ? ? ? ? Input(p, i);?? ??? ??? ??? ??? ??? ??? ??? ?//为节点的数据域赋值
  39. ? ? ? ? p->next = L->next;
  40. ? ? ? ? L->next = p;
  41. ? ? }
  42. ? ? return L;
  43. }
  44.  
  45. void DeleteList(Worker *L, char n[]) //按姓名删除职工信息
  46. {
  47. ? ? int i;
  48. ? ? Worker *p = L->next, *pre = L; //定义p指针指向头节点的指向,定义pre指向头节点,pre始终指向p的前驱节点
  49. ? ? if (p == NULL)
  50. ? ? ? ? printf("数据为空,无法删除!");
  51. ? ? else
  52. ? ? {
  53. ? ? ? ? while (strcmp(p->name, n) != 0)
  54. ? ? ? ? {
  55. ? ? ? ? ? ? pre = p;
  56. ? ? ? ? ? ? p = pre->next;
  57. ? ? ? ? ? ? if (p == NULL)
  58. ? ? ? ? ? ? {
  59. ? ? ? ? ? ? ? ? printf("没有找到相关信息,无法删除\n");
  60. ? ? ? ? ? ? ? ? return;
  61. ? ? ? ? ? ? }
  62. ? ? ? ? }
  63. ? ? ? ? pre->next = p->next;
  64. ? ? ? ? free(p);
  65. ? ? ? ? printf("删除成功");
  66. ? ? }
  67. }
  68.  
  69. //向链表中插入职工工资信息
  70. void InsertInfo(Worker *L)
  71. {
  72. ? ? int j, k;
  73. ? ? Worker *p = NULL;
  74. ? ? p = (Worker *)malloc(sizeof(Worker)); //生成一个新节点p
  75. ? ? p->total = 0;
  76. ? ? printf("请输入要插入的职工的职工工号:");
  77. ? ? scanf("%s", &p->no);
  78. ? ? printf("请输入要插入的职工的姓名:");
  79. ? ? scanf("%s", &p->name);
  80. ? ? for (k = 0, j = 1; j <= 12, k < 12; j++, k++)
  81. ? ? ? ? p->month[k] = j;
  82. ? ? printf("请输入要插入的职工的月工资(用空格隔开):");
  83. ? ? for (j = 0; j < 12; j++)
  84. ? ? {
  85. ? ? ? ? scanf("%f", &p->gz[j]); //输入每个月的工资
  86. ? ? ? ? p->total += p->gz[j]; ? //计算总工资
  87. ? ? }
  88. ? ? p->next = L->next;
  89. ? ? L->next = p;
  90. ? ? printf("插入成功!");
  91. }
  92.  
  93. void LIstSearch(Worker *L, char n[])
  94. {
  95. ? ? int i;
  96. ? ? Worker *p = L->next;
  97. ? ? while (p != NULL)
  98. ? ? {
  99. ? ? ? ? if (strcmp(p->name, n) == 0)
  100. ? ? ? ? {
  101. ? ? ? ? ? ? printf("\n该职工的工资的信息如下:\n");
  102. ? ? ? ? ? ? printf("职工编号:");
  103. ? ? ? ? ? ? printf("%s\t\n", p->no);
  104. ? ? ? ? ? ? printf("姓名:");
  105. ? ? ? ? ? ? printf("%s\n", p->name);
  106. ? ? ? ? ? ? printf("该职工12个月的月工资如下:");
  107. ? ? ? ? ? ? for (i = 0; i < 12; i++)
  108. ? ? ? ? ? ? ? ? printf("%.2f ", p->gz[i]);
  109. ? ? ? ? ? ? printf("\n该职工的年度总工资为:");
  110. ? ? ? ? ? ? printf("%.2f", p->total);
  111. ? ? ? ? ? ? printf("\n\n");
  112. ? ? ? ? ? ? printf("\n");
  113. ? ? ? ? ? ? p = p->next;
  114. ? ? ? ? }
  115. ? ? ? ? else
  116. ? ? ? ? ? ? p = p->next;
  117. ? ? }
  118. }
  119.  
  120. void SearchMonthSalary(Worker *L, char n[], int m)
  121. {
  122. ? ? int i;
  123. ? ? Worker *p = L->next;
  124. ? ? while (p != NULL)
  125. ? ? {
  126. ? ? ? ? if (strcmp(p->name, n) == 0)
  127. ? ? ? ? {
  128. ? ? ? ? ? ? switch (m)
  129. ? ? ? ? ? ? {
  130. ? ? ? ? ? ? case 1:
  131. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[0], p->gz[0]);
  132. ? ? ? ? ? ? ? ? break;
  133. ? ? ? ? ? ? case 2:
  134. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[1], p->gz[1]);
  135. ? ? ? ? ? ? ? ? break;
  136. ? ? ? ? ? ? case 3:
  137. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[2], p->gz[2]);
  138. ? ? ? ? ? ? ? ? break;
  139. ? ? ? ? ? ? case 4:
  140. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[3], p->gz[3]);
  141. ? ? ? ? ? ? ? ? break;
  142. ? ? ? ? ? ? case 5:
  143. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[4], p->gz[4]);
  144. ? ? ? ? ? ? ? ? break;
  145. ? ? ? ? ? ? case 6:
  146. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[5], p->gz[5]);
  147. ? ? ? ? ? ? ? ? break;
  148. ? ? ? ? ? ? case 7:
  149. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[6], p->gz[6]);
  150. ? ? ? ? ? ? ? ? break;
  151. ? ? ? ? ? ? case 8:
  152. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[7], p->gz[7]);
  153. ? ? ? ? ? ? ? ? break;
  154. ? ? ? ? ? ? case 9:
  155. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[8], p->gz[8]);
  156. ? ? ? ? ? ? ? ? break;
  157. ? ? ? ? ? ? case 10:
  158. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[9], p->gz[9]);
  159. ? ? ? ? ? ? ? ? break;
  160. ? ? ? ? ? ? case 11:
  161. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[10], p->gz[10]);
  162. ? ? ? ? ? ? ? ? break;
  163. ? ? ? ? ? ? case 12:
  164. ? ? ? ? ? ? ? ? printf("该职工%d月的工资为%.2f", p->month[11], p->gz[11]);
  165. ? ? ? ? ? ? ? ? break;
  166. ? ? ? ? ? ? default:
  167. ? ? ? ? ? ? ? ? break;
  168. ? ? ? ? ? ? }
  169. ? ? ? ? ? ? p = p->next;
  170. ? ? ? ? }
  171. ? ? ? ? else
  172. ? ? ? ? ? ? p = p->next;
  173. ? ? }
  174. }
  175.  
  176. void Bubble_sort(Worker *L)//冒泡排序实现对链表节点的排序
  177. {
  178. ?? ?Worker *p,*q,*tail,*l;
  179. ? ? tail = NULL;
  180. ? ? while((L->next->next) != tail)
  181. ? ? {
  182. ? ? ? ? p = L;
  183. ? ? ? ? q = L->next;
  184. ? ? ? ? while(q->next != tail)
  185. ? ? ? ? {
  186. ? ? ? ? ? ? if((q->total) > (q->next->total))
  187. ? ? ? ? ? ? {
  188. ? ? ? ? ? ? ? ? p->next = q->next;
  189. ? ? ? ? ? ? ? ? q->next = q->next->next;
  190. ? ? ? ? ? ? ? ? p->next->next = q;
  191. ? ? ? ? ? ? ? ? q = p->next;
  192. ? ? ? ? ? ? }
  193. ? ? ? ? ? ? q = q->next;
  194. ? ? ? ? ? ? p = p->next;
  195. ? ? ? ? }
  196. ? ? ? ? tail = q;
  197. ? ? }
  198. ? ? printf("排序完成!年度总工资从小到大结果如下:\n");
  199. ? ? l=L->next;
  200. ? ? while(l!=NULL)
  201. ? ? {
  202. ? ? ? ? if(l->next!=NULL)
  203. ? ? ? ? ? ? {
  204. ? ? ? ? ? ? ? ? printf("%s->",l->name);
  205. ? ? ? ? ? ? ? ? l=l->next;
  206. ? ? ? ? ? ? }
  207. ? ? ? ? else
  208. ? ? ? ? {
  209. ? ? ? ? ? ? printf("%s",l->name);
  210. ? ? ? ? ? ? l=l->next;
  211. ? ? ? ? }
  212. ? ? }
  213. }
  214.  
  215. void StatiTotal(Worker *L,char n[]) ? ? ? ? //统计某个职工年度总工资
  216. {
  217. ? ? int i;
  218. ? ? Worker *p=L->next;
  219. ? ? while(p!=NULL)
  220. ? ? {
  221. ?? ??? ?p->total=0;
  222. ? ? ? ? if(strcmp(p->name,n)==0)
  223. ? ? ? ? {
  224. ? ? ? ? ? ? for(i=0;i<12;i++)
  225. ? ? ? ? ? ? ? ? p->total+=p->gz[i];
  226. ? ? ? ? ? ? printf("%s的年度总工资为%.2f",n,p->total);
  227. ?? ??? ??? ?break;
  228. ? ? ? ? }
  229. ? ? ? ? else
  230. ? ? ? ? ? ? p=p->next;
  231. ? ? }
  232.  
  233. }
  234.  
  235. void Modify(Worker *L, char n[], int m, float s)
  236. {
  237. ? ? int i,j;
  238. ? ? Worker *p = L->next;
  239. ? ? while (p != NULL)
  240. ? ? {
  241. ? ? ? ? if (strcmp(p->name, n) == 0)
  242. ? ? ? ? {
  243. ? ? ? ? ? ? switch (m)
  244. ? ? ? ? ? ? {
  245. ? ? ? ? ? ? case 1:
  246. ? ? ? ? ? ? ? ? p->gz[0] = s;
  247. ? ? ? ? ? ? ? ? break;
  248. ? ? ? ? ? ? case 2:
  249. ? ? ? ? ? ? ? ? p->gz[1] = s;
  250. ? ? ? ? ? ? ? ? break;
  251. ? ? ? ? ? ? case 3:
  252. ? ? ? ? ? ? ? ? p->gz[2] = s;
  253. ? ? ? ? ? ? ? ? break;
  254. ? ? ? ? ? ? case 4:
  255. ? ? ? ? ? ? ? ? p->gz[3] = s;
  256. ? ? ? ? ? ? ? ? break;
  257. ? ? ? ? ? ? case 5:
  258. ? ? ? ? ? ? ? ? p->gz[4] = s;
  259. ? ? ? ? ? ? ? ? break;
  260. ? ? ? ? ? ? case 6:
  261. ? ? ? ? ? ? ? ? p->gz[5] = s;
  262. ? ? ? ? ? ? ? ? break;
  263. ? ? ? ? ? ? case 7:
  264. ? ? ? ? ? ? ? ? p->gz[6] = s;
  265. ? ? ? ? ? ? ? ? break;
  266. ? ? ? ? ? ? case 8:
  267. ? ? ? ? ? ? ? ? p->gz[7] = s;
  268. ? ? ? ? ? ? ? ? break;
  269. ? ? ? ? ? ? case 9:
  270. ? ? ? ? ? ? ? ? p->gz[8] = s;
  271. ? ? ? ? ? ? ? ? break;
  272. ? ? ? ? ? ? case 10:
  273. ? ? ? ? ? ? ? ? p->gz[9] = s;
  274. ? ? ? ? ? ? ? ? break;
  275. ? ? ? ? ? ? case 11:
  276. ? ? ? ? ? ? ? ? p->gz[10] = s;
  277. ? ? ? ? ? ? ? ? break;
  278. ? ? ? ? ? ? case 12:
  279. ? ? ? ? ? ? ? ? p->gz[11] = s;
  280. ? ? ? ? ? ? ? ? break;
  281. ? ? ? ? ? ? default:
  282. ? ? ? ? ? ? ? ? break;
  283. ? ? ? ? ? ? }
  284. ? ? ? ? ? ? p->total=0;
  285. ? ? ? ? ? ? for(j=0;j<12;j++)
  286. ? ? ? ? ? ? ? ? p->total+=p->gz[j];
  287. ? ? ? ? ? ? p=p->next;
  288. ? ? ? ? }
  289. ? ? ? ? else
  290. ? ? ? ? ? ? p = p->next;
  291. ? ? }
  292. ? ? printf("修改成功!");
  293. }
  294. void Input(Worker *p, int i)
  295. {
  296. ? ? int j, k;
  297. ? ? p->total = 0;
  298. ? ? printf("请输入第%d名职工的职工工号:", i + 1);
  299. ? ? scanf("%s", &p->no);
  300. ? ? printf("请输入第%d名职工的姓名:", i + 1);
  301. ? ? scanf("%s", &p->name);
  302. ? ? for (k = 0, j = 1; j <= 12, k < 12; j++, k++)
  303. ? ? ? ? p->month[k] = j;
  304. ? ? printf("请输入第%d名职工的月工资(用空格隔开):", i + 1);
  305. ? ? for (j = 0; j < 12; j++)
  306. ? ? {
  307. ? ? ? ? scanf("%f", &p->gz[j]); //输入每个月的工资
  308. ? ? ? ? p->total += p->gz[j]; ? //计算总工资
  309. ? ? }
  310. }
  311.  
  312. void Print(Worker *L) ? ? ? //打印所有职工工资信息
  313. {
  314. ? ? int i;
  315. ? ? Worker *p = L->next;
  316. ? ? while (p != NULL)
  317. ? ? {
  318. ? ? ? ? printf("职工编号:");
  319. ? ? ? ? printf("%s\t\n", p->no);
  320. ? ? ? ? printf("姓名:");
  321. ? ? ? ? printf("%s\n", p->name);
  322. ? ? ? ? printf("该职工12个月的月工资如下:");
  323. ? ? ? ? for (i = 0; i < 12; i++)
  324. ? ? ? ? ? ? printf("%.2f ", p->gz[i]);
  325. ? ? ? ? printf("\n该职工的年度总工资为:");
  326. ? ? ? ? printf("%.2f", p->total);
  327. ? ? ? ? printf("\n\n");
  328. ? ? ? ? p = p->next;
  329. ? ? }
  330. }
  331.  
  332. void Save(Worker *L)
  333. {
  334. ? ? int i;
  335. ? ? Worker *p = L->next;
  336. ? ? FILE *fp = fopen("WorkerSalaryInfo.txt", "w");
  337. ? ? while (p != NULL)
  338. ? ? {
  339. ? ? ? ? fprintf(fp, "职工编号:");
  340. ? ? ? ? fprintf(fp, "%s\t\n", p->no);
  341. ? ? ? ? fprintf(fp, "姓名:");
  342. ? ? ? ? fprintf(fp, "%s\n", p->name);
  343. ? ? ? ? fprintf(fp, "该职工12个月的月工资如下:");
  344. ? ? ? ? for (i = 0; i < 12; i++)
  345. ? ? ? ? ? ? fprintf(fp, "%.2f ", p->gz[i]);
  346. ? ? ? ? fprintf(fp, "\n该职工的年度总工资为:");
  347. ? ? ? ? fprintf(fp, "%.2f", p->total);
  348. ? ? ? ? fprintf(fp, "\n\n");
  349. ? ? ? ? p = p->next;
  350. ? ? }
  351. ? ? fclose(fp);
  352. ? ? printf("保存成功,已保存至当前目录下的‘WorkerSalaryInfo.txt'文件中");
  353. }
  354.  
  355. void menu()
  356. {
  357. ?? ?printf("\t\t\t\t\t?? ??? ??? ??? ? ? ?? ??? ??? ??? ??? ??? ??? ?\n");
  358. ? ? printf("\t\t\t\t\t▔▔▔▔▔▔▔欢迎进入工资管理系统▔▔▔▔▔▔▔\n");
  359. ? ? printf("\t\t\t\t\t1.录入职工每个月的工资信息?? ??? ??? ??? ??? ?\n");
  360. ? ? printf("\t\t\t\t\t2.按姓名查找某个员工各月的工资?? ??? ??? ??? ?\n");
  361. ? ? printf("\t\t\t\t\t3.按姓名查找某个职工的某个月的工资?? ??? ??? ?\n");
  362. ? ? printf("\t\t\t\t\t4.修改某个职工某个月的工资?? ??? ??? ??? ??? ?\n");
  363. ? ? printf("\t\t\t\t\t5.删除某个职工的相关信息?? ??? ??? ??? ? ? ? ?? ?\n");
  364. ? ? printf("\t\t\t\t\t6.插入职工工资信息?? ??? ??? ??? ??? ??? ??? ?\n");
  365. ? ? printf("\t\t\t\t\t7.统计某个职工年度总工资?? ??? ??? ??? ??? ? ? ?\n");
  366. ? ? printf("\t\t\t\t\t8.对职工的年度总工资进行从小到大排名?? ??? ??? ?\n");
  367. ? ? printf("\t\t\t\t\t9.输出所有职工工资信息?? ??? ??? ??? ??? ??? ?\n");
  368. ? ? printf("\t\t\t\t\t10、将所有职工的工资信息保存至文件?? ??? ??? ?\n");
  369. ? ? printf("\t\t\t\t\t0.退出?? ??? ??? ??? ??? ??? ??? ??? ? ? ?\n");
  370. ? ? printf("\t\t\t\t\t▁▁▁▁▁▁▁▁▁▁谢谢使用▁▁▁▁▁▁▁▁▁\n");
  371. }
  372.  
  373. int main()
  374. {
  375. ? ? int item, n, m; //item用于接收输入的命令,n用于接收输入的职工人数
  376. ? ? float s;
  377. ? ? char nam[10];
  378. ? ? Worker *L = (Worker*)malloc(sizeof(Worker));
  379. ? ? L->next=NULL;
  380. ? ? do
  381. ? ? {
  382. ? ? ?? ?system("cls");?
  383. ? ? ? ? menu();
  384. ? ? ? ? printf("\n请输入相应的数字,进行相应的操作:\n");
  385. ? ? ? ? scanf("%d", &item);
  386. ? ? ? ? switch (item)
  387. ? ? ? ? {
  388. ? ? ? ? case 1:
  389. ? ? ? ? ? ? printf("请输入您要录入的职工人数:");
  390. ? ? ? ? ? ? scanf("%d", &n);
  391. ? ? ? ? ? ? L = CreateList(L, n);
  392. ? ? ? ? ? ? getchar();
  393. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  394. ?? ??? ??? ?getchar();
  395. ? ? ? ? ? ? break;
  396. ? ? ? ? case 2:
  397. ? ? ? ? ? ? printf("请输入您要查找的职工姓名:");
  398. ? ? ? ? ? ? scanf("%s", &nam);
  399. ? ? ? ? ? ? LIstSearch(L, nam);
  400. ? ? ? ? ? ? getchar();
  401. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  402. ?? ??? ??? ?getchar();
  403. ? ? ? ? ? ? break;
  404. ? ? ? ? case 3:
  405. ? ? ? ? ? ? printf("请输入您要查找的职工的姓名:");
  406. ? ? ? ? ? ? scanf("%s", &nam);
  407. ? ? ? ? ? ? printf("请输入您要查找该职工第几个月的工资(1到12):");
  408. ? ? ? ? ? ? scanf("%d", &m);
  409. ? ? ? ? ? ? SearchMonthSalary(L, nam, m);
  410. ? ? ? ? ? ? getchar();
  411. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  412. ?? ??? ??? ?getchar();
  413. ? ? ? ? ? ? break;
  414. ? ? ? ? case 4:
  415. ? ? ? ? ? ? printf("请输入您要修改的职工姓名:");
  416. ? ? ? ? ? ? scanf("%s", &nam);
  417. ? ? ? ? ? ? printf("\n请输入您要修改的月份:");
  418. ? ? ? ? ? ? scanf("%d", &m);
  419. ? ? ? ? ? ? printf("\n请输入您修改后的数据:");
  420. ? ? ? ? ? ? scanf("%f", &s);
  421. ? ? ? ? ? ? Modify(L, nam, m, s);
  422. ? ? ? ? ? ? getchar();
  423. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  424. ?? ??? ??? ?getchar();
  425. ? ? ? ? ? ? break;
  426. ? ? ? ? case 5:
  427. ? ? ? ? ? ? printf("请输入您要删除的职工姓名:");
  428. ? ? ? ? ? ? scanf("%s", &nam);
  429. ? ? ? ? ? ? DeleteList(L, nam);
  430. ? ? ? ? ? ? getchar();
  431. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  432. ?? ??? ??? ?getchar();
  433. ? ? ? ? ? ? break;
  434. ? ? ? ? case 6:
  435. ? ? ? ? ? ? InsertInfo(L);
  436. ? ? ? ? ? ? getchar();
  437. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  438. ?? ??? ??? ?getchar();
  439. ? ? ? ? ? ? break;
  440. ? ? ? ? case 7:
  441. ? ? ? ? ? ? printf("请输入您要查询的职工姓名:");
  442. ? ? ? ? ? ? scanf("%s",&nam);
  443. ? ? ? ? ? ? StatiTotal(L,nam);
  444. ? ? ? ? ? ? getchar();
  445. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  446. ?? ??? ??? ?getchar();
  447. ? ? ? ? ? ? break;
  448. ? ? ? ? case 8:
  449. ? ? ? ? ? ? Bubble_sort(L);
  450. ? ? ? ? ? ? getchar();
  451. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  452. ?? ??? ??? ?getchar();
  453. ? ? ? ? ? ? break;
  454. ? ? ? ? case 9:
  455. ? ? ? ? ? ? printf("全部职工的信息如下:\n\n");
  456. ? ? ? ? ? ? Print(L);
  457. ? ? ? ? ? ? getchar();
  458. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  459. ?? ??? ??? ?getchar();
  460. ? ? ? ? ? ? break;
  461. ? ? ? ? case 10:
  462. ? ? ? ? ? ? Save(L);
  463. ? ? ? ? ? ? getchar();
  464. ? ? ? ? ? ? printf("\n请按任意键返回主菜单\n");
  465. ?? ??? ??? ?getchar();
  466. ? ? ? ? ? ? break;
  467. ? ? ? ? case 0:
  468. ? ? ? ? ? ? printf("谢谢您使用工资管理系统,即将退出工资管理系统.....");
  469. ? ? ? ? ? ? exit(0);
  470. ? ? ? ? ? ? break;
  471. ? ? ? ? }
  472. ? ? ? ? printf("\n\n\n\n");
  473. ? ? } while (item);
  474. ? ? return 0;
  475. }

部分运行结果截图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号