Concetti Chiave
- The program calculates gross pay based on hours worked, with regular pay for up to 40 hours and overtime pay beyond that.
- Input required includes the employee's hourly rate and the number of hours worked in the last week.
- Overtime is paid at 1.5 times the base hourly rate for hours worked beyond 40.
- The program uses a top-down development approach with stepwise refinement to determine and display each employee's salary.
- The loop continues to process each employee’s data until the input for hours worked is -1, signaling the end of input.
/* * 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. * */ /* * 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 */ #includeint main(void) { int ore_lavoro, ore_extra; float salario, paga_base; printf("
Enter # of hours worked (-1 to end): "); scanf("%d", &ore_lavoro); while (ore_lavoro != -1) { printf("Enter hourly rate of the worker ([math]00.00): \text{); scanf(}%f\text{, &paga_base); if (ore_lavoro %.2f
", salario); printf("
Enter # of hours worked (-1 to end): "); scanf("%d", &ore_lavoro); } return (0); }
Domande da interrogazione
- Qual è lo scopo principale del programma descritto nel testo?
- Come viene calcolata la paga lorda se un impiegato lavora più di 40 ore?
- Quali input richiede il programma per calcolare la paga lorda?
Il programma è progettato per calcolare la paga lorda di ogni impiegato in base al numero di ore lavorate, considerando un salario orario di base e un pagamento maggiorato per le ore extra.
Se un impiegato lavora più di 40 ore, la paga lorda viene calcolata moltiplicando il salario di base per 40 ore e aggiungendo una volta e mezza il salario di base per ogni ora extra lavorata.
Il programma richiede come input il numero di ore lavorate e il salario orario di base di ogni impiegato per calcolare la paga lorda.