문제, 풀이, 답 순서로 되어있어요! :-)
[문제]
다음은 카페의 메뉴판이다.
1. 아메리카노 3000원
2. 아이스아메리카노 3500원
3. 카페라떼 3800원
4. 데자와 700원
5. 카라멜마끼아또 4300원
6. 블루레몬에이드 3500원
주문은 번호로 입력 받습니다.
주문의 번호가 0일 때까지 입력 받은 음료의 금액을 모두 더합니다.
주문의 번호가 0이면 반복을 종료하고 총금액을 출력합니다.
(단 주문은 번호로 입력 받고 1~6의 정수입니다.)
[풀이]
일단은 변수 선언부터 합니다.
주문을 번호로 입력받을 변수 n 선언.
총액을 저장할 변수 sum 선언하고 0으로 초기화 (더해주는 값을 저장하기 때문에 처음 초기화 값은 0)
int sum = 0, n;
주문은 번호로 입력을 받으니까 switch 함수를 쓸 거예요.
n을 switch에 넘겨주고 안에 내용을 작성해줍니다.
안에 내용을 쓸 때는 각 case문에 break;를 꼭 적어주어야 해요. 그렇지 않으면 해당 case문의 뒷 내용도 출력됩니다.
/*
1. 아메리카노 3000원
2. 아이스아메리카노 3500원
3. 카페라떼 3800원
4. 데자와 700원
5. 카라멜마끼아또 4300원
6. 블루레몬에이드 3500원
*/
switch (n) {
case 1: sum += 3000; break;
case 2: sum += 3500; break;
case 3: sum += 3800; break;
case 4: sum += 700; break;
case 5: sum += 4300; break;
case 6: sum += 3500; break;
}
근데, 우리는 주문의 번호가 0일 때까지 입력받은 음료의 금액을 더해야 하니까 무한 반복문이 필요해요.
무한 반복이 필요한 경우에는 보통 while문을 많이 사용해요.
while문의 첫 시작에 n=0일 때, 반복문을 종료하는 문구를 추가한 다음에 위에서 적은 switch문으로 내용을 채워줍니다.
while (1) { // 무한반복을 위해 1을 넣는다
scanf("%d", &n); // n입력 받기
if (n == 0) break; // 0을 입력 받았을 경우 반복문 종료
// switch문
switch (n) {
case 1: sum += 3000; break;
case 2: sum += 3500; break;
case 3: sum += 3800; break;
case 4: sum += 700; break;
case 5: sum += 4300; break;
case 6: sum += 3500; break;
}
}
마지막으로 결괏값 출력합니다.
// 결괏값 출력
printf("Total = %d", sum);
[답]
#pragma warning(disable:4996) // scanf 함수 오류 무시
#include <stdio.h>
int main() {
int sum = 0, n; // 메뉴 변수를 입력 받을 변수 n, 금액의 총액을 받을 변수 sum 선언
while (1) {
scanf("%d", &n);
if (n == 0) break;
switch (n) {
case 1: sum += 3000; break; // 1. 아메리카노 3000원
case 2: sum += 3500; break; // 2. 아이스아메리카노 3500원
case 3: sum += 3800; break; // 3. 카페라떼 3800원
case 4: sum += 700; break; // 4. 데자와 700원
case 5: sum += 4300; break; // 5. 카라멜마끼아또 4300원
case 6: sum += 3500; break; // 6. 블루레몬에이드 3500원
}
}
printf("Total = %d", sum);
return 0;
}
'C언어_VisualStudio_실습' 카테고리의 다른 글
문자열 예제: strcmp를 이용하여 사전순서로 정리 (오름차순/내림차순 정리) (0) | 2021.06.14 |
---|---|
369게임 박수치기; while문, if문 (0) | 2021.06.11 |
[C언어] 조건문 예제: 절대값 출력, 학점 프로그램 (0) | 2021.05.31 |
[C언어] 사용자 정의 함수의 예제 : 큰 값 출력 함수, 구구단 출력 함수, 양수 입력 받는 함수, 아스키코드 출력 함수 (0) | 2021.05.27 |
[C 언어] 표준함수 사용해보기 : 수학함수, 랜덤함수, 외부 프로그램 실행 (0) | 2021.05.25 |