电费计算实现程序

//code.h

#include "stdafx.h"

#include "test.h"
#include "io.h"

int process()
{
USER_T theKind; /*  电表用户的类型 */
USE_TIME_t start_Time; /*  开始使用时间 */
WEEK_T          start_Week;   /*  开始使用时间是星期几 */
USE_TIME_t end_Time; /*  结束使用时间 */
int value; /*  用电量  */
double             fare;
double           averageOfValue;
USE_TIME_t      temp_time;
int             numberOfWorkdays=0;
int             numberOfHolidays=0;
int             ret;
int             fare_int;


ret = Input(&theKind,&start_Time,&start_Week,&end_Time,&value);
temp_time = start_Time;
if(!ret)
{
if(theKind==USER_COMMON){
if(start_Time.month>=5&&start_Time.month<=10){
if(value>=0&&value<=260){
fare=(double)value*0.68;
}
else if(value>=261&&value<=600){
fare=(double)value*(0.68+0.05);
}
else if(value>=601){
fare=(double)value*(0.68+0.3);

}


}
else {
if(value>=0&&value<=200){
fare=(double)value*0.68;
}
else if(value>=201&&value<=400){
fare=(double)value*(0.68+0.05);
}
else if(value>=401){
fare=(double)value*(0.68+0.3);
}
}
}
else if(theKind==USER_TIME_DIV)
{
while(1)
{
if(temp_time.date==end_Time.date&&temp_time.month==end_Time.month&&temp_time.year==end_Time.year)
  {
if(start_Week==SATURDAY||start_Week==SUNDAY||IsInHoliday_ALL(temp_time))
{
numberOfHolidays++;
}
else{
numberOfWorkdays++;
}
break;
}


if(start_Week==SATURDAY||start_Week==SUNDAY||IsInHoliday_ALL(temp_time))
{
numberOfHolidays++;
}
else{
numberOfWorkdays++;
}


if(temp_time.month==1||temp_time.month==3||temp_time.month==5||temp_time.month==7||temp_time.month==8||temp_time.month==10||temp_time.month==12)
{
if(temp_time.date==31)
{
temp_time.month+=1;
temp_time.date=1;


}
else{
temp_time.date+=1;
}
}
else if(temp_time.month==4||temp_time.month==6||temp_time.month==9||temp_time.month==11)
{
if(temp_time.date==30)
{
temp_time.month+=1;
temp_time.date=1;
}else{
temp_time.date+=1;
}
}else{


 if(temp_time.date==28)
{
temp_time.month+=1;
temp_time.date=1;
}
else{
temp_time.date+=1;
}
}


switch(start_Week){
case MONDAY:
start_Week=TUESDAY;
break;
case TUESDAY:
start_Week=WEDNESDAY;
break;
case WEDNESDAY:
start_Week=THURSDAY;
break;
case THURSDAY:
start_Week=FRIDAY;
break;
case FRIDAY:
start_Week=SATURDAY;
break;
case SATURDAY:
start_Week=SUNDAY;
break;
case SUNDAY:
start_Week=MONDAY;
break;
}
}
averageOfValue=(double)value/(numberOfWorkdays + numberOfHolidays);
fare=0.75*numberOfWorkdays*averageOfValue+0.98*numberOfHolidays*averageOfValue;

}
 
fare_int=(int)(fare+0.5);
Output(fare_int);

}


return 0;
}


int _tmain(int argc, _TCHAR* argv[])
{
process();


return 0;
}

你可能感兴趣的:(C++)