2017-10-03 1 views
-1

Bitte lesen Sie den folgenden Code und führen Sie mich auf, wie ich die Int elapsedTime als Strukturtyp als die dritte Zeitstruktur z. time3 und es anzeigen?Wie wird der Unterschied zwischen zwei Strukturwerten in einer dritten Struktur zurückgegeben?

#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; 
} 

Struktur im Header-Datei:

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

Antwort

1

Integer-Division ist dein Freund. Sie müssen etwas tun wie:

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

Danke für die Hilfe, aber jetzt, wie gebe ich das Ergebnis im militärischen Zeitformat in einer neuen Struktur zurück? – Ruby

+0

Wir sind nicht hier, um grundlegende Programmierung zu lehren. Lerne die Sprache. –

+0

Bekannt. Danke für Ihre Hilfe. – Ruby

Verwandte Themen