Concetti Chiave
- Il programma calcola la paga di un dipendente basandosi sull'orario di lavoro inserito dall'utente.
- Utilizza una struttura 'orario' per memorizzare ore, minuti e secondi lavorati.
- Include una funzione 'orarioValido' per verificare la validità degli orari inseriti dall'utente.
- La funzione 'differenzaOrari' calcola la differenza tra due orari inseriti per determinare il tempo di lavoro effettivo.
- Il guadagno è calcolato moltiplicando le ore per 40 e i minuti convertiti in frazioni di ora.
#include
struct orario{
int ore;
int minuti;
int secondi;
};
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;
}