Concetti Chiave
- Il programma C calcola la paga lorda per ogni impiegato in base alle ore lavorate e al salario orario di base.
- Per le prime 40 ore, viene applicato il salario orario standard, mentre per le ore in eccesso si paga una volta e mezza il salario base.
- Il programma richiede l'input del numero di ore lavorate e del salario orario di base per ciascun impiegato, continuando fino a quando non viene inserito -1.
- La logica di calcolo si basa sul confronto tra le ore lavorate e le 40 ore standard per determinare il salario appropriato.
- Il programma visualizza il salario calcolato per ogni impiegato e termina quando l'input delle ore lavorate è pari a -1.
/*
Calcolo della paga lorda
* Sviluppate un programma C che determini la paga lorda per ognuno
* dei diversi impiegati. L'azienda, per le prime 40 ore lavorate da
* ogni impiegato, paga il "salario orario di base", mentre per tutte
* le ore lavorate in aggiunta alle 40, elargisce "una volta e mezza il
* salario di base". Vi sono stati forniti: una lista degli impiegati
* dell'azienda, il numero di ore lavorate da ogni impiegato nell'ultima
* settimana e il salario orario di base di ogni impiegato.
* Il vostro programma dovrà prendere in input, per ogni impiegato,
* le suddette informazioni e dovrà quindi determinare e visualizzare
* la paga lorda di ognuno di loro.
**/
/*
Processo di sviluppo
* SVILUPPO programma mediante processo top-down per raffinamenti
* successivi.
*
* Top: calcolare la paga lorda di ogni impiegato in base al numero
* di ore di lavoro.
*
* R1: richiedere il salario base dell'impiegato, e il numero di
* ore di lavoro. Se il numero di ore di lavoro è minore o
* uguale a 40, il salario è uguale a paga_base
* ore di lavoro,
* altrimenti, il salario è uguale alla paga_base
* 40 più una
* volta e mezza il salario base per ogni ora in più (extra);
* visualizzare il salario dell'impiegato.
*
* R2: richiedere ore_lavoro;
* finché ore_lavoro diverso -1:
* richiedere paga_base
* salario = ore_lavoro
* paga_base
* se ore_lavoro maggiore di 40
* ore_extra = ore_lavoro - 40
* salario = salario + ore_extra * 0.5 * paga_base
* visualizzare salario
* richiedere ore_lavoro
* fine programma
**/
Implementazione del programma
/* IMPLEMENTAZIONE */
#include
int main(void) {
int ore_lavoro, ore_extra;
float salario, paga_base;
printf("\nEnter # of hours worked (-1 to end): ");
scanf("%d", &ore_lavoro);
while (ore_lavoro != -1) {
printf("Enter hourly rate of the worker ($00.00): ");
scanf("%f", &paga_base);
salario = ore_lavoro * paga_base;
if (ore_lavoro > 40) {
ore_extra = ore_lavoro - 40;
salario = salario + ore_extra * 0.5 * paga_base;
}
printf("Salary is $%.2f\n", salario);
printf("\nEnter # of hours worked (-1 to end): ");
scanf("%d", &ore_lavoro);
}
return 0;
}
Domande da interrogazione
- Come viene calcolata la paga lorda per gli impiegati che lavorano più di 40 ore?
- Qual è il processo di sviluppo suggerito per il programma di calcolo della paga?
- Quali informazioni devono essere fornite per calcolare la paga lorda di un impiegato?
La paga lorda per gli impiegati che lavorano oltre 40 ore è calcolata come il salario base per le prime 40 ore, più una volta e mezza il salario base per ogni ora extra lavorata (come indicato nel testo).
Il processo di sviluppo suggerito è un approccio top-down, iniziando dal calcolo della paga lorda e raffinando il programma in successivi passaggi, come richiesto nel testo.
Per calcolare la paga lorda, è necessario fornire il salario orario di base e il numero di ore lavorate da ciascun impiegato, come descritto nel testo.