본문 바로가기
C언어

[c언어]은행 고객관리 프로그램

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

은행 고객관리 프로그램.exe
0.08MB

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
class UserInfo
{
public:
    char m_Name[128];   //고객이름
    int m_Principal;   //원금
    int m_Interest;      //이자
    int m_TotMomeny;   //총액
 
public:
    UserInfo()
    {
        m_Name[0] = '\0';
        m_Principal = 0;
        m_Interest = 0;
        m_TotMomeny = 0;
    }
 
public:
    void CacMoney()//이자와 총액을 계산해 주는 함수
    {
        m_Interest = m_Principal * 0.015f * 2; //1년에 1.5% 이자 2년치의 이자를 계산
        m_TotMomeny = m_Principal + m_Interest;//2년 뒤에 받게될 예산 총 금액
    }
 
    void PrintInfo()
    {
        printf("고객이름(%s) 원금(%d) 이자(%d) 총액(%d)\n", m_Name, m_Principal, m_Interest, m_TotMomeny);
    }
};
 
void PrintList(vector<UserInfo>* a_UsList)
{
    printf("<고객 리스트>\n");
 
    for (int i = 0; i < a_UsList->size(); i++)
    {
        printf("%d 번", i + 1);
        (*a_UsList)[i].PrintInfo();
    }
}
 
void NewUserAdd(vector<UserInfo>* a_UsList)
{
    //고객이름을 입력:
    //입금액입력 :
    UserInfo Temp;
 
    printf("%d번 고객이름을 입력하세요 : ", a_UsList->size() + 1);
    scanf_s("%s", &Temp.m_Name, sizeof(Temp.m_Name));
    getchar();
 
    printf("입금액을 입력하세요 : ");
    scanf_s("%d", &Temp.m_Principal);
    getchar();
 
    Temp.CacMoney();
 
    a_UsList->push_back(Temp);
 
    PrintList(a_UsList);
 
}
 
bool MySort(UserInfo& a, UserInfo& b)
{
    return a.m_TotMomeny > b.m_TotMomeny;
}
 
void SortList(vector<UserInfo>& a_UsList)
{
    //총액이 높은순으로 정렬해서 보여주기
    sort(a_UsList.begin(), a_UsList.end(), MySort);
 
    printf("<고객 리스트>\n");
 
    for (int i = 0; i < a_UsList.size(); i++)
    {
        printf("%d 번",i+1);
        a_UsList[i].PrintInfo();
    }
    getchar();
 
}
 
void main()
{
    vector<UserInfo> m_UsList;
 
    while (true)
    {
        system("cls");
        printf("1.고객추가 2.고객리스트 보기(총액 높은순) 99.프로그램 종료 :");
        int Sel = 0;
        scanf_s("%d", &Sel);
        getchar();
 
        if (Sel < 1 || Sel >2)
        {
            if (Sel == 99)
                break;
            system("cls");
            continue;
        }
 
        if (Sel == 1)//고객 추가
        {
            system("cls");
            NewUserAdd(&m_UsList);
            getchar();
 
        }//if (Sel == 1)
        else if (Sel == 2)//고객 리스트보기
        {
            system("cls");
            SortList(m_UsList);
 
        }//else if (Sel == 2)
 
    }//while
 
    m_UsList.clear();
}
반응형

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

[c언어]테트리스 게임  (1) 2020.04.02
[c언어] 슈팅게임  (0) 2020.04.02
[c언어]영화 예매 프로그램  (0) 2020.04.02
[c언어] 음식추천 프로그램  (0) 2020.04.02
[c언어]숫자 야구 게임  (0) 2020.04.02