Analizziamo un esempio con gli operatori logici in C++, al fine di comprendere meglio il funzionamento di detti operatori. Nel precedente tutorial ne abbiamo dato la definizione e visto l'ordine di precedenza.
Su una linea ferroviaria, rispetto alla tariffa piena, i pensionati usufruiscono di uno sconto del 10%, gli studenti del 15% e infine i disoccupati del 25%. Quindi, codificando i pensionati con una P, gli studenti con una S e i disoccupati con una D, scrivere un programma che, rischiesto il costo di un biglietto e l’eventuale condizione dell’utente, visualizzi l’importo da pagare.
Fondamenti solidi di programmazione
Impara le basi della programmazione in C in modo semplice, pratico ed efficace. Variabili, cicli, funzioni, logica e algoritmi.
⏱️9 ore di corso registrato
🧩Più di 50 algoritmi risolti passo passo
🎯Livello base
💻100% online, fruibile quando vuoi
Modifichiamo l'esercizio in modo tale che, sia inserendo le lettere minuscole sia le maiuscole, il programma funzioni ugualmente.
Basterà allora trasformare gli if in questo modo:
if (categoria == 'P' || categoria == 'p' )
Cioè se categoria = 'P' oppure categoria = 'p'.
E così tutti gli altri.
Il resto del programma rimane chiaramente invariato.
Allego il listato completo dell'esempio con gli operatori logici in C++.
#include <iostream>
using namespace std;
int main() {
char categoria;
float costo;
cout << "Inserisci la categoria:\n"
<< "(P = pensionati, S = studenti, D = disoccupati): ";
cin >> categoria;
cout << "Prezzo biglietto: ";
cin >> costo;
// Verifica della categoria con operatori logici
if (categoria == 'P' || categoria == 'p') {
costo *= 0.9; // sconto 10%
} else if (categoria == 'S' || categoria == 's') {
costo *= 0.85; // sconto 15%
} else if (categoria == 'D' || categoria == 'd') {
costo *= 0.75; // sconto 25%
} else {
cout << "La categoria inserita non ha sconti." << endl;
}
cout << "Pagherai: " << costo << " euro" << endl;
return 0;
}
In alternativa si poteva utilizzare la funzione toupper().
#include <iostream>
using namespace std;
int main() {
char categoria;
float costo;
cout << "Inserisci la categoria:\n"
<< "(P = pensionati, S = studenti, D = disoccupati): ";
cin >> categoria;
cout << "Prezzo biglietto: ";
cin >> costo;
// Convertiamo in maiuscolo per semplificare i confronti
categoria = toupper(categoria);
if (categoria == 'P') {
costo *= 0.9; // sconto 10%
} else if (categoria == 'S') {
costo *= 0.85; // sconto 15%
} else if (categoria == 'D') {
costo *= 0.75; // sconto 25%
} else {
cout << "La categoria inserita non ha sconti." << endl;
}
cout << "Pagherai: " << costo << " euro" << endl;
return 0;
}
Chiaramente questo è solo un semplice esempio con gli operatori logici in C++. Nel prossimo tutorial proporrò degli altri esempi in modo da esercitarci ulteriormente.
Un'email ogni tanto con i nuovi articoli e le guide — niente spam, ti disiscrivi quando vuoi.
🍪 Questo sito usa i cookie
Utilizziamo cookie tecnici necessari al funzionamento e, previo tuo consenso, cookie
analitici e di terze parti per migliorare l'esperienza di navigazione.
Leggi la Cookie Policy e la
Privacy Policy.