Esercizio algoritmo c++
Gli abbonamenti della metropolitana di Roma possono essere settimanali(S),mensili(M)o annuali(A)e valgono per la sola zona centrale (tipo 1)per la seconda zona periferica (tipo2)o per entrambe le zone(tipo 3).
I costi sono quelli indicati nella seguente tabella:
Tipo Settimanale Mensile Annuale
1 10€ 30€. 250€
2 5€ 20€ 150€
3 15€ 40€ 300€
Gli abbonamenti che non consentono di viaggiare nelle ore di punta (bassa priorità)hanno una riduzione del 20%.
progettare un algoritmo che calcola il costo dell'abbonamento a partire dalla durata,dal tipo e dalla priorità
Aiutatemi pls!! Possibilmente con lo svolgimento in linguaggio C++
Aggiunto 2 minuti più tardi:
10€
5€
15€
(settimanali)
30€
20€
40€
(mensili)
250€
150€
300€
(annuali)
I costi sono quelli indicati nella seguente tabella:
Tipo Settimanale Mensile Annuale
1 10€ 30€. 250€
2 5€ 20€ 150€
3 15€ 40€ 300€
Gli abbonamenti che non consentono di viaggiare nelle ore di punta (bassa priorità)hanno una riduzione del 20%.
progettare un algoritmo che calcola il costo dell'abbonamento a partire dalla durata,dal tipo e dalla priorità
Aiutatemi pls!! Possibilmente con lo svolgimento in linguaggio C++
Aggiunto 2 minuti più tardi:
10€
5€
15€
(settimanali)
30€
20€
40€
(mensili)
250€
150€
300€
(annuali)
Risposte
... di nulla figurati, mi spiace solo di non conoscere il linguaggio da te richiesto e quindi di non poter fare di più.
:hi
Massimiliano
:hi
Massimiliano
Max grazie di tutto,davvero gentile!!
Personalmente non conosco il c++ per cui ti posso fornire solo un algoritmo di massima che poi dovrai tradurre con le istruzioni proprie del c++.
Innanzi tutto stabilisci il tipo di variabili da usare:
definisci tre vettori unidimensionali per i costi dei diversi abbonamenti relativi alle tre fasce di servizio:
fascia_1 [10, 30, 250]
fascia_2 [5, 20, 150]
fascia_3 [15, 40, 300]
in questo modo saprai che, in ognuna di queste tre variabili, l'elemento di indice 0 rappresenta il costo dell'abbonamento settimanale, quello di indice 1 il costo dell'abbonamento mensile e quello di indice 2 il costo dell'abbonamento annuale.
imposta
selezione_fascia tipo intero
tariffa come tipo intero
tariffa_scontata come tipo float
durata come tipo intero
tipo come tipo carattere
indice come tipo intero
sconto come tipo carattere
A questo punto inizia con le richieste di input:
"Che fascia tariffaria si desidera (1, 2 o 3)" e memorizza il numero digitato nella variabile selezione_fascia
"Durata abbonamento: settimanale/mensile/annuale (s, m, a)" e memorizza il carattere digitato nella variabile tipo
"Abbonamento a bassa priorità (s/n)" e memorizza il carattere digitato nella variabile sconto
Ora imposta le seguenti istruzioni di selezione:
if (tipo == "s" ) indice = 0
if (tipo == "m" ) indice = 1
if (tipo == "a" ) indice = 2
in questo modo abbiamo impostato l'indice che ci servirà ad individuare il valore corretto all'interno dei tre vettori unidimensionali.
Adesso impostiamo altre istruzioni di selezione che ci determinerà il valore della tariffa:
if (selezione_fascia == 1) tariffa = fascia_1 [indice]
if (selezione_fascia == 2) tariffa = fascia_2 [indice]
if (selezione_fascia == 3) tariffa = fascia_3 [indice]
manca solo l'applicazione dell'eventuale sconto
if (sconto == "s" ) tariffa_scontata = tariffa - tariffa*0,2; stampa tariffa_scontata; fine
if (sconto == "n" ) stampa tariffa; fine
... spero che quanto scritto ti possa essere d'aiuto.
:hi
Massimiliano
Innanzi tutto stabilisci il tipo di variabili da usare:
definisci tre vettori unidimensionali per i costi dei diversi abbonamenti relativi alle tre fasce di servizio:
fascia_1 [10, 30, 250]
fascia_2 [5, 20, 150]
fascia_3 [15, 40, 300]
in questo modo saprai che, in ognuna di queste tre variabili, l'elemento di indice 0 rappresenta il costo dell'abbonamento settimanale, quello di indice 1 il costo dell'abbonamento mensile e quello di indice 2 il costo dell'abbonamento annuale.
imposta
selezione_fascia tipo intero
tariffa come tipo intero
tariffa_scontata come tipo float
durata come tipo intero
tipo come tipo carattere
indice come tipo intero
sconto come tipo carattere
A questo punto inizia con le richieste di input:
"Che fascia tariffaria si desidera (1, 2 o 3)" e memorizza il numero digitato nella variabile selezione_fascia
"Durata abbonamento: settimanale/mensile/annuale (s, m, a)" e memorizza il carattere digitato nella variabile tipo
"Abbonamento a bassa priorità (s/n)" e memorizza il carattere digitato nella variabile sconto
Ora imposta le seguenti istruzioni di selezione:
if (tipo == "s" ) indice = 0
if (tipo == "m" ) indice = 1
if (tipo == "a" ) indice = 2
in questo modo abbiamo impostato l'indice che ci servirà ad individuare il valore corretto all'interno dei tre vettori unidimensionali.
Adesso impostiamo altre istruzioni di selezione che ci determinerà il valore della tariffa:
if (selezione_fascia == 1) tariffa = fascia_1 [indice]
if (selezione_fascia == 2) tariffa = fascia_2 [indice]
if (selezione_fascia == 3) tariffa = fascia_3 [indice]
manca solo l'applicazione dell'eventuale sconto
if (sconto == "s" ) tariffa_scontata = tariffa - tariffa*0,2; stampa tariffa_scontata; fine
if (sconto == "n" ) stampa tariffa; fine
... spero che quanto scritto ti possa essere d'aiuto.
:hi
Massimiliano