English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Manuale completo di programmazione C
In questo esempio, imparerai a calcolare la differenza tra due periodi di tempo utilizzando funzioni definite dall'utente.
Per comprendere questo esempio, dovresti conoscere il seguenteProgrammazione in CArgomento:
#include <stdio.h> 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("Inserisci l'ora di inizio. \n"); printf("Inserisci ora, minuti e secondi: "); scanf("%d %d %d", &startTime.hours, &startTime.minutes, &startTime.seconds); printf("Inserisci l'ora di arresto. \n"); printf("Inserisci ore, minuti e secondi: "); scanf("%d %d %d", &stopTime.hours, &stopTime.minutes, &stopTime.seconds); //Differenza tra ora di inizio e ora di arresto differenceBetweenTimePeriod(startTime, stopTime, &diff); printf("\nFuso orario: %d:%d:%d - ", startTime.hours, startTime.minutes, startTime.seconds); printf("%d:%d:%d ", stopTime.hours, stopTime.minutes, stopTime.seconds); printf("= %d:%d:%d\n", diff.hours, diff.minutes, diff.seconds); return 0; } //Calcolo della differenza tra periodi di tempo 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; }
Risultato di output
Inserisci l'ora di inizio. Inserisci ore, minuti e secondi: 12 34 55 Inserisci l'ora di arresto. Inserisci ore, minuti e secondi: 8 12 15 Fuso orario: 12:34:55 - 8:12:15 = 4:22:40
In questo programma, l'utente viene richiesto di inserire due periodi di tempo e questi periodi vengono memorizzati rispettivamente nei variabili di struttura startTime e stopTime.
Poi, la funzione differenceBetweenTimePeriod() calcola la differenza tra i periodi di tempo. Mostra i risultati dalla funzione main() senza restituirli (usandoRichiamo di riferimentoTecnologia).