-
Notifications
You must be signed in to change notification settings - Fork 1
기능 : 시간대별 가격 출력
Hanss3576 edited this page May 16, 2022
·
7 revisions
- 시간/하루/주/월 기준으로 가격을 출력한다
- 만약 할인이 있다면, 할인된 가격으로 출력해준다
typedef struct{
int price[4]; // {시간, 하루 , 주 , 월} 기준 가격변수
int isDeafult;
}Price;
int updatePrice(Price *price){
int isOkay;
printf("가격 설정하시겠습니까? (y : 1)");
scanf("%d", &isOkay);
if(isOkay == 1){
printf("**한화기준**\n\n");
printf("시간당 가격 : ");
scanf("%d", &price->price[0]);
printf("하루당 가격 : ");
scanf("%d", &price->price[1]);
printf("주당 가격 : ");
scanf("%d", &price->price[2]);
printf("월당 가격 : ");
scanf("%d", &price->price[3]);
getchar();
price->isDeafult = 0;
return 1;
}
else
return 0;
}
- 가격 설정 여부를 물어보고, 설정하겠다면 변수값 업데이트
void showPrice(Price *price, Sale *sale){
if(price->isDeafult == 1){
printf("\n\t ***현재 가격 설정없음***\t\n\n");
int isOkay = updatePrice(price);
if(isOkay == 1){
printf("=>가격 업데이트 완료!\n");
return;
}
else{
return;
}
}
else{
if(sale->isSale == 1){
if(calculatorTime(sale->during) > 0){
for(int i = 0 ; i < 4; i++){
price->price[i] = price->price[i] * ( 100 - sale->saleRate) / 100.0;
}
}
printf("\n현재 할인 이벤트 진행중\n\n");
printf("<<가격>>\n");
printf("시간당 가격 : %d 원\n", price->price[0]);
printf("하루당 가격 : %d 원\n", price->price[1]);
printf("주당 가격 : %d 원\n", price->price[2]);
printf("월당 가격 : %d 원\n", price->price[3]);
}
else{
printf("<<가격>>\n");
printf("시간당 가격 : %d 원\n", price->price[0]);
printf("하루당 가격 : %d 원\n", price->price[1]);
printf("주당 가격 : %d 원\n", price->price[2]);
printf("월당 가격 : %d 원\n", price->price[3]);
}
}
int isOkay = updatePrice(price);
if(isOkay == 1)
printf("=>가격 업데이트 완료!\n");
else{
return;
}
}
- 현재 가격이 없다면, 가격을 업데이트 할 것인지 물어본다
- 만일 가격을 업데이트한다면, updatePrice함수 호출
- 또한 현재 할인 이벤트를 진행 중일 수 있으니, 진행한다면 이에 맞춰서 가격을 다시 업데이트하고, 출력한다
- calculatorTime 함수 설명