티스토리 뷰

저금할 동전의 금액과 개수를 반복 입력하여 저금통에 저금합니다.

금액으로 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함