Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. struct Emp
  5. {
  6.  
  7. char name[21];
  8. int status; //1 = hired, 2 = compare, 3 = resign, 4 = retire
  9.  
  10. }man[101];
  11.  
  12. int samename(char name[])
  13. {
  14. for(int i = 0; man[i].name[0]; ++i)
  15. {
  16. if(man[i-1].name == man[i].name && man[i].status == 1)
  17. {
  18. return 0;
  19. }
  20. }
  21. return 1;
  22. }
  23.  
  24. void add()
  25. {
  26. char name[21], gen[21], div[21];
  27.  
  28. scanf("%s %s %s", &name, &gen, &div);
  29. if(samename(name))
  30. {
  31. for(int i = 0; i<100; ++i)
  32. {
  33. if(man[i].status != 3 && man[i].status != 1)
  34. {
  35. strcpy(man[i].name, name);
  36.  
  37. man[i].status = 1;
  38. break;
  39. }
  40. }
  41. }
  42. }
  43.  
  44. void swap()
  45. {
  46. int a, b;
  47. scanf("%d %d", &a, &b);
  48. --a;
  49. --b;
  50.  
  51. if(man[a].status == 1 && man[b].status == 1)
  52. {
  53. char temp[21];
  54. strcpy(temp, man[a].name);
  55. strcpy(man[a].name, man[b].name);
  56. strcpy(man[b].name, temp);
  57. }
  58. }
  59.  
  60. void resign()
  61. {
  62. int a;
  63. scanf("%d", &a);
  64. if(man[a-1].status == 1)
  65. {
  66. man[a-1].status = 2;
  67. }
  68. }
  69.  
  70. void retire()
  71. {
  72. int a;
  73. scanf("%d", &a);
  74. if(man[a-1].status == 1)
  75. {
  76. man[a-1].status = 3;
  77. }
  78. }
  79.  
  80.  
  81. int main()
  82. {
  83. int seq;
  84. scanf("%d", &seq);
  85. for(int s=0; s<seq; s++)
  86. {
  87. int stat;
  88. scanf("%d", &stat);
  89. if(stat == 1) add();
  90. else if(stat == 2) swap();
  91. else if(stat == 3) resign();
  92. else if(stat == 4) retire();
  93. }
  94.  
  95. for(int i = 0; man[i].name[0]; ++i)
  96. {
  97. if(man[i].status == 1)
  98. {
  99. printf("%s\n", man[i].name);
  100. }
  101. }
  102.  
  103. return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement