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

  1. Come viene calcolata la paga lorda per gli impiegati che lavorano più di 40 ore?
  2. 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).

  3. Qual è il processo di sviluppo suggerito per il programma di calcolo della paga?
  4. 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.

  5. Quali informazioni devono essere fornite per calcolare la paga lorda di un impiegato?
  6. 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.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community