Bem ELGNO e Carlos Alberto F ai está o programa que calcula a diferença de horas, só que dou o valor em minutos no final, para ter o resultado em horas é necessário converter.. Lembre-se caso o tempo passado seja maior que 24 horas terá que ter outro IF para converter esta diferença.
#include <stdio.h>
#include<stdlib.h>
int totalMinutos(int hora, int minuto)//converte a horas em minutos
{
int r = (hora*60) + minuto;
return r;
}
main ()
{
int h1, m1, h2, m2,r1,r2, total;
//variaveis declaradas
printf("\nDigite somente a Hora de entrada: ");
scanf ("%i",&h1); //armazendando valores da hora inicial
printf("\nDigite os Minutos: ");
scanf ("%i",&m1);
r1 = totalMinutos (h1, m1); //r1 recebe total em minutos da primeira hora
printf("\nDigite somente a Hora de saida: ");
scanf ("%i",&h2); //armazendando valores da hora inicial
printf("\nDigite os Minutos: ");
scanf ("%i",&m2);
r2 = totalMinutos(h2, m2);//recebe o total em minutos da segunda hora
total = r2-r1; //calcula a diferença de minutos
if (total < 0)//caso o horario final seja maior que o inicial Ex. de um dia para o outro
{
total +=1440; //
printf ("%i minutos de diferenca!\n\n", total);
}
else
{
printf ("%d Toral em minutos!\n\n", total); //impressão do resultado
}
system("pause");
return 0;
}
Espero que ajude. Agora é só complementar com o que já possui e pronto. O código está comentado.