#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10000

int count = 0;

typedef struct DF_Member
{
    char bankNumber[20];
    char userName[20];
    int account;
}Member;

void createBankAccount(Member members[])
{
    Member newMember;
    printf("[계좌 개설]\n");

    printf("Account id : ");
//    scanf("%s", newMember.bankNumber);
    strcpy(newMember.bankNumber, "1234");
    printf("%s\n", newMember.bankNumber);

    printf("User name : ");
//    scanf("%s", newMember.userName);
    strcpy(newMember.userName, "user");
    printf("%s\n", newMember.userName);

    printf("input : ");
//    scanf("%d", &newMember.account);
    newMember.account = 10;
    printf("%d\n", newMember.account);

    //copy member info
    strcpy(members[count].bankNumber, newMember.bankNumber);
    strcpy(members[count].userName, newMember.userName);
    members[count++].account = newMember.account;

    printf("%s\n", members[0].bankNumber);
    printf("%s\n", members[0].userName);
    printf("%d\n", members[0].account);
//    printf("success function\n");
}


void input(Member members[])
{
    char bankNumber[15];
    int inputMoney = 0;
    printf("Account id : ");
//    scanf("%s", bankNumber);
    strcpy(bankNumber, "4321");
    printf("input : ");
//    scanf("%d", &inputMoney);
    inputMoney = 20;

    for(int i=0; i<15; i++)
    {
        if(strcmp(bankNumber, members[i].bankNumber) == 0)
        {
            members[i].account += inputMoney;
printf("bankNumber, members[i].bankNumber : %d\n", members[i].account);
            break;
        }
    }
}


void output(Member members[])
{
    char bankNumber[15];
    int outputMoney = 0;
    printf("Account id : ");
//    scanf("%s", bankNumber);
    printf("output : ");
//    scanf("%d", &outputMoney);
    for(int i=0; i<15; i++)
    {
        if(strcmp(bankNumber, members[i].bankNumber) == 0)
        {
            members[i].account -= outputMoney;
            break;
        }
    }
}



void printAllMemberInfo(Member members[])
{
    for(int i=0; i<15; i++)
    {
        printf("Account id : %s\n", members[i].bankNumber);
        printf("User name : %s\n", members[i].userName);
        printf("Account : %d\n", members[i].account);
        printf("\n");
    }
}



int main(void)
{
    short choice = 1;
    Member * members = (Member *)malloc(sizeof(Member)*20);
    //Member members[20];
    while(choice != 5)
    {
        printf("----------MENU-----------\n");
        printf("1. create an acoount\n");
        printf("2. input money\n");
        printf("3. output money\n");
        printf("4. print all memebers info\n");
        printf("5. terminate service\n");
        printf("\nchoice : ");
//        scanf("%d", &choice);
choice = 1;
        switch(choice)
        {
        case 1: createBankAccount(members);    break;
        case 2: input(members);                break;
        case 3: output(members);               break;
        case 4: printAllMemberInfo(members);   break;
        case 5: free(members);  printf("service terminate\n");        break;
        default: break;
        }
choice = 2;
        switch(choice)
        {
        case 1: createBankAccount(members);    break;
        case 2: input(members);                break;
        case 3: output(members);               break;
        case 4: printAllMemberInfo(members);   break;
        case 5: free(members);  printf("service terminate\n");        break;
        default: break;
        }
choice = 3;
        switch(choice)
        {
        case 1: createBankAccount(members);    break;
        case 2: input(members);                break;
        case 3: output(members);               break;
        case 4: printAllMemberInfo(members);   break;
        case 5: free(members);  printf("service terminate\n");        break;
        default: break;
        }
choice = 4;
        switch(choice)
        {
        case 1: createBankAccount(members);    break;
        case 2: input(members);                break;
        case 3: output(members);               break;
        case 4: printAllMemberInfo(members);   break;
        case 5: free(members);  printf("service terminate\n");        break;
        default: break;
        }
choice = 5;
        switch(choice)
        {
        case 1: createBankAccount(members);    break;
        case 2: input(members);                break;
        case 3: output(members);               break;
        case 4: printAllMemberInfo(members);   break;
        case 5: free(members);  printf("service terminate\n");        break;
        default: break;
        }
    break;
    }
    return 0;
}

