티스토리 뷰
저금할 동전의 금액과 개수를 반복 입력하여 저금통에 저금합니다.
금액으로 0 또는 음수가 입력되면 입력을 마치고 총 저축액을 출력합니다.
각 동전의 개수를 저장할 구조체와 함수는 다음을 참고하여 작성합니다.
struct moneyBoX
{
int w500;
int w100;
int w50;
int w100;
};
typedef struct moneyBox MoneyBox;
void init(MoneyBox* pMoneyBox); //MoneyBox 변수 초기화
void save(MoneyBox* pMoneyBox, int unit, int count); //unit 동전을 count개 저금
int total(MoneyBox* pMoneyBox); //저금통의 총 저축액 반환
프로그램의 실행결과는 다음과 같습니다.
/*
실행결과
동전의 금액과 개수 : 500 8
동전의 금액과 개수 : 10 6
동전의 금액과 개수 : 100 7
동전의 금액과 개수 : 100 9
동전의 금액과 개수 : 50 3
동전의 금액과 개수 : -1
총 저금액 : 5810원
*/
다음은 제가 작성한 코드입니다.
#include <stdio.h>
#include <string.h>
struct moneyBox
{
int w500;
int w100;
int w50;
int w10;
};
typedef struct moneyBox MoneyBox;
void init(MoneyBox* pMoneyBox);
void save(MoneyBox* pMoneyBox, int unit, int count);
int total(MoneyBox* pMoneyBox);
void main(void)
{
MoneyBox money;
//MoneyBox의 멤버 초기화
init(&money);
//동전의 금액과 개수를 입력받는 반복문
while (1)
{
int unit, count;
printf("동전의 금액과 개수 : ");
scanf("%d", &unit);
if (unit <= 0) break;
scanf("%d", &count);
printf("unit : %d, count : %d\n", unit, count);
//입력한 금액과 개수 저장
save(&money, unit, count);
}
int tot = 0;
tot = total(&money);
printf("총 저금액 : %d\n", tot);
}
void init(MoneyBox* pMoneyBox)
{
pMoneyBox->w500 = 0;
pMoneyBox->w100 = 0;
pMoneyBox->w50 = 0;
pMoneyBox->w10 = 0;
}
void save(MoneyBox* pMoneyBox, int unit, int count)
{
switch (unit)
{
case 500:
pMoneyBox->w500 += count;
break;
case 100:
pMoneyBox->w100 += count;
break;
case 50:
pMoneyBox->w50 += count;
break;
case 10:
pMoneyBox->w10 += count;
break;
}
}
int total(MoneyBox* pMoneyBox)
{
int total = 0;
total += pMoneyBox->w500 * 500;
total += pMoneyBox->w100 * 100;
total += pMoneyBox->w50 * 50;
total += pMoneyBox->w10 * 10;
return total;
}
/*
실행결과
동전의 금액과 개수 : 100 5
unit : 100, count : 5
동전의 금액과 개수 : 50 3
unit : 50, count : 3
동전의 금액과 개수 : 50 123654
unit : 50, count : 123654
동전의 금액과 개수 : 500 154
unit : 500, count : 154
동전의 금액과 개수 : 10 78456
unit : 10, count : 78456
동전의 금액과 개수 : -987654
총 저금액 : 7044910
*/
코드를 작성함에 어려움은 없습니다.
'공부 일지 > C언어 공부 일지' 카테고리의 다른 글
파일 입출력 (0) | 2021.02.01 |
---|---|
사용자 정의 자료형 실전문제2 (0) | 2021.01.31 |
구조체 활용, 공용체, 열거형 (0) | 2021.01.31 |
사용자 정의 자료형2 (0) | 2021.01.29 |
사용자 정의 자료형 (0) | 2021.01.29 |