문제 ) 영화관의 기본 입장료는 10,000원 인데 . 나이가 65세 이상이면 경로우대로 요금의 10%를 할인받고 6세이하는 무료 7세부터 18세까지는 청소년 요금이 적용되어 20%의 요금을 할인 받는다 . !!
문제분석) 대부분 문제만 보고도 조건문이라는 것을 알수있을것이다 조건이 세가지로 나누어져 있기때문에 조건은 3개 if ,else if ,else 로 구분 짓자
그리고 입력받은 age(나이)에 따라 할인율을 적용하는 방법은 간단하다 .
그이외에 이 문제에서 주의할점은 몇가지 없다
보통 10% 할인을 어떻게 수식으로 나타낼것인가에 대해 초보자들은 어버버 거릴수도 있지만 생각보다 간단하다
10%할인하면 결론적으로 가격은 총 100에서 90이 되는데 원가에 0.9를 곱하면 원가에서 10% 할인된 금액이 나오고 마찬가지로 0.8을 곱하면 20%할인 반대로 10%를 더받는 경우에는 1.1을 곱해주면된다 보통 연체료를 받는 프로그램이나 은행이자를 구하는 문제에서 적용이 가능하겠다 이때 주의할점은 실수형으로 가격을 입력받아야한다는점 !
예를들어 100만원에 0.9를 곱했는데 변수가 정수형이면 값이 0으로 나와버리는 불상사가 생길수가있음 !
그리고 7세부터 19세까지의 범위를 나타낼때는 논리연산자 &&를 이용할것 !
소스코드 )
#include<stdio.h>
main()
{
int age;
double price = 10000;
printf("영화관의 기본입장료는 10,000원 입니다\n나이에 따라 금액이 달라집니다 몇살이신지요? : ");
scanf("%d", &age);
if (age >= 65) {
printf("경로우대 요금이 적용되어 %f원 입니다", price*0.9);
}
else if (age >= 7 && age <= 18) {
printf("학생 요금이 적용되어 %f원 입니다", price*0.8);
}
else
printf("6세이하는 %f원 무료 입니다", price * 0);
}
결과창)
박물관의 기본입장료는 10,000원 입니다
나이에 따라 금액이 달라집니다 몇살이신지요? : 66
경로우대 요금이 적용되어 9000.000000원 입니다
C:\Users\ASUS\source\repos\ConsoleApplication11\Debug\ConsoleApplication11.exe(5600 프로세스)이(가) 0 코드로 인해 종료되었습니다.
이 창을 닫으려면 아무 키나 누르세요.
박물관의 기본입장료는 10,000원 입니다
나이에 따라 금액이 달라집니다 몇살이신지요? : 8
학생 요금이 적용되어 8000.000000원 입니다
C:\Users\ASUS\source\repos\ConsoleApplication11\Debug\ConsoleApplication11.exe(14720 프로세스)이(가) 0 코드로 인해 종료 되었습니다.
이 창을 닫으려면 아무 키나 누르세요.
'기타 > it' 카테고리의 다른 글
아이폰 '이 액세서리는 지원되지 않을 수 있습니다. ' 해결 방법 (0) | 2019.02.22 |
---|---|
C언어 라이브러리 함수 getchar()에 대해 알아보자 (0) | 2019.02.12 |
c언어 1차원배열 오름차순 정렬 /소스코드 및 해결방법/정렬 (0) | 2019.02.06 |
C언어[배열] 거스름돈,동전의 수 계산하는 프로그램 예제 , 코드소스 (0) | 2019.02.05 |
C언어 반복문, switch문, 학점 구하는 프로그램 (0) | 2019.01.31 |