Bank 구조체를 정의하여 3명의 계좌를 관리하는 프로그램을 작성하시오.
실행 화면은 다음과 같습니다.
/* https://ehpub.co.kr 언제나 C언어 예제 Center 은행 계좌 프로그램 */ #include #define MAX_NAME_LEN 20 #define MAX_ACC_LEN 10 typedef struct _BankAcc BankAcc; struct _BankAcc { char name[MAX_NAME_LEN]; char account[MAX_ACC_LEN]; int balance; }; BankAcc baccs[3]; void input_accs(); void run(); int main() { input_accs(); run(); return 0; } void input_accs() { int i = 0; for (i = 0; i < 3; i++) { printf("사용자%d의 이름:",i + 1); scanf_s("%s", baccs[i].name, MAX_NAME_LEN); printf("사용자%d의 계좌:", i + 1); scanf_s("%s", baccs[i].account, MAX_ACC_LEN); printf("사용자%d의 잔액:", i + 1); scanf_s("%d", &baccs[i].balance); } } int select_menu(); void show_balance(); void save(); void draw(); void run() { int key = 0; while ((key = select_menu()) != 4) { switch (key) { case 1: show_balance(); break; case 2: save(); break; case 3: draw(); break; default: printf("잘못된 숫자를 입력하였습니다.\n"); break; } } } int select_menu() { int key = 0; printf("메뉴를 선택하세요. <잔액조회(1), 저축(2), 인출(3), 종료(4)>:"); scanf_s("%d", &key); return key; } void show_balance() { int num = 0; printf("사용자 번호를 선택하세요.(1~3):"); scanf_s("%d", &num); if ((num < 1) || (num > 3)) { printf("잘못 선택하였습니다.\n"); return; } printf("%s님의 계좌번호: %s입니다.\n", baccs[num - 1].name, baccs[num - 1].account); printf("%s님의 잔액:%d 입니다.\n", baccs[num - 1].name, baccs[num - 1].balance); } void save() { int num = 0; int value = 0; printf("사용자 번호를 선택하세요.(1~3):"); scanf_s("%d", &num); if ((num < 1) || (num > 3)) { printf("잘못 선택하였습니다.\n"); return; } printf("%s님의 저축 금액 입력:", baccs[num - 1].name); scanf_s("%d", &value); baccs[num - 1].balance += value; } void draw() { int num = 0; int value = 0; printf("사용자 번호를 선택하세요.(1~3):"); scanf_s("%d", &num); if ((num < 1) || (num > 3)) { printf("잘못 선택하였습니다.\n"); return; } printf("%s님의 인출 금액 입력:", baccs[num - 1].name); scanf_s("%d", &value); if (value > baccs[num - 1].balance) { printf("잔액이 부족합니다.\n"); } else { baccs[num - 1].balance -= value; } printf("%s님의 잔액:%d 입니다.\n", baccs[num - 1].name, baccs[num - 1].balance); }