Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #pragma warning(disable : 4996)
- void menu();
- int main()
- {
- FILE *list;
- char name[10], dep[10], rank[10], pnumb[15], sname[15], sdep[10];
- int salary, i=0, select, res, res2, a=0, max, j=0, b;
- char *mname[9], *mdep[9], *mrank[9], *mpnumb[9];
- int *msalary[9];
- list=fopen("list.txt", "r");
- if(list==NULL)
- {
- printf("NO DATA...\n");
- return 1;
- }
- while(!feof(list))
- {
- fscanf(list, "%s%s%s%s%d", name, dep, rank, pnumb, &salary);
- mname[i]=(char *)malloc(strlen(name)+1);
- mdep[i]=(char *)malloc(strlen(dep)+1);
- mrank[i]=(char *)malloc(strlen(rank)+1);
- mpnumb[i]=(char *)malloc(strlen(pnumb)+1);
- msalary[i]=(int *)malloc(sizeof(int));
- strcpy(mname[i], name);
- strcpy(mdep[i], dep);
- strcpy(mrank[i], rank);
- strcpy(mpnumb[i], pnumb);
- *msalary[i] = salary;
- i++;
- }
- while(1)
- {
- menu();
- printf("번호 입력 : ");
- scanf("%d", &select);
- switch(select)
- {
- case 1:
- printf("======================================================\n");
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "영업부");
- if(res==0) printf("%6s %6s %4s %13s %7d\n", mname[i], mdep[i], mrank[i], mpnumb[i], *msalary[i]);
- }
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "인사부");
- if(res==0) printf("%6s %6s %4s %13s %7d\n", mname[i], mdep[i], mrank[i], mpnumb[i], *msalary[i]);
- }
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "총무부");
- if(res==0) printf("%6s %6s %4s %13s %7d\n", mname[i], mdep[i], mrank[i], mpnumb[i], *msalary[i]);
- }
- printf("======================================================\n");
- break;
- case 2:
- printf("======================================================\n");
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mrank[i], "팀장");
- if(res==0) printf("%6s %6s %4s %13s %7d\n", mname[i], mdep[i], mrank[i], mpnumb[i], *msalary[i]);
- }
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mrank[i], "과장");
- if(res==0) printf("%6s %6s %4s %13s %7d\n", mname[i], mdep[i], mrank[i], mpnumb[i], *msalary[i]);
- }
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mrank[i], "대리");
- if(res==0) printf("%6s %6s %4s %13s %7d\n", mname[i], mdep[i], mrank[i], mpnumb[i], *msalary[i]);
- }
- printf("======================================================\n");
- break;
- case 3:
- printf("======================================================\n");
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "영업부");
- if(res==0)
- {
- max = *msalary[i];
- b = i;
- for(i=b; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "영업부");
- if(res==0 && *msalary[i] > max)
- {
- max = *msalary[i];
- b = i;
- }
- }
- printf("%6s %6s %4s %13s %7d\n", mname[b], mdep[b], mrank[b], mpnumb[b], *msalary[b]);
- }
- }
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "인사부");
- if(res==0)
- {
- max = *msalary[i];
- b = i;
- for(i=b; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "인사부");
- if(res==0 && *msalary[i] > max)
- {
- max = *msalary[i];
- b = i;
- }
- }
- printf("%6s %6s %4s %13s %7d\n", mname[b], mdep[b], mrank[b], mpnumb[b], *msalary[b]);
- }
- }
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "총무부");
- if(res==0)
- {
- max = *msalary[i];
- b = i;
- for(i=b; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mdep[i], "총무부");
- if(res==0 && *msalary[i] > max)
- {
- max = *msalary[i];
- b = i;
- }
- }
- printf("%6s %6s %4s %13s %7d\n", mname[b], mdep[b], mrank[b], mpnumb[b], *msalary[b]);
- }
- }
- printf("======================================================\n");
- break;
- case 4:
- printf("======================================================\n");
- printf("이름과 부서를 입력하세요 : ");
- scanf("%s%s", sname, sdep);
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- res=strcmp(mname[i], sname);
- res2=strcmp(mdep[i], sdep);
- if(res==0 && res2==0) printf("%6s %6s %4s %13s %7d\n", mname[i], mdep[i], mrank[i], mpnumb[i], *msalary[i]);
- }
- printf("======================================================\n");
- break;
- default:
- a = 1;
- for(i=0; i<sizeof(mname)/sizeof(mname[0]); i++)
- {
- free(mname[i]);
- free(mdep[i]);
- free(mrank[i]);
- free(mpnumb[i]);
- free(msalary[i]);
- }
- break;
- }
- if(a==1) break;
- }
- fclose(list);
- return 0;
- }
- void menu()
- {
- printf("<메 뉴>\n");
- printf("1. 각 부서별 직원들의 정보를 출력\n");
- printf("2. 직급 순으로 정렬하여 출력\n");
- printf("3. 각 부서의 최고 봉급자를 출력\n");
- printf("4. 이름과 부서로 직원을 검색\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement