Esercizi SWITCH-CASE

Scritto da ambrix on . Postato in Corsi Programmazione

/* Esercizi di base in C++ sul Costrutto di Selezione Multipla SWITCH – CASE */

1. Un onda marina anomala dimezza la propria altezza ogni chilometro percorso e scompare raggiungendo un’altezza pari a zero quando l’altezza scende al di sotto del metro. Con l’utilizzo dello Switch realizzare un unico programma con le seguenti caratteristiche:

  1. Progettare un algoritmo che calcoli, a partire dai valori dell’ altezza iniziale h  e dal numero di chilometri percorsi k, l’altezza raggiunta dall’onda.
  2. Modificare l’algoritmo precedente in modo che, a partire dalla sola altezza iniziale dell’onda h, determini il numero di chilometri necessario prima che essa scompaia.

// Onda Marina
/*****************************/
#include <iostream>
using namespace std;
int main() {
  float h, k, k1;
  int opt;
  cout<<"inserisci l'altezza dell'onda"<<endl;
  cin>>h;
  cout<<"se conosci il numero di km percorsi scegli 1, altrimenti scegli 2"<<endl;
  cin>>opt;
  switch(opt){
    case 1:{
    cout<<"inserisci il numero di km percorsi"<<endl;
    cin>>k1;
    k=k1;
      while(k>0){
      h=h*0.5;
      k=k-1;
      }
      cout<<"altezza raggiunta dopo "<<k1<<"km: "<<h<<"m"<<endl;
      } break;
    case 2:{
      k=0;
      while(h>1){
        h=h*0.5;
        k=k+1;
        }
        cout<<"onda azzerata dopo km: "<<k<<endl;
        } break;
  }
  return 0;
}

2. Calcolo del Segno Zodiacale

// Dati mese e giorno di nascita, calcola il segno zodiacale corrispondente


#include <iostream>   
#include "conio.h"
using namespace std;
int main(){
int mese, giorno, MaxGiorni;
while (mese!=0){	//Inserendo 0 il programma termina
  system ("cls");
  cout<<"\t\t\t\tOROSCOPO\n\n";
  cout<<"Inserire il mese di nascita (Premi 0 per uscire): ";
  cin>>mese;
  if (mese>-1 && mese<13){
    if (mese==0){                                                              
      cout<<"Programma terminato. Chiudere la finestra di applicazione.";     
    }
    else{
      if (mese==11 || mese==4 || mese==6 || mese==9){                         
        MaxGiorni=30;																			
      }                                                                       
      if (mese==2){                                                           
        MaxGiorni=29;																		
      }                                                                       
      if (mese==1 || mese==3 || mese==5 || mese==7 || mese==8 || mese==10 || mese==12) {
        MaxGiorni=31;
      }
      cout<<"Inserire il giorno di nascita: ";
      cin>>giorno;
      if (giorno<1 || giorno>MaxGiorni){													
        cout<<"Scelta non valida!\n";
      }
      else
      {
        switch(mese){                                                        
          case 1:                   //Gennaio                                        
            if (giorno<22){																
              cout<<"Il segno zodiacale dei nati in questa data è CAPRICORNO\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è ACQUARIO\n";
            }
          break;

          case 2:					//Febbraio
            if (giorno<20){
              cout<<"Il segno zodiacale dei nati in questa data è ACQUARIO\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è PESCI\n";
            }
          break;

          case 3:					//Marzo
            if (giorno<21){
              cout<<"Il segno zodiacale dei nati in questa data è PESCI\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è ARIETE\n";
            }
          break;

          case 4:					//Aprile
            if (giorno<21){
              cout<<"Il segno zodiacale dei nati in questa data è ARIETE\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è TORO\n";
            }
          break;

          case 5:					//Maggio
            if (giorno<22){
              cout<<"Il segno zodiacale dei nati in questa data è TORO\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è GEMELLI\n";
            }
          break;

          case 6:					//Giugno
            if (giorno<22){
              cout<<"Il segno zodiacale dei nati in questa data è GEMELLI\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è CANCRO\n";
            }
          break;

          case 7:					//Luglio
            if (giorno<23){
              cout<<"Il segno zodiacale dei nati in questa data è CANCRO\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è LEONE\n";
            }
          break;

          case 8:					//Agosto
            if (giorno<23){
              cout<<"Il segno zodiacale dei nati in questa data è LEONE\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è VERGINE\n";
            }
          break;

          case 9:					//Settembre
            if (giorno<23){
              cout<<"Il segno zodiacale dei nati in questa data è VERGINE\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è BILANCIA\n";
            }
          break;

          case 10:				//Ottobre
            if (giorno<23){
              cout<<"Il segno zodiacale dei nati in questa data è BILANCIA\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è SCORPIONE\n";
            }
          break;

          case 11:				//Novembre
            if (giorno<22){
              cout<<"Il segno zodiacale dei nati in questa data è SCORPIONE\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è SAGITTARIO\n";
            }
          break;

          case 12:			//Dicembre
            if (giorno<22){
              cout<<"Il segno zodiacale dei nati in questa data è SAGITTARIO\n";
            }
            else{
              cout<<"Il segno zodiacale dei nati in questa data è CAPRICORNO\n";
            }
          break;
        }
      }
      cout<<"\nPremi un tasto per continuare...";
      getch();                                                          		 
    }                                                                           
  }
}

// [Esercizi testati con Dev-C++ in Ambiente Windows e con Code::Blocks in ambiente Linux (Ubuntu)]

Ritorna all’Elenco Esercizi

Per Richieste, Avvisi e Lasciti Eriditari

Navigatore

Disclaimer

I contenuti di questo Blog (testi, immagini, foto, etc.) sono di mia creazione, tranne nei casi dove espressamente indicato.