/*
@Author:Mr.Suppakit Thongdee
@Website: www.sourcecode.in.th
*/
#include <stdio.h>
#include <conio.h>
#include <math.h>
double Calculate(double iWeight,double iSize, double *iTemp){
double result;
if(*iTemp >= iSize){
*iTemp = *iTemp - iSize;
result = iWeight*iSize;
}else{
result = iWeight**iTemp;
*iTemp = 0;
}
result = ceil(result*100)/100;
return result;
}
void main(){
double iUnit;
double iTemp;
double iCal;
double iValue;
clrscr();
printf("input Unit:");
scanf("%lf",&iUnit);
iValue = 0;
iTemp = iUnit;
if(iUnit<=150){
//Unit 1-5
iTemp = iTemp - 5;
iCal = 0;
iValue = 0;
printf("Unit 1-5, price = %.2lf\n",iCal);
//Unit 6-15
if(iTemp>0){
iCal = Calculate(1.3576, 10, &iTemp);
iValue = iValue + iCal;
printf("Unit 6-15, price = %.2lf\n",iCal);
}
//Unit 16-25
if(iTemp>0){
iCal = Calculate(1.5445, 10, &iTemp);
iValue = iValue + iCal;
printf("Unit 16-25, price = %.2lf\n",iCal);
}
//Unit 26-35
if(iTemp>0){
iCal = Calculate(1.7968, 10, &iTemp);
iValue = iValue + iCal;
printf("Unit 26-35, price = %.2lf\n",iCal);
}
//Unit 36-100
if(iTemp>0){
iCal = Calculate(2.1800, 65, &iTemp);
iValue = iValue + iCal;
printf("Unit 36-100, price = %.2lf\n",iCal);
}
//Unit 101-150
if(iTemp>0){
iCal = Calculate(2.2734, 50, &iTemp);
iValue = iValue + iCal;
printf("Unit 101-150,price = %.2lf\n",iCal);
}
//Unit 151-400
if(iTemp>0){
iCal = Calculate(2.7781, 250, &iTemp);
iValue = iValue + iCal;
printf("Unit 151-400,price = %.2lf\n",iCal);
}
//Unit 401-...
if(iTemp>0){
iCal = 2.9780*iTemp;
iValue = iValue + iCal;
printf("Unit 401-...,price = %.2lf\n",iCal);
}
//Monthly price
iValue = iValue + 8.19;
printf("Monthly fee, price = %.2lf\n",8.19);
}else{
//Unit 1-150
if(iTemp>0){
iCal = Calculate(1.8047, 150, &iTemp);
iValue = iValue + iCal;
printf("Unit 1-150, price = %.2lf\n",iCal);
}
//Unit 151-400
if(iTemp>0){
iCal = Calculate(2.7781, 250, &iTemp);
iValue = iValue + iCal;
printf("Unit 151-400, price = %.2lf\n",iCal);
}
//Unit 401-...
if(iTemp>0){
iCal = 2.9780*iTemp;
iValue = iValue + iCal;
printf("Unit 401-..., price = %.2lf\n",iCal);
}
//Monthly price
printf("Monthly fee, price = %.2lf\n",40.90);
iValue = iValue + 40.90;
}
//Output
printf("==============================\n");
printf("Price = %.2lf",iValue);
getch();
}