2017-10-03 35 views
-1

Veuillez lire le code suivant et me guider sur la façon de renvoyer int int elapsedTime en tant que type struct en tant que troisième structure. time3 et l'afficher?Comment retourner la différence entre deux valeurs de structure dans une troisième structure?

#include <stdio.h> 
#include <stdlib.h>> 
#include <math.h> 

#include "Time.h" 

void elapsedTime(struct time time1, struct time time2); // Prototype 

int main(){ 

    struct time time1 = {3, 45, 15}; 
    struct time time2 = {9, 44, 03}; 

    elapsedTime(time1, time2); 

    return 0; 
} 


void elapsedTime(struct time time1, struct time time2){ 

    int elapsedTime = ((time1.Hours * MINUTES_IN_AN_HOUR * 
    SECONDS_IN_A_MINUTE) + (time1.Minutes * SECONDS_IN_A_MINUTE) + 
    time1.Seconds) - ((time2.Hours * MINUTES_IN_AN_HOUR * 
    SECONDS_IN_A_MINUTE) + (time2.Minutes * SECONDS_IN_A_MINUTE) + 
    time2.Seconds); 

    printf(" %d \n", abs(elapsedTime)); 
    return; 
} 

Structure dans le fichier d'en-tête:

struct time{ 
    int Hours; 
    int Seconds; 
    int Minutes; 
}; 

Répondre

1

division entière est votre ami. Vous aurez besoin de faire quelque chose comme:

result.Hours = et/3600; 
et -= (result.Hours * 3600); 
result.Minutes = et/60; 
et -= (result.Minutes * 60); 
result.Seconds = et; 
+0

Merci pour l'aide mais maintenant comment puis-je retourner le résultat dans le format d'heure militaire dans une nouvelle structure? – Ruby

+0

Nous ne sommes pas ici pour enseigner la programmation de base. Apprendre la langue –

+0

Noté. Merci de votre aide. – Ruby