"Si vuole gestire un insieme di dipendenti di un’azienda identificati da un codice. Di ogni dipendente interessa lo stipendio e il mese e l’anno di assunzione all’interno dell’azienda. Si scriva una procedura che aumenti lo stipendio di tutti i dipendenti assunti prima del 5/2000 di una certa percentuale passata come parametro alla funzione.
Si testi la funzione scrivendo un main che legga i dati di 2 dipendenti e la percentuale dell’aumento e chiamando la funzione cambi gli stipendi dei dipendenti assunti prima del maggio del 2000. Nel main si stampi infine il codice e lo stipendio dei dipendenti che guadagnano piu’ di 1200 euro."
Io ho provato a scrivere questo ma il programma non va
- Codice:
#include <stdio.h>
struct dipendente{
int codice;
int mese;
int anno;
float stipendio;
};
typedef struct dipendente Dipendente;
void aumento(Dipendente *p,int percentuale){
int incremento;
incremento=(p->stipendio)*percentuale/100;
if(((p->mese)<5) && ((p->anno)<2000)) p->stipendio=p->stipendio+incremento;
}
int main() {
Dipendente DIP,*p;
p=&DIP;
int percentuale;
int i=0;
while(i<2) {
scanf("%d",&(DIP.codice));
scanf("%d",&(DIP.mese));
scanf("%d",&(DIP.anno));
scanf("%f",&(DIP.stipendio));
i++;
}
scanf("%d",&percentuale);
for (i=0; i<2; i++) {
aumento(p,percentuale);
if(DIP.stipendio>1200) printf("%d %f\n",DIP.codice,DIP.stipendio);
}
return 0;
}