C programma, lai aprēķinātu atšķirību starp diviem laika periodiem

Šajā piemērā jūs iemācīsities aprēķināt starpību starp diviem laika periodiem, izmantojot lietotāja definētu funkciju.

Lai saprastu šo piemēru, jums vajadzētu būt zināšanām par šādām C programmēšanas tēmām:

  • C Lietotāja definētas funkcijas
  • C strukt
  • C Struktūra un funkcija
  • C struktūras un rādītāji

Aprēķiniet atšķirību starp diviem laika periodiem

 #include struct TIME ( int seconds; int minutes; int hours; ); void differenceBetweenTimePeriod(struct TIME t1, struct TIME t2, struct TIME *diff); int main() ( struct TIME startTime, stopTime, diff; printf("Enter the start time. "); printf("Enter hours, minutes and seconds: "); scanf("%d %d %d", &startTime.hours, &startTime.minutes, &startTime.seconds); printf("Enter the stop time. "); printf("Enter hours, minutes and seconds: "); scanf("%d %d %d", &stopTime.hours, &stopTime.minutes, &stopTime.seconds); // Difference between start and stop time differenceBetweenTimePeriod(startTime, stopTime, &diff); printf("Time Difference: %d:%d:%d - ", startTime.hours, startTime.minutes, startTime.seconds); printf("%d:%d:%d ", stopTime.hours, stopTime.minutes, stopTime.seconds); printf("= %d:%d:%d", diff.hours, diff.minutes, diff.seconds); return 0; ) // Computes difference between time periods void differenceBetweenTimePeriod(struct TIME start, struct TIME stop, struct TIME *diff) ( while (stop.seconds> start.seconds) ( --start.minutes; start.seconds += 60; ) diff->seconds = start.seconds - stop.seconds; while (stop.minutes> start.minutes) ( --start.hours; start.minutes += 60; ) diff->minutes = start.minutes - stop.minutes; diff->hours = start.hours - stop.hours; )

Rezultāts

Ievadiet sākuma laiku. Ievadiet stundas, minūtes un sekundes: 13 34 55 Ievadiet apstāšanās laiku. Ievadiet stundas, minūtes un sekundes: 8 12 15 Laika starpība: 13:34:55 - 8:12:15 = 5:22:40

Šajā programmā lietotājam tiek lūgts ievadīt divus laika periodus, un šie divi periodi tiek saglabāti struktūras mainīgajos attiecīgi startTime un stopTime.

Pēc tam funkcija differenceBetweenTimePeriod()aprēķina starpību starp laika periodiem. Rezultāts tiek parādīts no main()funkcijas, neatgriežot to (izmantojot zvanu ar atsauces tehniku).

Interesanti raksti...