현재 위치 - 회사기업대전 - 기업 정보 조회 - 직원 정보 관리 시스템은 C 언어 (C++ 아님) 로 작성되었습니다.

직원 정보 관리 시스템은 C 언어 (C++ 아님) 로 작성되었습니다.

다음은 내 프로그램이다. 방금 컴파일했으니 사용할 수 있을 것이다.

# include & ltstdio.h & gt

# include & ltwindows.h & gt

# include & lttime.h & gt

# include & ltstring.h & gt

# 정의 번호 100

구조 직원

{

Int num

문자 이름 [10];

매력적인 섹스

Int age

샤일 이설 [30];

Int 임금

Char addr [30];

Long int tel

} em [100]; /* 구조 정의 */

Voidmenu ();

Void 입력 ();

Void save (int) :

Void 디스플레이 ();

Voiddel ();

Voidadd ();

Voidsearch ();

Voidsearch _ num ();

Void search _ 이설 ();

Voidsearch _ tel ();

Voidmodify (); /* 각 함수 정의 */

Void menu() /* 메뉴 기능 */

{

Printf ("☆☆☆ ☆ 컴퓨터 과학 기술부 ☆ \ n ");

Printf ("\ n");

Printf ("∮ 08802 급 관려하 ∮ \ n");

Printf ("\ n");

Printf ("* * * * * * * * * * * * * * 직원 정보 관리 * * * * * * * * * * * * * * * * \ n ");

Printf(" 1. 직원 정보 입력);

Printf(" 2. 직원 정보 찾아보기 \ n ");

Printf(" 3. 직원 정보 조회);

Printf(" 4. 직원 정보 삭제 \ n ");

Printf(" 5. 직원 정보 추가);

Printf(" 6. 직원 정보 수정 \ n ");

Printf(" 7. 종료 \ n ");

Printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * n ");

Printf ("\ n");

Printf ("\ n");

}

Void main ()

{

메뉴 (); /* 메뉴 기능 호출 */

Int n, flag

Char a;;

하다

{

Printf ("작업이 필요한 단계를 선택하십시오 (1-7): \ n");

Scanf("%d ",& ampn);

(n>= 1) 인 경우. & ampn & lt=7)

{

Flag =1;

깨뜨리다

}

기타

{

Flag = 0;;

Printf ("잘못 입력했습니다. 다시 선택하십시오!" " );

}

}

While (flag = = 0);

While(flag== 1)

{

스위치 (n)

{

Case1:printf ("◆◆◆◆◆ 직원 정보 입력 ◆ \ n"); Printf ("\ n"); Input (); 깨뜨리다

사례 2: printf ("◆◆◆◆ 직원 정보 찾아보기 ◆◆ \ n "); Printf ("\ n"); 표시 (); 깨뜨리다

사례 3: printf ("◆◆◆◆ ◆ 직원 번호별 직원 정보 조회 ◆◆ \ n "); Printf ("\ n"); 검색 (); 깨뜨리다

사례 4: printf ("◆◆◆◆ 직원 정보 삭제 ◆◆ \ n "); Printf ("\ n"); Del (); 깨뜨리다

사례 5: printf ("◆◆◆◆ 직원 정보 추가 ◆◆ \ n "); Printf ("\ n"); Add (); 깨뜨리다

사례 6: printf ("◆◆◆◆◆ 직원 정보 수정 ◆◆ \ n"); Printf ("\ n"); Modify (); 깨뜨리다

사례 7: 수출 (0); 깨뜨리다

기본값: break

}

Getchar ();

Printf ("\ n");

Printf ("계속하시겠습니까 (y 또는 n): \ n");

Scanf("%c ",& AMPA);

If(a=='y')

{

Flag =1;

시스템 ("cls"); /* 화면 비우기 */

메뉴 (); /* 메뉴 기능 호출 */

Printf ("작업이 필요한 단계를 다시 선택하십시오 (1-6): \ n");

Scanf("%d ",& ampn);

Printf ("\ n");

}

기타

종료 (0);

}

}

Void input() /* 입력 함수 */

{

Int I, m;

Printf ("정보를 만들어야 하는 직원 수 입력 (1-100): \ n");

Scanf("%d ",& ampm);

For(I = 0;; 나 & ltm;; I++)

{

Printf ("직원 번호:");

Srand ((int) 시간 (0));

Em[i]. Num = rand ()%10000+20000000;

If(em[i]. Num! =em[i- 1]. 숫자)

Printf("%8d ",em[i]. Num);

Printf ("\ n");

Printf ("이름을 입력하십시오:");

Scanf("%s ",em[i]. 이름);

Getchar ();

Printf ("성별 입력 (F- 여성 m- 남성):");

Scanf("%c ",& ampem[i]. 성);

Printf ("나이를 입력하십시오:");

Scanf("%d ",& ampem[i]. 나이);

Printf ("학력 입력:");

Scanf("%s ",em[i]. 이설);

Printf ("급여 입력:");

Scanf("%d ",& ampem[i]. 임금);

Printf ("주소 입력:");

Scanf("%s ",em[i]. Addr);

Printf ("전화번호 입력:");

Scanf("%d ",& ampem[i]. 전화);

Printf ("\ n");

}

Printf(" \ n 생성됨! \ n ");

저장 (m);

}

Void save(int m) /* 파일 저장 함수 */

{

Int I;;

FILE * FP

If ((FP = fopen ("employee _ list ","WB ")= = null)/* 파일을 만들어 */

{

Printf ("파일을 열 수 없음 \ n");

종료 (0);

}

For(I = 0;; 나 & ltm;; I++) /* 메모리의 직원 정보를 디스크 파일로 출력 */

If (fwrite (& Em[i], sizeof, 1, FP! = 1)

Printf ("파일 쓰기 오류 \ n");

Fclose (FP);

}

Int load() /* 가져오기 함수 */

{

FILE * FP

Int I = 0;;

If((fp=fopen("employee_list ","Rb ")= = NULL)

{

Printf ("파일을 열 수 없음 \ n");

종료 (0);

}

기타

{

하다

{

프레드 (& ampem[i], sizeof(struct employee), 1, FP);

I++;+;

}

While (feof (FP) = = 0);

}

Fclose (FP);

반환 (I-1);

}

Void display() /* 찾아보기 함수 */

{

Int I;;

Intm = 로드 ();

Printf(" \ n 직원 번호 \ tName \ tSex \ tAge \ 교육 \ tSalary \ 주소 \ t 전화 \ n ");

For(I = 0;; 나 & ltm;; I++) /*m 은 입력 부분의 직원 수 */

Printf ("\ n% d \ t% s \ t% c \ t% d \ t% s \ t% d \ t% s \ t% LD \ n Num, em[i] 입니다. 이름, em[i]. 성, em[i]. 나이, em[i]. 이설, em[i]. 임금, em[i]. 주소, em[i]. 전화);

}

Void del() /* 함수 삭제 */

{

Intm = 로드 ();

Int I, j, n, t, flag

차 이름 [20];

Printf(" \ n 원래 직원 정보: \ n ");

표시 (); /* 찾아보기 함수 호출 */

Printf ("\ n");

Printf ("삭제할 직원 이름 입력: \ n");

Scanf("%s ",이름);

For(flag= 1, I = 0;; 깃발 & amp& amp 나 & ltm;; I++)

{

If(strcmp(em[i].name, name)==0)

{

Printf(" \ n 이 사람이 찾았습니다. 원본 레코드는 다음과 같습니다. \ n ");

Printf(" \ n 직원 번호 \ tName \ tSex \ tAge \ 교육 \ tSalary \ 주소 \ t 전화 \ n ");

Printf ("\ n% d \ t% s \ t% c \ t% d \ t% s \ t% d \ t% s \ t% LD \ n Num, em[i] 입니다. 이름, em[i]. 성, em[i]. 나이, em[i]. 이설, em[i]. 임금, em[i]. 주소, em[i]. 전화);

Printf(" \ n 이 개인 정보를 1 또는 0\n "을 눌러 삭제하지 않음);

Scanf("%d ",& ampn);

If(n== 1) /* 삭제하면 다른 모든 정보가 한 줄 위로 이동합니다 */

{

For(j = I;; J<m-1; J++)

{

Strcpy(em[j]. 이름, em[j+ 1]. 이름);

Em[j]. Num=em[j+ 1]. Num

Em[j]. Sex=em[j+ 1]. 섹스;

Em[j]. 나이 =em[j+ 1]. 나이;

Strcpy(em[j]. 이설, 동부 지중해. 이설);

Em[j]. 임금 =em[j+ 1]. 임금;

Strcpy(em[j]. 주소, em[j+ 1]. Addr);

Em[j]. 인텔 = em [j+1]. 전화;

}

Flag = 0;;

}

}

}

만약 (! 깃발)

M = m-1;

기타

Printf(" \ n 죄송합니다. 이 사람이 없습니다! \ n ");

Printf(" \ n 삭제된 모든 직원 정보 찾아보기: \ n ");

저장 (m); /* 저장 함수 호출 */

표시 (); /* 찾아보기 함수 호출 */

Printf(" \ n 1 삭제 계속, 0 을 눌러 삭제 중지 \ n ");

Scanf("%d ",& ampt);

스위치 (t)

{

사례1:del (); 깨뜨리다

사례 0: 깨진;

기본값: break

}

}

Voideadd ()/* 함수 추가 */

{

FILE * FP

Int n;;

Intcount = 0;

Int I;;

Intm = 로드 ();

Printf(" \ n 원래 직원 정보: \ n ");

표시 (); /* 찾아보기 함수 호출 */

Printf ("\ n");

Fp=fopen("emploee_list ","a ");

Printf ("추가할 직원 수 입력: \ n");

Scanf("%d ",& ampn);

For(I = m;; 나< (m+n); I++)

{

Printf(" \ n 새로 추가된 직원에 대한 정보를 입력하십시오. \ n ");

Printf ("직원 번호 입력:");

Srand ((int) 시간 (0));

Em[i]. Num = rand ()%10000+20000000;

If(em[i]. Num! =em[i- 1]. 숫자)

Printf("%8d ",em[i]. Num);

Printf ("\ n");

Printf ("이름을 입력하십시오:");

Scanf("%s ",em[i]. 이름);

Getchar ();

Printf ("성별 입력 (F- 여성 m- 남성):");

Scanf("%c ",& ampem[i]. 성);

Printf ("나이를 입력하십시오:");

Scanf("%d ",& ampem[i]. 나이);

Printf ("학력 입력:");

Scanf("%s ",em[i]. 이설);

Printf ("급여 입력:");

Scanf("%d ",& ampem[i]. 임금);

Printf ("주소 입력:");

Scanf("%s ",em[i]. Addr);

Printf ("전화번호 입력:");

Scanf("%d ",& ampem[i]. 전화);

Printf ("\ n");

Count = count+1;

Printf ("인원 증가: \ n");

Printf("%d\n ",count);

}

Printf(" \ n 추가됨! \ n ");

M = m+ 개수;

Printf(" \ n 추가된 모든 직원 정보 찾아보기: \ n ");

Printf ("\ n");

저장 (m);

표시 ();

Fclose (FP);

}

Void search()/* 쿼리 함수 */

{

Int t, flag

하다

{

Printf(" \ n 직원 번호로 문의하려면1; 학력에 따라 문의하려면 2 를 누르십시오. 전화 번호 조회는 3, 주요 기능은 4 \ n ");

Scanf("%d ",& ampt);

If(t & gt;; = 1 입니다. & ampt & lt=4)

{

Flag =1;

깨뜨리다

}

기타

{

Flag = 0;;

Printf ("잘못 입력했습니다. 다시 선택하십시오!" " );

}

}

While (flag = = 0);

While(flag== 1)

{

스위치 (t)

{

Case 1:printf ("직원 번호별 쿼리 \ n"); Search_num () 을 참조하십시오. 깨뜨리다

사례 2: printf ("학력별 조회 \ n"); Search _ 이설 (); 깨뜨리다

사례 3: printf ("전화 번호로 조회 \ n"); Search _ tel (); 깨뜨리다

사례 4: 메인 (); 깨뜨리다

기본값: break

}

}

}

Void 검색 수 ()

{

Int num

Int I, t;

Intm = 로드 ();

Printf ("찾으시는 직원 번호 입력 (20001111-2000999): \

Scanf("%d ",& ampnum);

For(I = 0;; 나 & ltm;; I++)

If(num==em[i]. 숫자)

{

Printf(" \ n 이 사람을 찾았습니다. 기록은 다음과 같습니다. \ n ");

Printf(" \ n 직원 번호 \ tName \ tSex \ tAge \ 교육 \ tSalary \ 주소 \ t 전화 \ n ");

Printf ("\ n% d \ t% s \ t% c \ t% d \ t% s \ t% d \ t% s \ t% LD \ n Num, em[i] 입니다. 이름, em[i]. 성, em[i]. 나이, em[i]. 이설, em[i]. 임금, em[i]. 주소, em[i]. 전화);

깨뜨리다

}

다음 경우 (i==m)

Printf(" \ n 죄송합니다. 이 사람을 찾지 못했습니다. \ n ");

Printf ("\ n");

Printf ("1 으로 쿼리 기능 반환, 2\n" 으로 직원 번호 쿼리 계속);

Scanf("%d ",& ampt);

스위치 (t)

{

사례1:search (); 깨뜨리다

사례 2: 깨진;

기본값: break

}

}

유효하지 않은 검색 _ 이설 ()

{

샤일 이설 [30];

Int I, t;

Intm = 로드 ();

Printf ("찾으시는 학력을 입력해 주세요: \ n");

Scanf("%s ",이설);

For(I = 0;; 나 & ltm;; I++)

If(strcmp(em[i]. 이설, 이설) ==0)

{

Printf(" \ n 레코드 발견: \ n ");

Printf(" \ n 직원 번호 \ tName \ tSex \ tAge \ 교육 \ tSalary \ 주소 \ t 전화 \ n ");

Printf ("\ n% d \ t% s \ t% c \ t% d \ t% s \ t% d \ t% s \ t% LD \ n Num, em[i] 입니다. 이름, em[i]. 성, em[i]. 나이, em[i]. 이설, em[i]. 임금, em[i]. 주소, em[i]. 전화);

}

다음 경우 (i==m)

Printf(" \ n 죄송합니다. 이 사람을 찾지 못했습니다. \ n ");

Printf ("\ n");

Printf ("1 으로 쿼리 기능 반환, 2\n" 으로 학력 조회 계속);

Scanf("%d ",& ampt);

스위치 (t)

{

사례1:search (); 깨뜨리다

사례 2: 깨진;

기본값: break

}

}

Void search_tel ()

{

Long int tel

Int I, t;

Intm = 로드 ();

Printf ("찾으려는 전화 번호 입력: \ n");

Scanf("%ld ",& 전화);

For(I = 0;; 나 & ltm;; I++)

If(tel==em[i]. 전화)

{

Printf(" \ n 이 사람을 찾았습니다. 기록은 다음과 같습니다. \ n ");

Printf(" \ n 직원 번호 \ tName \ tSex \ tAge \ 교육 \ tSalary \ 주소 \ t 전화 \ n ");

Printf ("\ n% d \ t% s \ t% c \ t% d \ t% s \ t% d \ t% s \ t% LD \ n Num, em[i] 입니다. 이름, em[i]. 성, em[i]. 나이, em[i]. 이설, em[i]. 임금, em[i]. 주소, em[i]. 전화);

깨뜨리다

}

다음 경우 (i==m)

Printf(" \ n 죄송합니다. 이 사람을 찾지 못했습니다. \ n ");

Printf ("\ n");

Printf ("1 으로 조회 기능 반환, 2\n" 을 눌러 전화 번호 조회를 계속합니다.)

Scanf("%d ",& ampt);

스위치 (t)

{

사례1:search (); 깨뜨리다

사례 2: 깨진;

기본값: break

}

}

Void modify() /* 수정 함수 */

{

Int num

문자 이름 [10];

매력적인 섹스

Int age

샤일 이설 [30];

Int 임금

Char addr [30];

Long int tel

Int b, c, I, n, t, flag

Intm = 로드 (); /* 가져온 파일의 정보 */

Printf(" \ n 원래 직원 정보: \ n ");

표시 (); /* 찾아보기 함수 호출 */

Printf ("\ n");

Printf ("수정할 직원 이름 입력: \ n");

Scanf("%s ",이름);

For(flag= 1, I = 0;; 깃발 & amp& amp 나 & ltm;; I++)

{

If(strcmp(em[i].name, name)==0)

{

Printf(" \ n 이 사람이 찾았습니다. 원본 레코드는 다음과 같습니다. \ n ");

Printf(" \ n 직원 번호 \ tName \ tSex \ tAge \ 교육 \ tSalary \ 주소 \ t 전화 \ n ");

Printf ("\ n% d \ t% s \ t% c \ t% d \ t% s \ t% d \ t% s \ t% LD \ n Num, em[i] 입니다. 이름, em[i]. 성, em[i]. 나이, em[i]. 이설, em[i]. 임금, em[i]. 주소, em[i]. 전화);

Printf(" \ n 1 을 눌러 이 사람의 정보를 수정하십시오. 0\n ") 을 눌러 수정하지 않습니다.

Scanf("%d ",& ampn);

(n== 1) 인 경우

{

Printf(" \ n 수정할 옵션 \n 1. 직원 2 호. 이름 3. 성별 4. 다섯 살. 교육. 임금 7. 주소 8. 전화 \ n ");

Printf ("수정할 일련 번호 입력: \ n");

Scanf("%d ",& ampc);

If(c & gt;; 8 | | c< 1)

Printf(" \ n 선택 오류입니다. 다시 선택하십시오! \ n ");

}

Flag = 0;;

}

}

If(flag== 1)

Printf(" \ n 죄송합니다. 이 사람이 없습니다! \ n ");

하다

{

Switch(c) /* 첫 번째 직원을 찾았을 때 for 문 뒤에 1 을 추가했기 때문에 I- 1 인력 */

{

사례 1:printf ("직원 번호 변경");

Scanf("%d ",& ampnum);

Em[i- 1]. Num = num

깨뜨리다

사례 2: printf ("이름을" 로 변경);

Scanf("%s ",이름);

Strcpy(em[i- 1]). 이름, 이름);

깨뜨리다

사례 3: printf ("성별을");

Getchar ();

Scanf("%c ",& 성);

Em[i- 1]. 성 = 성

깨뜨리다

사례 4: printf ("연령은");

Scanf("%d ",& 나이);

Em[i- 1]. 나이 = 나이;

깨뜨리다

사례 5: printf ("학력 변경");

Scanf("%s ",이설);

Strcpy(em[i- 1]). 이설, 이설);

깨뜨리다

사례 6:printf ("급여 변경");

Scanf("%d ",임금);

깨뜨리다

사례 7:printf ("주소는");

Scanf("%s ",addr);

Strcpy(em[i- 1]). Addr, addr);

깨뜨리다

사례 8:printf ("전화 변경");

Scanf("%ld ",& 전화);

Em[i- 1]. 전화 = 전화

깨뜨리다

}

Printf ("\ n");

Printf(" \ n 정보를 수정하시겠습니까? \ 예,1; 아니요, 2 를 눌러 다시 수정하십시오. \ n”);;

Scanf("%d ",& ampb);

}

While (b = = 2);

Printf(" \ n 수정된 모든 직원 정보 찾아보기: \ n ");

Printf ("\ n");

저장 (m);

표시 ();

Printf(" \ n 1 계속 수정, 0\n "을 눌러 수정 중지);

Scanf("%d ",& ampt);

스위치 (t)

{

사례1:modify (); 깨뜨리다

사례 0: 깨진;

기본값: break

}

}

copyright 2024회사기업대전