[C언어 소스] 은행 계좌 프로그램

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);
}