IT/C++

열혈 !!! C++ 프로그래밍 학습 1일차... C랑 많이 다르네요 확실히

Ruminz 2020. 6. 26. 21:32

책은 열혈 C++ 프로그래밍을 보면서 천천히 차근차근 학습하고 있습니다. 

챕터 1은 새로운 표준 입출력 std::cout , std::cin 이랑 함수 오버 로딩, 인라인 함수, 네임 스페이스

에 관한 내용이 나와 있었습니다. 하나식 이해하기 쉽게 예제를 들어주면서 책에서 설명해주니까 

어렵지않게 잘 따라올 수가 있었네요 ㅎㅎ 

이 책은 뭐 지금 코딩시작하시는분이나 코딩 시작한 지 얼마 안 되신 분 아니면 그냥 코딩한 지 쫌 된 프로그래머들이 봐도 

굉장히 좋은 책인거 같습니다. 개념을 자세하고 이해하기 쉽게 알려줍니다. ㅎㅎ 

 

C++ OOP 1단계 프로젝트 코드를 한번 짜 봤습니다. 

 

 
#include <iostream>
using namespace std;

typedef struct _accountID
{
    unsigned int Account_ID[100];
    char Customer_Name[100][100];
    unsigned Customer_Money[100];
} Account_ID;

Account_ID Account;
void Menu();
void Deposit();
void WithDraw();
void Account_Create();
void Customer_Lookup();
void End();

void Menu()
{
    cout << "-----Menu-----" << endl;
    cout << "1.계좌개설" << endl;
    cout << cout << "2. 입 금" << endl;
    cout << cout << "3. 출 금" << endl;
    cout << "4.계좌정보 전체 출력" << endl;
    cout << cout << "5. 프로그램 종료" << endl;
    cout << "선택 :";
}

void Account_Create()
{
    int AccountID;
    cout << "[계좌개설]" << endl;
    cout << "계좌ID :";
    cin >> AccountID;
    cout << "이 름:";
    ;
    for (int i = 0; i < 100; i++)
    {
        if (Account.Account_ID[i] == 0)
        {
            Account.Account_ID[i] = AccountID;
            cin >> Account.Customer_Name[i];
            break;
        }
    }
}

void Deposit() //입금
{
    int accountid;
    int depositmoney;
    cout << "[입   금]" << endl;
    cout << "계좌ID :";
    cin >> accountid;
    cout << "입금액 :";
    cin >> depositmoney;
    for (int i = 0; i < 100; i++)
    {
        if (Account.Account_ID[i] == accountid)
        {
            Account.Customer_Money[i] += depositmoney;
            cout << "입금 완료" << endl;
            break;
        }
    }
}

void WithDraw() //출금
{
    int accountid;
    int withdrawmoney;
    cout << "[출  금]" << endl;
    cout << "계좌ID :";
    cin >> accountid;
    cout << "출금액 :";
    cin >> withdrawmoney;
    for (int i = 0; i < 100; i++)
    {
        if (Account.Account_ID[i] == accountid)
        {
            Account.Customer_Money[i] -= withdrawmoney;
            cout << "출금 완료" << endl;
            break;
        }
    }
}

void Customer_Lookup() //전체고객조회
{
    for (int i = 0; i < 100; i++)
    {
        if (Account.Account_ID[i] != 0)
        {
            cout << Account.Account_ID[i] << endl;
            cout << Account.Customer_Money[i] << endl;
            cout << Account.Customer_Name[i] << endl;
        }
        if (Account.Account_ID[i] == 0)
            break;
    }
}

int main()
{
    int choice;
    while (1)
    {
        Menu();
        cin >> choice;
        if (choice == 1)
            Account_Create();
        if (choice == 2)
            Deposit();
        if (choice == 3)
            WithDraw();
        if (choice == 4)
            Customer_Lookup();
        if (choice == 5)
            break;
    }
    return 0;
}

 

저책에도 OOP1단계 프로젝트 윤성우 님이 짠 코드가 있는데... 

확실히 엄청나게 많이 다릅니다. 

OOP 단계가 올라가면 올라갈수록 보니까 이 코드에 학습한 개념을 더해서 코드를 짜는 거 같습니다. 

저위에 있는 코드는 제가 맨첨에 짠 거입니다. ㅎㅎ 지금은 윤성우 님이 한 코드 보면서 많이 수정했습니다. ㅠㅠ