Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- struct Emp
- {
- char name[21];
- int status; //1 = hired, 2 = compare, 3 = resign, 4 = retire
- }man[101];
- int samename(char name[])
- {
- for(int i = 0; man[i].name[0]; ++i)
- {
- if(man[i-1].name == man[i].name && man[i].status == 1)
- {
- return 0;
- }
- }
- return 1;
- }
- void add()
- {
- char name[21], gen[21], div[21];
- scanf("%s %s %s", &name, &gen, &div);
- if(samename(name))
- {
- for(int i = 0; i<100; ++i)
- {
- if(man[i].status != 3 && man[i].status != 1)
- {
- strcpy(man[i].name, name);
- man[i].status = 1;
- break;
- }
- }
- }
- }
- void swap()
- {
- int a, b;
- scanf("%d %d", &a, &b);
- --a;
- --b;
- if(man[a].status == 1 && man[b].status == 1)
- {
- char temp[21];
- strcpy(temp, man[a].name);
- strcpy(man[a].name, man[b].name);
- strcpy(man[b].name, temp);
- }
- }
- void resign()
- {
- int a;
- scanf("%d", &a);
- if(man[a-1].status == 1)
- {
- man[a-1].status = 2;
- }
- }
- void retire()
- {
- int a;
- scanf("%d", &a);
- if(man[a-1].status == 1)
- {
- man[a-1].status = 3;
- }
- }
- int main()
- {
- int seq;
- scanf("%d", &seq);
- for(int s=0; s<seq; s++)
- {
- int stat;
- scanf("%d", &stat);
- if(stat == 1) add();
- else if(stat == 2) swap();
- else if(stat == 3) resign();
- else if(stat == 4) retire();
- }
- for(int i = 0; man[i].name[0]; ++i)
- {
- if(man[i].status == 1)
- {
- printf("%s\n", man[i].name);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement