Concetti Chiave

  • Il programma utilizza una struttura chiamata "orario" per rappresentare ore, minuti e secondi.
  • Viene implementata una funzione per validare se l'orario inserito è valido.
  • Il programma richiede due orari di lavoro all'utente e li valida prima di procedere.
  • Calcola la differenza tra i due orari forniti e determina il guadagno basato sul tempo lavorato.
  • Il valore del guadagno è calcolato moltiplicando le ore per 40 e aggiungendo il contributo dei minuti.

#include

struct orario{

int ore;

int minuti;

int secondi;

};

Validazione dell'orario

int orarioValido(struct orario p1);

struct orario differenzaOrari(struct orario p1,struct orario p2);

int main()

{

struct orario p1,p2;

int valido=0,valido2=0;

do

{

printf("Digita l'ora di lavoro: \n");

scanf("%d",&p1.ore);

fflush(stdin);

printf("Digita i minuti di lavoro: \n");

scanf("%d",&p1.minuti);

fflush(stdin);

printf("Digita i secondi di lavoro: \n");

scanf("%d",&p1.secondi);

fflush(stdin);

valido=orarioValido(p1);

if(valido==0)

printf("L'orario non e' valido\n");

}while(valido==0);

do

{

printf("\nDigita l'ora di lavoro: \n");

scanf("%d",&p2.ore);

fflush(stdin);

printf("Digita i minuti di lavoro: \n");

scanf("%d",&p2.minuti);

fflush(stdin);

printf("Digita i secondi di lavoro: \n");

scanf("%d",&p2.secondi);

fflush(stdin);

valido2=orarioValido(p2);

if(valido2==0)

printf("L'orario non e' valido");

}while(valido2==0);

p1=differenzaOrari(p1,p2);

printf("Il guadagno e' : %d",p1.ore*40+(p1.minuti*40)/60);

getchar();

return 0;

}

int orarioValido(struct orario p1)

{

if((p1.ore

return 1;

else

return 0;

}

struct orario differenzaOrari(struct orario p1,struct orario p2)

{

p1.ore=p2.ore-p1.ore;

p1.minuti=p2.minuti-p1.minuti;

p1.secondi=p2.secondi-p1.secondi;

return p1;

}

Domande da interrogazione

  1. Qual è il processo per inserire un orario di lavoro valido?
  2. L'utente deve inserire ore, minuti e secondi, e il programma verifica la validità dell'orario tramite la funzione `orarioValido`. Se l'orario non è valido, viene richiesto di reinserirlo.

  3. Come viene calcolato il guadagno basato sull'orario di lavoro?
  4. Il guadagno è calcolato moltiplicando le ore lavorate per 40 e aggiungendo il valore dei minuti convertiti in ore (minuti * 40 / 60), come indicato nel codice.

  5. Cosa succede se l'orario inserito non è valido?
  6. Se l'orario non è valido, il programma stampa un messaggio di errore e richiede all'utente di reinserire l'orario fino a quando non viene fornito un valore valido.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community