- 잔돈은 500원과 100원짜리만 있고, 100원짜리를 5개 이상 주는 경우는 없다고 가정하라.
- 잔돈의 개수는 500원짜리, 100원짜리 순으로 공백을 사이에 두고 출력한다.
① Americano (\500) ② Cafe Latte (\400) ③ Lemon Tea (\300)
- if문을 사용하는 방법
- switch문을 사용하는 방법
두 가지 방법을 사용하여 프로그램을 작성하시오.
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;
}
반응형
최근댓글