Lo lamento, soy muy nuevo en esto.
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.
Mod: Es obligatorio el uso de etiquetas GeSHi para poner código.
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 (cpp) [Seleccionar]
//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.