Skip to content

기능 : 시간대별 가격 출력

Hanss3576 edited this page May 16, 2022 · 7 revisions
  • 시간/하루/주/월 기준으로 가격을 출력한다
  • 만약 할인이 있다면, 할인된 가격으로 출력해준다
typedef struct{
    int price[4]; // {시간, 하루 , 주 , 월} 기준 가격변수
    int isDeafult;
}Price;

updatePrice함수

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;
}
  • 가격 설정 여부를 물어보고, 설정하겠다면 변수값 업데이트

showPrice 함수

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 함수 설명

결과화면

가격 업데이트 할인된 가격으로 출력