반응형
#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 |