Esercizi con switch case in C++

Proponiamo degli esercizi con l’istruzione switch case in C++, al fine di assimilare bene il funzionamento di questo costrutto.

Ricordiamo che il costrutto switch consente una selezione a più vie, cioè una selezione multipla.

Esercizio 1 con switch case in C++

Uno degli esercizi con switch case in C++ che vi voglio proporre è quello già spiegato in questo tutorial:

https://www.codingcreativo.it/esercizio-con-if-else-in-c/

ma affrontato utilizzando gli if…else.

Svolgiamolo adesso utilizzando l’istruzione switch case.

Dunque riportiamo il testo dell’esercizio per comodità.

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%.
Allora, codificando i pensionati con una P, gli studenti con una S e i disoccupati con una D, scrivere un programma che, richiesto il costo di un biglietto e l’eventuale condizione dell’utente, visualizzi l’importo da pagare.

Innanzitutto dichiaro due variabili, una di tipo char per la categoria e una di tipo float che contiene il prezzo del biglietto.

Dopo valuto categoria, se è uguale a P, eseguo quello che c’è dopo i due punti, altrimenti valuto se categoria è uguale ad S, e così via.

N.B. Ho scritto la notazione abbreviata costo*=0.9.

Potevamo anche utilizzare costo-=costo*0.1;

O in forma più ‘rudimentale’ costo=costo-costo*0.1.

Allego quindi il listato completo dell’esercizio sviluppato con switch case in C++.

#include<iostream>
using namespace std;

int main(){	
	char categoria;
	float costo;
	
	cout<<"Inserisci la categoria:\ncategoria P = pensionati, S = studenti, D = disoccupati):\t ";
	cin>>categoria ;
	cout<<"prezzo biglietto:\t ";
	cin>>costo;
	
	switch (categoria) {
		case 'P': costo*=0.9;
		break;
		case 'S': costo*=0.85;
		break;
		case 'D': costo*=0.75;
		break;
		default: cout <<"paghi il prezzo intero"<<endl;	
	}
	
	cout<< "Pagherai : \t"<<costo<<endl;
	return 0;
}

Esercizio 2

Il secondo degli esercizi con switch case in C++ che voglio proporvi è molto semplice.

Realizzare un programma, utilizzando lo switch case, che legga in input un voto rappresentato da un carattere tra A ed E e ne stampi il significato.

Ad esempio:

A significa ottimo;

B significa distinto;

C significa discreto;

D significa sufficiente;

E significa insufficiente.

Ecco quindi il listato completo dell’esercizio proposto.

#include <iostream>
using namespace std;

int main () { 
	char voto;
	string significato;
	cout <<"Qual e' il voto (A, B, C, D o E)?"<<endl;
	cin >> voto;
	int errore=0;

	switch (voto) {
		case 'A': significato="ottimo";
		break;
		case 'B': significato="distinto";
		break;
		case 'C': significato="discreto";
		break;
		case 'D': significato="sufficiente";
		break;
		case 'E': significato="insufficiente";
		break;
		default: cout<<"Errore! Voto sbagliato! Rifare!"<<endl;
		errore=1;
	}
	if (errore==0)
	     cout<<"Il voto '"<<voto<<"' significa \t"<<significato<<"."<<endl;
	return 0;
	}

Chiaramente questi sono solo dei semplicissimi esercizi con switch case in C++.

Alcuni link utili:

Indice argomenti linguaggio C++

1- Introduzione al linguaggio C++

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++



Autore dell'articolo: Cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *