C/Visual C - URGENTE!!!!!!!!!!!!!!

 
Vista:

URGENTE!!!!!!!!!!!!!!

Publicado por Helena (2 intervenciones) el 20/09/2000 00:00:00
Hola!

Necesito que me ayudan o que me den idea como puedo hacer el siguiente programa en Turbo C++:

Es de el calculo de horas, por ejemplo:

Digite la hora de entrada:

Digite la hora de salida:

y el resultado va a ser el total de horas, y el resultado va a ser redondeado en:

0
0,25
0,50
0,75
1,0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE!!!!!!!!!!!!!!

Publicado por Endos (143 intervenciones) el 20/09/2000 00:00:00
!!! NO VERIFICADO AL 100% !!!

#include <stdio.h>
#include <conio.h>
#include <ctype.h>

int main(void)
{
char HHMM[4];
char *Text[]={"Digite la hora de entrada (HHMM) : ",
"Digite la hora de salida (HHMM) : "};
short Hora[2],Minu[2];
int RHora, RMinu;
char Caracter;
int Count=0;
int bucle;

for(bucle=0; bucle<2; bucle++)
{
printf(Text[bucle]);

while(Count<4)
{
Caracter=getch();
if(isdigit(Caracter))
{
putch(Caracter);
(char) HHMM[Count]=Caracter-´0´;
Count++;
}
}
Count=0;

// Guardar cada numero
Hora[bucle]=((int)HHMM[0]*10)+HHMM[1];
Minu[bucle]=((int)HHMM[2]*10)+HHMM[3];
printf("\n\n");
}

printf("\nEntrada: Hora %02u, Minutos %02u \n",Hora[0],Minu[0]);
printf("Salida : Hora %02u, Minutos %02u \n",Hora[1],Minu[1]);

// Horas de diferencia
RHora=Hora[1]-Hora[0]-(Minu[1]<Minu[0] ? 1 :0);
// Minutos
RMinu=(Minu[1]<Minu[0]) ? 60-(Minu[0]-Minu[1]) : Minu[1]-Minu[0];
// Redondear a lo minimo
RMinu=(RMinu/25)*25;

printf("Tiempo Transcurrido Redondeado: Horas %02u, Minutos %02u\n",RHora,RMinu);

getch();
return 0;
}

Tampoco se comprueba si la hora introducida es o no correcta.

Saludos,
Endos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar