DarkGiorgio
DarkGiorgio - Sapiens - 434 Punti
Salva
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)
Max 2433/BO
Max 2433/BO - Genius - 15502 Punti
Salva
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
DarkGiorgio
DarkGiorgio - Sapiens - 434 Punti
Salva
Max grazie di tutto,davvero gentile!!
Max 2433/BO
Max 2433/BO - Genius - 15502 Punti
Salva
... di nulla figurati, mi spiace solo di non conoscere il linguaggio da te richiesto e quindi di non poter fare di più.

:hi

Massimiliano
Questo topic è bloccato, non sono ammesse altre risposte.
Come guadagno Punti nel Forum? Leggi la guida completa
In evidenza
Classifica Mensile
Vincitori di novembre
Vincitori di novembre

Come partecipare? | Classifica Community

Community Live

Partecipa alla Community e scala la classifica

Vai al Forum | Invia appunti | Vai alla classifica

mc2

mc2 Genius 341 Punti

Comm. Leader
ifabio

ifabio Admin 1334 Punti

VIP
Registrati via email