본문 바로가기
C언어

[C언어] 고객 관리 프로그램

by 코모's 2020. 4. 2.
반응형

 

고객 관리 프로그램.exe
0.09MB

#include <stdio.h>

#include <iostream>

#pragma warning(disable : 4996)

#include <vector>

#include <algorithm>

 

 

using namespace std;

 

class UserInfo

{

public:

    char m_Name[128]; //고객이름

    int m_Principal; //원금

    int m_Interest; //이자

    int m_TotMoney; //총액

 

public:

    UserInfo()

    {//초기화

        m_Name[0] = '\0';

        m_Principal = 0;

        m_Interest = 0;

        m_TotMoney = 0;

    }

 

public:

    void CacMoney()//이자와 총액을 계산해주는 함수

    {

        m_Interest = m_Principal * 0.015f * 2;//1년에 1.5%이자, 2년치 이자를 계산

        m_TotMoney = m_Principal + m_Interest;

    }

   

};

 

bool desc(UserInfo& a, UserInfo& b)

{

    return a.m_TotMoney > b.m_TotMoney;

}

 

void NewUserAdd(vector<UserInfo>* a_UsList)

{

    UserInfo a_TempStd;

 

    printf("고객의 이름을 입력해 주세요 : ");

    scanf_s("%s", a_TempStd.m_Name, sizeof(a_TempStd.m_Name));

    getchar();

 

    printf("입금액을 입력해주세요 : ");

    scanf_s("%d", &a_TempStd.m_Principal);

    getchar();

 

    a_TempStd.CacMoney();

    a_UsList->push_back(a_TempStd);

}

 

void SortList(vector<UserInfo>& a_UsList)

{

    //총액이 높은 순으로 정렬해서 보여주기...

 

    sort(a_UsList.begin(), a_UsList.end(), desc);

}

 

void PrintLsit(vector<UserInfo>* a_UsList)

{ 

    cout << "\n <고객 리스트>" << endl;

    for (int i = 0; i < a_UsList->size(); i++)

    {

        printf("고객 이름 : %s  원금 : %d 원  이자 : %d 원 총액 : %d 원\n",

            (*a_UsList)[i].m_Name, (*a_UsList)[i].m_Principal, (*a_UsList)[i].m_Interest, (*a_UsList)[i].m_TotMoney);

    }

}

 

void main()

{

    vector<UserInfo> m_UsList;

 

    while (true)

    {

        printf("1 = 고객 추가, 2 = 고객 리스트 보기(총액이 높은순), 99 = 프로그램 종료 : ");

        int a_Sel = 0;

        cin >> a_Sel;

        getchar();

 

 

        if (a_Sel < 1 || 2 < a_Sel)

        {

            if (a_Sel == 99)

                break;

            system("cls");

            continue;            

        }

        else if (a_Sel == 1) {

            NewUserAdd(&m_UsList);

            PrintLsit(&m_UsList);

        }

        else if (a_Sel == 2) {

            SortList(m_UsList);

            PrintLsit(&m_UsList);

        }

        

        getchar();

        system("cls");

    }//while (true)

 

    m_UsList.clear();

}
반응형

'C언어' 카테고리의 다른 글

[c언어] BMI측정 프로그램  (0) 2020.04.02
[c언어] 로또번호 생성기  (0) 2020.04.02
[c언어]Matrix(매트릭스)게임  (0) 2020.04.02
[C언어] 학생 성적 프로그램 (+반평균)  (0) 2020.04.02
[C언어] 가위 바위 보 게임  (0) 2020.04.02