CALCOLO DEL SALARIO
Sviluppate un programma per calcolare lo stipendio lordo di ciascuno dei diversi impiegati. L'azienda paga quanto previsto all'ora per "l'orario lavorativo normale" per le prime 40 ore di lavoro e paga "una volta e mezza" per tutte le ore di lavoro oltre le 40 ore. Vi viene data una lista degli impiegati dell'azienda, il numero di ore in cui l'impiegato ha lavorato l'ultima settimana e la paga oraria di ogni impiegato. Il vostro programma deve leggere queste informazioni per ogni impiegato e determinare e stampare lo stipendio lordo.
Ho svolto un pò diversamente questo esercizio come dice nell'intestazione di OUTPUT, cioè:
CALCOLO DEL SALARIO IN 6 DIFFERENTI PAESI DELLA COMUNITA' EUROPEA
ITALIA
DANIMARCA
IRLANDA
LUSSEMBURGO
NORVEGIA
SVIZZERA
Fonti:
http://www.pmi.i
Stipendi lavoro dipendente
La retribuzione media oraria in Italia è sotto la media europea (UE a 17: 15,22 euro; UE a 27: 14,02 euro). Secondo il rapporto ISTAT, il dato lordo su base annua – per lavoratori dipendenti nelle imprese con almeno 10 addetti – è pari a 16,2 euro.
Fra le economie UE, la Penisola si colloca al 12esimo posto. Il confronto europeo è misurato attraverso dati armonizzati di ottobre 2010 (retribuzione oraria italiana di 14,48 euro). I più pagati sono risultati i dipendenti in Danimarca (27,09 euro) seguiti da Irlanda (22,23 euro) e Lussemburgo (21,95 euro). La paga più elevata è quella in Norvegia (27,37 euro e Svizzera (oltre 25 euro).
OUTPUT:
http://prntscr.com/fbo7z
CODICE SORGENTE:
#include <stdio.h>
int main( void )
{
puts( "QUESTO E' UN PROGRAMMA PER IL CALCOLO DEL SALARIO IN 6 DIFFERENTI PAESI DELLA COMUNITA' EUROPEA\n" );
puts( "I paesi di riferimento sono:\nITALIA\nDANIMARCA\nIRLANDA\nLUSSEMBURGO\nNORVEGIA\nSVIZZERA\n" );
float pagaPerOraItalia = 14.48;
float pagaPerOraDanimarca = 27.09;
float pagaPerOraIrlanda = 22.23;
float pagaPerOraLussemburgo = 21.95;
float pagaPerOraNorvegia = 27.37;
float pagaPerOraSvizzera = 25;
float straPagaPerOraItalia = pagaPerOraItalia + pagaPerOraItalia / 2;
float straPagaPerOraDanimarca = pagaPerOraDanimarca + pagaPerOraDanimarca / 2;
float straPagaPerOraIrlanda = pagaPerOraIrlanda + pagaPerOraIrlanda / 2;
float straPagaPerOraLussemburgo = pagaPerOraLussemburgo + pagaPerOraLussemburgo / 2;
float straPagaPerOraNorvegia = pagaPerOraNorvegia + pagaPerOraNorvegia / 2;
float straPagaPerOraSvizzera = pagaPerOraSvizzera + pagaPerOraSvizzera / 2;
int impiegato;
float numOreSett;
float totPagaOrariaItaliano;
float totPagaOrariaDanese;
float totPagaOrariaIrlandese;
float totPagaOrariaLussemburghese;
float totPagaOrariaNorvegese;
float totPagaOrariaSvizzero;
int numero = 1;
int counterItalia = 0;
int counterDanimarca = 0;
int counterIrlanda = 0;
int counterLussemburgo = 0;
int counterNorvegia = 0;
int counterSvizzera = 0;
int totOre = 0;
printf( "Inserire il numero di ore di lavoro nella %d^ settimana\n(-1 per terminare)\n", numero );
scanf( "%f", &numOreSett );
numero = numero + 1;
while ( numOreSett != -1 ) {
if ( numOreSett <= 40 ) {
totPagaOrariaItaliano = pagaPerOraItalia * numOreSett;
totPagaOrariaDanese = pagaPerOraDanimarca * numOreSett;
totPagaOrariaIrlandese = pagaPerOraIrlanda * numOreSett;
totPagaOrariaLussemburghese = pagaPerOraLussemburgo * numOreSett;
totPagaOrariaNorvegese = pagaPerOraNorvegia * numOreSett;
totPagaOrariaSvizzero = pagaPerOraSvizzera * numOreSett;
counterItalia = counterItalia + totPagaOrariaItaliano;
counterDanimarca = counterDanimarca + totPagaOrariaDanese;
counterIrlanda = counterIrlanda + totPagaOrariaIrlandese;
counterLussemburgo = counterLussemburgo + totPagaOrariaLussemburghese;
counterNorvegia = counterNorvegia + totPagaOrariaNorvegese;
counterSvizzera = counterSvizzera + totPagaOrariaSvizzero;
puts( "" );
printf( "Si riportano i salari lordi che si sarebbero percepiti nei 6 paesi dell'U.E. aggiornati al 2010 per %.2f ore di lavoro\n\nITALIA\t\t%.3f euro\nDANIMARCA\t%.3f euro\nIRLANDA\t\t%.3f euro\nLUSSEMBURGO\t%.3f euro\nNORVEGIA\t%.3f euro\nSVIZZERA\t%.3f euro\n\n", numOreSett, totPagaOrariaItaliano, totPagaOrariaDanese, totPagaOrariaIrlandese, totPagaOrariaLussemburghese, totPagaOrariaNorvegese, totPagaOrariaSvizzero );
}
else {
totPagaOrariaItaliano = pagaPerOraItalia * 40 + straPagaPerOraItalia * (numOreSett -40 );
totPagaOrariaDanese = pagaPerOraDanimarca * 40 + straPagaPerOraDanimarca * (numOreSett -40 );
totPagaOrariaIrlandese = pagaPerOraIrlanda * 40 + straPagaPerOraIrlanda * (numOreSett -40 );
totPagaOrariaLussemburghese = pagaPerOraLussemburgo * 40 + straPagaPerOraLussemburgo * (numOreSett -40 );
totPagaOrariaNorvegese = pagaPerOraNorvegia * 40+ straPagaPerOraNorvegia * (numOreSett -40 );
totPagaOrariaSvizzero = pagaPerOraSvizzera * 40 + straPagaPerOraSvizzera * (numOreSett -40 );
counterItalia = counterItalia + totPagaOrariaItaliano;
counterDanimarca = counterDanimarca + totPagaOrariaDanese;
counterIrlanda = counterIrlanda + totPagaOrariaIrlandese;
counterLussemburgo = counterLussemburgo + totPagaOrariaLussemburghese;
counterNorvegia = counterNorvegia + totPagaOrariaNorvegese;
counterSvizzera = counterSvizzera + totPagaOrariaSvizzero;
puts( "" );
printf( "Si riportano i salari lordi che si sarebbero percepiti nei 6 paesi dell'U.E. aggiornati al 2010 per %.2f ore di lavoro\n\nITALIA\t\t%.3f euro\nDANIMARCA\t%.3f euro\nIRLANDA\t\t%.3f euro\nLUSSEMBURGO\t%.3f euro\nNORVEGIA\t%.3f euro\nSVIZZERA\t%.3f euro\n\n", numOreSett, totPagaOrariaItaliano, totPagaOrariaDanese, totPagaOrariaIrlandese, totPagaOrariaLussemburghese, totPagaOrariaNorvegese, totPagaOrariaSvizzero );
}
totOre = totOre + numOreSett;
printf( "Inserire il numero di ore di lavoro nella %d^ settimana\n(-1 per terminare)\n", numero );
scanf( "%f", &numOreSett );
numero = numero + 1;
}
float totItalia = counterItalia;
float totDanimarca = counterDanimarca;
float totIrlanda = counterIrlanda;
float totLussemburgo = counterLussemburgo;
float totNorvegia = counterNorvegia;
float totSvizzera = counterSvizzera;
puts( "" );
printf( "Il salario lordo totale per le %d ore di lavoro è:\n\nITALIA\t\t%.3f euro\nDANIMARCA\t%.3f euro\nIRLANDA\t\t%.3f euro\nLUSSEMBURGO\t%.3f euro\nNORVEGIA\t%.3f euro\nSVIZZERA\t%.3f euro\n", totOre, totItalia, totDanimarca, totIrlanda, totLussemburgo, totNorvegia, totSvizzera );
}
Grazie, ciao.