En general el programa no tiene errores como tal, lo único que falla es al calcular el importe cuando los minutos de estancia son mayores a 60.
Código
//Algoritmo que calcule tiempo a pagar por tiempo //que un auto está dentro de un estacionamiento //Primera hora o fracción a $40.00 //después cada hora o fracción se cobra a $8.50 #include<stdio.h> void main() { int he,me,hs,ms,mte,mts,m,c,ct,c2,I,a; //Solicitar horas y minutos de entrada printf("Indica la hora de entrada\n"); scanf("%d",&he); printf("Indica los minutos de entrada\n"); scanf("%d",&me); //Solicitar horas y minutos de salida printf("Indica la hora de salida\n"); scanf("%d",&hs); printf("Indica los minutos de salida\n"); scanf("%d",&ms); if (he>hs) { printf("Las horas ingresadas son incorrectas\nLa hora de salida no puede ser menor a la de entrada\n"); } else { //Calcular min totales de entrada(mte) mte=(he*60)+me; //Calcular min totales de salida (mts) mts=(hs*60)+ms; //Calcular minutos totales de estancia (m) m=mts-mte; if ((0<=he,hs<24)&&(0<=me,ms<=59)) { if (m>60) { a=15; c=m/a; c2=m%a; ct=c+c2; I=40+((ct-4)*8.5); printf("%d minutos\n",m); printf("El importe total a pagar es de %d\n",I); printf("modulo es %d\n",c2); } else { if ((1<=m)&&(m<=60)) { printf("El importe a pagar es de 40.000000 pesos\n"); } else { if (m==0) { printf("No hay importe a pagar\n"); } } } } else { printf("Algun valor es incorrecto, verifique\n"); } } }
Mod: Es obligatorio el uso de etiquetas GeSHi para poner código.