nikpez di nikpez
Ominide 738 punti

Calcolo di una paga di un dipendente

#include<stdio.h>

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<=23)&&(p1.minuti<=59)&&(p1.secondi<=59))
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;
}

Registrati via email