Concetti Chiave
- Il programma calcola la paga lorda degli impiegati in base alle ore lavorate e al salario orario di base.
- Per le prime 40 ore, il salario è calcolato con il salario orario di base, mentre per le ore aggiuntive è pagato 1.5 volte il salario di base.
- Il processo di sviluppo utilizza un approccio top-down, iniziando dal calcolo della paga per ogni impiegato.
- Il programma richiede il numero di ore lavorate e il salario base per ogni impiegato, continuando fino a quando non viene inserito -1.
- Le informazioni sono gestite tramite un ciclo che calcola e visualizza il salario per ogni dipendente in base alle ore lavorate.
/*
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
* se ore_lavoro è minore o uguale 40:
* salario = ore_lavoro
* paga_base
* altrimenti
* ore_extra = ore_lavoro - 40
* salario = (ore_extra
* 1.5 + 40)
* 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;
// Richiedere il numero di ore lavorate
printf("\nEnter # of hours worked (-1 to end): ");
scanf("%d", &ore_lavoro);
// Continuare fino a quando l'utente inserisce -1
while (ore_lavoro != -1) {
// Richiedere il salario base dell'impiegato
printf("Enter hourly rate of the worker ($00.00): ");
scanf("%f", &paga_base);
// Calcolare il salario in base alle ore lavorate
if (ore_lavoro
salario = ore_lavoro * paga_base; // Salario standard per 40 ore o meno
} else {
ore_extra = ore_lavoro - 40; // Calcolare le ore extra
salario = (ore_extra * 1.5 + 40) * paga_base; // Salario per le ore extra
}
// Visualizzare il salario
printf("Salary is $%.2f\n", salario);
// Richiedere di nuovo il numero di ore lavorate
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 di un impiegato, è necessario fornire il salario orario di base e il numero di ore lavorate, come descritto nel testo.