- 잔돈은 500원과 100원짜리만 있고, 100원짜리를 5개 이상 주는 경우는 없다고 가정하라.

- 잔돈의 개수는 500원짜리, 100원짜리 순으로 공백을 사이에 두고 출력한다.

① Americano (\500) ② Cafe Latte (\400) ③ Lemon Tea (\300)

 

- if문을 사용하는 방법

- switch문을 사용하는 방법

두 가지 방법을 사용하여 프로그램을 작성하시오.

실행 예시 1
실행 예시 2
실행 예시 3


if문을 사용하는 방법

#pragma warning(disable:4996)

#include <stdio.h>

int main() {
	int N; //음료의 종류(1:Americano / 2:Cafe Latte / 3:Lemon Tea)
	int M; //투입 금액

	int coin_500 = 0;
	int coin_100 = 0;

	int difference; //차액
	/*가격표*/
	int Americano = 500;
	int Cafe_Latte = 400;
	int Lemon_Tea = 300;


	scanf("%d", &N); //음료 종류 입력 받음
	scanf("%d", &M); //투입 금액

	if (N == 1) { //아메리카노 선택
		printf("Americano\n");
		difference = M - Americano;
		coin_500 = difference / 500;
		coin_100 = (difference % 500) / 100;
	}
	else if (N == 2) {
		printf("Cafe Latte\n");
		difference = M - Cafe_Latte;
		coin_500 = difference / 500;
		coin_100 = (difference % 500) / 100;
	}
	else { // N이 3인 경우
		printf("Lemon Tea\n");
		difference = M - Lemon_Tea;
		coin_500 = difference / 500;
		coin_100 = (difference % 500) / 100;
	}

	printf("%d %d\n", coin_500, coin_100);


	return 0;
}

switch문을 사용하는 방법

#pragma warning(disable:4996)

#include <stdio.h>

int main() {
	int N; //음료의 종류(1:Americano / 2:Cafe Latte / 3:Lemon Tea)
	int M; //투입 금액

	int coin_500 = 0;
	int coin_100 = 0;

	int difference; //차액
	/*가격표*/
	int Americano = 500;
	int Cafe_Latte = 400;
	int Lemon_Tea = 300;


	scanf("%d", &N); //음료 종류 입력 받음
	scanf("%d", &M); //투입 금액

	switch (N) {
	case 1:
		printf("Americano\n");
		difference = M - Americano;
		coin_500 = difference / 500;
		coin_100 = (difference % 500) / 100;
		break;
	case 2:
		printf("Cafe Latte\n");
		difference = M - Cafe_Latte;
		coin_500 = difference / 500;
		coin_100 = (difference % 500) / 100;
		break;
	default:
		printf("Lemon Tea\n");
		difference = M - Lemon_Tea;
		coin_500 = difference / 500;
		coin_100 = (difference % 500) / 100;
		break;
	/*default: //예외처리 해 줄 필요 없음. 어차피 1,2,3 중에 하나 들어오기 때문.
		printf("1~3사이 정수를 입력하세요.\n");
		break;*/
	}

	printf("%d %d\n", coin_500, coin_100);




	return 0;
}
반응형