Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // PROBLEM B
- #include<stdio.h>
- #include<string.h>
- struct employeeData{
- char name[21];
- // int resign;
- int retire;
- int fill;
- }employee[101];
- int emp = 0;
- void addEmployee(char newName[]){
- int add=1;
- if(emp!=0){
- for(int x=0; x<emp; x++){
- int compare = strcmp(newName, employee[x].name);
- if(employee[x].fill==1 && employee[x].retire==0 && compare==0){
- // printf("Same name!\n");
- add = 0;
- break;
- }
- }
- if(add==1){
- for(int x=0; x<emp; x++){
- if(employee[x].fill==0 && employee[x].retire==0){
- strcpy(employee[x].name, newName);
- // employee[x].resign = 0;
- employee[x].fill = 1;
- add = 0;
- emp++;
- break;
- }
- }
- }
- }
- if(add==1){
- strcpy(employee[emp].name, newName);
- employee[emp].fill = 1;
- emp++;
- }
- }
- void swapEmployee(int a, int b){
- if(employee[a].retire==0 && employee[b].retire==0 && employee[a].fill==1 && employee[b].fill==1){
- char temp[21];
- strcpy(temp, employee[a].name);
- strcpy(employee[a].name, employee[b].name);
- strcpy(employee[b].name, temp);
- }
- }
- void resignEmployee(int a){
- if(employee[a].retire==0){
- employee[a].fill = 0;
- }
- }
- void retireEmployee(int a){
- if(employee[a].fill==1){
- employee[a].retire = 1;
- employee[a].fill = 0;
- }
- }
- void printEmployee(){
- for(int x=0; x<emp; x++){
- if(employee[x].fill==1){
- printf("%s\n", employee[x].name);
- }
- }
- }
- int main(){
- int N;
- scanf("%d", &N);
- for(int n=0; n<N; n++){
- int process;
- scanf("%d", &process); getchar();
- if(process==1){ //add
- char newName[21];
- scanf("%[^\n]", &newName); getchar();
- scanf("%*s"); getchar();
- scanf("%*s"); getchar();
- // printf("%s\n", newname);
- addEmployee(newName);
- }
- else if(process==2){
- int emp1, emp2;
- scanf("%d %d", &emp1, &emp2); getchar();
- // printf("%d %d", emp1, emp2);
- swapEmployee(emp1-1, emp2-1);
- }
- else if(process==3){
- int empresign;
- scanf("%d", &empresign); getchar();
- resignEmployee(empresign-1);
- }
- else if(process==4){
- int empretire;
- scanf("%d", &empretire); getchar();
- retireEmployee(empretire-1);
- }
- }
- printEmployee();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement