Programma in dev c

di il
5 risposte

Programma in dev c

Chiedo umilmente aiuto, non riesco a fare un programma in c. La traccia è questa: A causa della crisi un'azienda decide di tagliare gli stipendi dei propri dipendenti. Il Nuovo stipendio ridotto deve essere calcolato con il seguente criterio: gli stipendi superiori o uguali a 5000 euro vengono ridotti o mantenuti a 5000 euro; gli stipendi inferiori a 5000 euro vengono ridotti del 12% se il dipendete ha meno di 10 anni di servizio, dell'8% se il dipendente ha da 10 (compreso) a 30 anni di servizio, dell'4% se ha 30 o più anni di servizio. Realizzare un programma che, conoscendo stipendio e anzianità di servizio, calcoli il nuovo stipendio.

5 Risposte

  • Re: Programma in dev c

    Non si chiede il codice pronto degli esercizi. Prova tu e se ne parla...
  • Re: Programma in dev c

    Te la puoi cavare con una serie di "if". Prova a farti uno schemino sintetico delle condizioni, su un foglietto, POI passa al codice.
  • Re: Programma in dev c

    Se >= 5000 euro portati a 5000 euro (fisso)
    
    se < 5000 euro ridotti del...
        ...12% se < 10 anni
        ... 8% se >= 10 o < 30 anni
        ... 4% se >= 30 anni
    Ad esempio puoi impostare dei limiti fissi con dei #define, tipo...

    MAX_STIPENDIO (nel testo è 5000)
    LIMITE_SERVIZIO_1 e LIMITE_SERVIZIO_2 (nel testo sono 10 e 30)
    ALIQUOTA_1, ALIQUOTA_2 e ALIQUOTA_3 (nel testo sono 12%, 8% e 4%)

    Poi imposti una variabile "stipendio" di tipo float o double alla quale verrà assegnato il valore prima della riduzione e, dopo il calcolo, quello ridotto.

    Ti serve anche un'altra variabile, diciamo "servizio" (che probabilmente basta sia un intero), nella quale immagazzinare la durata del servizio.
    se stipendio < MAX_STIPENDIO
        se servizio < LIMITE_SERVIZIO_1
            stipendio = stipendio - (0.01*ALIQUOTA_1*stipendio)
        altrimenti se servizio >= LIMITE_SERVIZIO_2
            stipendio = stipendio - (0.01*ALIQUOTA_3*stipendio)
        altrimenti
            stipendio = stipendio - (0.01*ALIQUOTA_2*stipendio)
    altrimenti
        stipendio = MAX_STIPENDIO
    Volendo, potresti procurarti anche una terza variabile float o double, diciamo "aliquota", e usare quella come tramite per scrivere la formula del calcolo in un posto solo, tipo...
    se stipendio < MAX_STIPENDIO
        se servizio < LIMITE_SERVIZIO_1
            aliquota = 0.01*ALIQUOTA_1
        altrimenti se servizio >= LIMITE_SERVIZIO_2
            aliquota = 0.01*ALIQUOTA_3
        altrimenti
            aliquota = 0.01*ALIQUOTA_2
    
        stipendio = stipendio - (aliquota*stipendio)
    altrimenti
        stipendio = MAX_STIPENDIO
  • Re: Programma in dev c

    oregon ha scritto:


    Non si chiede il codice pronto degli esercizi. Prova tu e se ne parla...

    hai dannatamente ragione, ero in momento di panico, ora usero questo forum solamente quando non capirò degli errori nei miei programmi
  • Re: Programma in dev c

    AldoBaldo ha scritto:


    Se >= 5000 euro portati a 5000 euro (fisso)
    
    se < 5000 euro ridotti del...
        ...12% se < 10 anni
        ... 8% se >= 10 o < 30 anni
        ... 4% se >= 30 anni
    Ad esempio puoi impostare dei limiti fissi con dei #define, tipo...

    MAX_STIPENDIO (nel testo è 5000)
    LIMITE_SERVIZIO_1 e LIMITE_SERVIZIO_2 (nel testo sono 10 e 30)
    ALIQUOTA_1, ALIQUOTA_2 e ALIQUOTA_3 (nel testo sono 12%, 8% e 4%)

    Poi imposti una variabile "stipendio" di tipo float o double alla quale verrà assegnato il valore prima della riduzione e, dopo il calcolo, quello ridotto.





    Ti serve anche un'altra variabile, diciamo "servizio" (che probabilmente basta sia un intero), nella quale immagazzinare la durata del servizio.
    se stipendio < MAX_STIPENDIO
        se servizio < LIMITE_SERVIZIO_1
            stipendio = stipendio - (0.01*ALIQUOTA_1*stipendio)
        altrimenti se servizio >= LIMITE_SERVIZIO_2
            stipendio = stipendio - (0.01*ALIQUOTA_3*stipendio)
        altrimenti
            stipendio = stipendio - (0.01*ALIQUOTA_2*stipendio)
    altrimenti
        stipendio = MAX_STIPENDIO
    Volendo, potresti procurarti anche una terza variabile float o double, diciamo "aliquota", e usare quella come tramite per scrivere la formula del calcolo in un posto solo, tipo...
    se stipendio < MAX_STIPENDIO
        se servizio < LIMITE_SERVIZIO_1
            aliquota = 0.01*ALIQUOTA_1
        altrimenti se servizio >= LIMITE_SERVIZIO_2
            aliquota = 0.01*ALIQUOTA_3
        altrimenti
            aliquota = 0.01*ALIQUOTA_2
    
        stipendio = stipendio - (aliquota*stipendio)
    altrimenti
        stipendio = MAX_STIPENDIO

    ti ringrazio Aldo
Devi accedere o registrarti per scrivere nel forum
5 risposte