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.

Riprendiamo innanzitutto un esercizio che abbiamo già realizzato in questo tutorial:
https://www.codingcreativo.it/esercizio-con-if-else-in-c/
.

Riportiamo dunque il testo:

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.

C base

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.

Alcuni link utili:

Indice argomenti linguaggio C++

1- Introduzione al linguaggio C++

Copertina: 50 Algoritmi per imparare C++
📚 Consigliato per te

50 Algoritmi per imparare C++

Struttura dati, puntatori e algoritmi classici in C++, passo passo.

Vedi su Amazon

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++

Alcuni tutorial in C

Somma elementi diagonale principale di una matrice

Sommare elementi della cornice esterna di una matrice in C

Somma di due matrici in C

Sommare dei numeri di una matrice in C

Prodotto tra matrici in C

Come ricercare gli elementi in una matrice in C

Inserire dati in una matrice in C

Tavola pitagorica in C

🐍

Vuoi imparare Python da zero?

Scarica la guida gratuita Python in 10 giorni: 10 lezioni pratiche con esempi ed esercizi, direttamente nella tua email.

📥 Scarica gratis il PDF →