Ciao e Benvenuto. Ora che abbiamo terminato
le nostre lezioni sulle decisioni, sull'istruzione if e sull'istruzione switch,
voglio darvi un piccolo compito, una piccola sfida.
Quindi in questa sfida creerai un programma c che calcola la tua paga settimanale.
Questo programma dovrebbe chiedere all'utente di inserire il numero di ore lavorate in una settimana
tramite la tastiera.
Il programma dovrebbe visualizzare come output, la retribuzione lorda, le tasse e la retribuzione netta.
Quindi dovrebbero essere fatte le seguenti ipotesi di base.
La paga sarà di 12 dollari l'ora.
Lo straordinario è ogni volta che hai più di 40 ore, verrai pagato tempo e mezzo.
L'aliquota fiscale dipenderà da quanti soldi guadagnerai.
Per i primi 300 dollari che guadagni, sarà del 15%.
Per i secondi 150 dollari da 300 a 450, sarà del 20%.
E per qualsiasi cosa superiore a 450, ti
verrà fornita l'aliquota fiscale del 25%.
Quindi la prima cosa che dovresti notare è che dovrai scrivere molte decisioni.
E lo scopo di questo incarico è di familiarizzare con le istruzioni if else.
Quindi quello che mi aspetto per
questo incarico è che prima tu abbia bisogno di un'istruzione if else per
calcolare gli straordinari.
Quindi gli straordinari sono qualcosa che supera le
40 ore. Quindi dovrai vedere se ci sono gli straordinari. Dovrai dire se
il numero di ore inserite è maggiore di 40, allora verranno pagati 18 dollari l'ora.
Ora vuoi assicurarti che vengano pagati solo per le
ore dopo le 40.
Quindi, se inserisci 45 è il numero di ore
lavorate, verrai pagato 12 dollari l'ora per quelle prime 40 ore.
E poi per le altre 5 ore guadagnerai 18 dollari l'ora.
Quindi devi tenerlo a mente.
E poi con le aliquote fiscali, dovrai avere dichiarazioni if. Perché a seconda che
abbiano guadagnato più di 300 dollari o più di 450
dollari, avrai aliquote fiscali aggiuntive. Quindi, se l'utente ha inserito 45
e ciò significa che devi calcolare la retribuzione degli straordinari.
Quello che finirà per accadere per 45 ore, penso che approssimativamente la
paga sarà, diciamo, 12 dollari l'ora per
40 è 480.
E poi per quelle 5
ore extra, verrai pagato 18 dollari l'ora,
ovvero 90 dollari. Quindi 480 più 90 fa 570.
Quindi dovresti visualizzare per la retribuzione lorda 570, che sarebbe un esempio
eseguito, 570 dollari per
la retribuzione lorda. Ora le
tasse verranno calcolate in modo diverso per l'intero 570.
Quindi per i primi 300
che guadagni, avrai un'aliquota fiscale del 15%. Quindi vuoi tassare il 15% di 300.
E poi da 300 a 450, che sono 150 dollari, saranno
tassati al 20%, solo 150.
E poi se guadagni di più, tasserai l'aliquota
del 25%.
Quindi non confondere queste aliquote fiscali.
Le aliquote fiscali sono diverse per ogni importo che effettui, non per
il totale.
Quindi, se hai guadagnato 800 dollari, ciò non significa che hai pagato il 25% in tasse.
Significa che hai pagato 300 di quell'800
come 15%, 150 di
quell'800 come 20% e poi 350 dollari del restante 25%.
E questo ti costringerà a scrivere dichiarazioni if else.
Quindi volevo che fosse chiaro per quanto riguarda l'output e ciò che stiamo cercando.
Quindi ripassa questo. I requisiti sono piuttosto semplici.
Dovrai inserire qualcosa tramite la tastiera per un certo numero di ore.
La prima cosa che vuoi fare è organizzare il tuo programma.
Vuoi testare costantemente, vuoi usare nomi significativi.
E per le istruzioni if, vuoi indentare. Vuoi far rientrare tutti i tuoi blocchi in modo che sia più facile da leggere.
Avresti dovuto notare in tutte le mie lezioni, in tutti i miei esempi che stavo indentando il codice.
Prendi l'abitudine di indentare i blocchi e aggiungere nuove righe per la leggibilità.
Ma puoi raggruppare questo programma nell'aspetto della risoluzione dei problemi.
La prima cosa che farei è chiedere
all'utente di inserire il numero, testarlo e assicurarmi che funzioni.
La prossima cosa che farei è calcolare la paga lorda.
Quindi la retribuzione lorda includerebbe fondamentalmente solo il calcolo degli straordinari se è superiore a 40.
Quando ho finito con la paga lorda, lo testerei come un matto per assicurarmi che funzioni. Poi passerei alle tasse e
testerei le tasse.
E poi una volta che avrò finito con le
tasse, avrei calcolato la paga netta. La retribuzione netta sarà la
parte più semplice perché sarà solo la retribuzione lorda meno le tasse.
Ma spero che alla fine di questo esercizio diventerai abbastanza
esperto nelle affermazioni if. Almeno capirai le basi, capirai
il resto, capirai quando è necessario aggiungere parentesi e
capirai come rendere il tuo codice più leggibile indentando e usando buoni nomi
di variabili. Quindi buona fortuna. Grazie.