CS Study/Projects

Project 2 : 직원 등록 시스템

Ryannn 2022. 4. 6. 20:52

직원 등록 시스템

#첫 화면

1. 직원을 등록한다.

2. 등록된 직원의 ID와 이름이 저장된 파일을 화면에 출력한다.

3. 등록된 직원의 정보를 업데이트한다.

4. 프로그램 종료

#1번 클릭

1. 직원의 ID와 이름을 파일에 등록한다.

#2번 클릭

1. 등록된 직원의 ID와 이름을 등록된 순서대로 화면에 출력한다.

#3번 클릭

1. 등록된 직원 중에서 정보를 업데이트해야 할 직원의 ID를 입력받는다.

2. 입력받은 ID의 직원의 이름을 수정한다.

#4번 클릭

1. 프로그램을 종료한다.

 

built by C

#include <stdio.h>
#include <stdlib.h>
struct employee {
	int employee_id;
	char name[20];
};

void main_menu();
void menu1();
void menu2();
void menu3();
struct employee emp[20];
int i = 0;;
int main(void) {
	
	int menu;
	do {
		main_menu();
		scanf("%d", &menu);
		switch (menu) {
		case 1:
			menu1();
			break;
		case 2:
			menu2();
			break;
		case 3:
			menu3();
			break;
		}
	} while (menu != 4);
	return 0;
}
void main_menu() {
	system("cls");
	printf("======================\n");
	printf("MENU : \n");
	printf("======================\n");
	printf("1. Add a record\n");
	printf("2. Display the file\n");
	printf("3. Update the record\n");
	printf("4. Exit\n");
	printf("======================\n");
	printf("Enter your choice : ");
}
void menu1() {
	int back_check;
	do {
		FILE *fp = fopen("employee.txt", "w");
		printf("ENTER THE EMPLOYEE ID : ");
		scanf("%d", &emp[i].employee_id);
		fprintf(fp, "%d", emp[i].employee_id);
		printf("\nENTER THE EMPLOYEE NAME : ");
		scanf("%s", emp[i].name);
		fprintf(fp, "%s", emp[i].name);
		i++;
		fclose(fp);
		printf("Enter 1 to go back : ");
		scanf("%d", &back_check);
	} while (back_check != 1);
}
void menu2() {
	int back_check;
	do {
		system("cls");
		FILE *fp = fopen("employee.txt", "r");
		
		printf("======================\n");
		printf("ID          NAME\n");
		printf("======================\n");
		int j=0;
		while (emp[j].employee_id) {
			printf("%d %s\n", emp[j].employee_id, emp[j].name);
			j++;
		}
		fclose(fp);
		printf("\nEnter 1 to go back : ");
		scanf("%d", &back_check);
	} while (back_check != 1);

}
void menu3() {
	int j = 0;
	int back_check;
	do {
		FILE *fp = fopen("employee.txt", "r");
		printf("ENTER THE EMPLOYEE ID FOR UPDATE : \n");
		scanf("%d", &emp[j].employee_id);
		fprintf(fp, "%d", emp[j].employee_id);
		printf("ENTER THE EMPLOYEE NAME TO BE UPDATED : \n");
		scanf("%s", emp[j].name);
		fprintf(fp, "%s", emp[j].name);
		printf("Enter 1 to go back : ");
		scanf("%d", &back_check);
	} while (back_check != 1);
}