If ed else errore logico

di il
21 risposte

21 Risposte - Pagina 2

  • Re: If ed else errore logico

    Mi sa che stai facendo un sacco di confusione. Replico l'ultima volta, poi mi taccio, perché ho capito che non è utile.

    Tu hai posto un problema che non sapevi risolvere con il titolo "If ed else errore logico". Dopo un po', hai affermato che il problema l'hai risolto con lo switch che non conoscevi. Ti ho detto (entendieme...) che il problema lo risolvevi prima e solo con le If, non c'era bisogno di switch.

    Se ti è chiaro, bene, riscrivi il tuo codice senza switch e con le If, altrimenti amici come prima.
  • Re: If ed else errore logico

     switch (controllovalore)
    
                {
                    case 0:
                        MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di " ) + (numgiorni) + (" per un totale di EURO ") + (   numgiorni*35));
                        break;
                    case 1:
                        MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 45));
                        break;
                    case 2:
                        MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 55));
                        break;
                    case 3:
                        MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 65));
                        break;
                    case 4:
                        MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 100));
                        break;
                    default:
                        MessageBox.Show("Errore" );
                        break;
    
                }
  • Re: If ed else errore logico

    Sterlok ha scritto:


     switch (controllovalore) [...]
    Al netto delle parentesi inutili che hai inserito nel codice, noterai che ogni ramo ripete un sacco di elementi, come la parte iniziale della stringa da visualizzare, oppure ancora la visualizzazione della stessa MessageBox().

    Devi usare if o switch per determinare (tramite il relativo calcolo) il prezzo del soggiorno in base alla selezione, e salvare il valore di quella espressione all'interno di una variabile apposita.

    Alla fine dello switch, userai quel valore calcolato per stampare una sola volta, e solo in quel punto, il messaggio con le parti comuni e sempre uguali assieme al prezzo totale che hai determinato in precedenza.
  • Re: If ed else errore logico

    Ti avevo suggerito di usare le If e non mi sono spiegato male. Non mi hai capito proprio. Va beh...
  • Re: If ed else errore logico

    Oregon, ero partito dall'if, il fine era poi di utilizzare lo switch, con l'if il problema lo avevo superato.... Non credo che una volta capito un concetto restate fermi li.... si va sempre oltre.... sai solo insultare!
  • Re: If ed else errore logico

    Sterlok, non ti agitare

    Avevi posto la domanda spiegando un problema e dicendo che volevi risolverlo con l'istruzione "if" ma non ti funzionava.
    Dato che il problema si poteva risolvere con la if, ti è stato detto dove stavi sbagliando, così da poter correggere il tuo codice

    Hai poi detto che hai risolto usando l'istruzione "switch". Come puoi notare, anche con quell'istruzione si può risolvere il medesimo problema, poichè l'istruzione switch è di fatto un costrutto comodo e più facile da leggere rispetto ad una moltitudine di "if-then-else".


    L'ultima segnalazione che ti è stata fatta riguarda la programmazione in generale: siccome le "if" sono fondamentali, sarebbe buona cosa impararle bene.

    Pertanto, anche se hai risolto con "switch", se davvero vuoi imparare a programmare, allora mettiti lì e risolvi il medesimo caso usando la if, altrimenti farai fatica in futuro a risolvere casi più complessi.


    Tutto qui!
    Se poi a te basta passare l'esame perchè della programmazione non ti interessa, allora va benissimo così
  • Re: If ed else errore logico

    Servito...
    if (controllovalore == 0)
                {
                    MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 35));
                }
                else if (controllovalore == 1)
                {
    
                    MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 45));
                }
                else if (controllovalore == 1)
                {
                    MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 55));
                }
    
                else if (controllovalore == 2)
                {
    
                    MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 55));
    
                }
                else if (controllovalore == 3)
                {
    
                    MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 65));
                }
                else if (controllovalore == 4)
                {
                    MessageBox.Show(("Il tuo soggiorno per l'attico esclusivo è di ") + (numgiorni) + (" per un totale di EURO ") + (numgiorni * 100));
                }
                else
                {
    
    
                    MessageBox.Show("Errore");
    
    
                }
Devi accedere o registrarti per scrivere nel forum
21 risposte