Hi, I'm trying to make a program to calculate garage charges, and having a trouble with calculating overnight charges. When time entered between 4PM and 6AM and exit by 8AM a charge must be $11, but my program gives me wrong output. Please help, can't understand what mistake is.

Here is a function to calculate charges

And this the whole program.Code:int calculate_charge(int x) { if(((16<=hour_in)&&(hour_in<6))&&(hour_out<=8)) { charge=11; } else { if(x>10&&x<=24) charge=27; else if(x>=0&&x<1) charge=8; else if(x<2) charge=12; else if(x<3) charge=16; else charge=22; } //printf("\n%i",charge); return charge; }

Code:#include<stdio.h> int hour_in, min_in, hour_out, min_out; int daytime, eveningtime, hour,total_hour; int charge, amount_collected; void get_time_in_and_out(void) { int AM_PM; printf("Enter time in\n");//enter time in printf("\tHour:"); scanf("%i",&hour_in); printf("\n\tMinuts:"); scanf("%i",&min_in); printf("\n0 - AM ; 1 - PM\t"); scanf("%i",&AM_PM); if(AM_PM==1&&hour_in<12) { hour_in+=12; } else if(AM_PM==0&&hour_in==12) { hour_in+=12; } else { hour_in+=0; } printf("\nEnter time out\n");//enter time out printf("\tHour:"); scanf("%i",&hour_out); printf("\n\tMinuts:"); scanf("%i",&min_out); printf("\n0 - AM ; 1 - PM\t"); scanf("%i",&AM_PM); if(AM_PM==1&&hour_out<12) hour_out+=12; else if(AM_PM==0&&hour_out==12) hour_out+=12; else hour_out+=0; } int calculate_hours(void) { int total; total=(((hour_out*60)+min_out)-((hour_in*60)+min_in)); hour=total/60; return hour; } int calculate_charge(int x) { if(((16<=hour_in)&&(hour_in<6))&&(hour_out<=8)) { charge=11; } else { if(x>10&&x<=24) charge=27; else if(x>=0&&x<1) charge=8; else if(x<2) charge=12; else if(x<3) charge=16; else charge=22; } //printf("\n%i",charge); return charge; } void main(void) { int Done=1; int car=1; int amount_collected=0; total_hour=0; do { printf("Car#%i:\n\n", car); get_time_in_and_out(); calculate_hours(); total_hour+=hour; calculate_charge(hour); amount_collected+=charge; ++car; printf("==============================="); printf("\n1 -Next car\n0 -Done "); scanf("%i",&Done); printf("===============================\n\n"); }while(Done==1); printf("Tota Hours Parked:\t %i\n",total_hour); printf("Amount Collected:\t%i\n",amount_collected); }