#include <iostream>
void Result(int a) {
int temp = a;
int arrayCoinResult[5] = { 0, 0, 0, 0, 0 };
int CoinSum = 0;
int array[5] = { 500,100,50,10,1 };
for (int i = 0; i < sizeof(array)/sizeof(int); i++){
while (temp >= array[i]) {
temp = temp - array[i];
arrayCoinResult[i] ++;
CoinSum++;
}
}
std::cout << "거스름돈의 갯수" << CoinSum << std::endl;
std::cout << "500원 거스름돈의 갯수" << arrayCoinResult[0] << std::endl;
std::cout << "100원 거스름돈의 갯수" << arrayCoinResult[1] << std::endl;
std::cout << "50원 거스름돈의 갯수" << arrayCoinResult[2] << std::endl;
std::cout << "10원 거스름돈의 갯수" << arrayCoinResult[3] << std::endl;
std::cout << "1원 거스름돈의 갯수" << arrayCoinResult[4] << std::endl;
}
int main(void)
{
std::cout << "구매한 물건의 가격 : ";
int value;
std::cin >> value;
Result(value);
return 0;
}
temp = 입력된 값을 Result 함수에 전달받아 저장해주는 변수 / 큰 값부터 - 되어 다음 크기의 거스름돈으로 계산해야하는 임시 값을 저장하는 두 가지의 역할을 가진 변수
arrayCoinResult[] = 각각의 거스름돈의 크기를 저장하기 위한 배열
CoinSum = 거스름돈 전체 갯수를 저장하기 위한 변수
array[] = 계산해야할 각각의 코인 전체 크기
for문으로 계산해야하는 제일 큰 크기의 거스름돈 갯수부터 입력
예 ) 0번째 500 , 1번째 100 .... 5번째 1
for문 내부의 while 문을 이용하여 (현재금액 - 거스름돈크기) 의 값이 양수 일 때 까지
계속해서 temp의 값에서 거스름돈 크기만큼 빼주며 한번의 루틴이 돌때마다 거스름돈의 크기와 현재 계산중인 거스름돈의 크기를 증가시켜줌
for문이 종단되면 계산 완료된 모든 값을 출력해줌
'컴퓨터 공학 일지 > 알고리즘' 카테고리의 다른 글
성적 분류 [C++] (0) | 2019.12.08 |
---|---|
구구단 출력하기 [C++] (0) | 2019.12.08 |