CURIOSITA'

Stato
Discussione chiusa ad ulteriori risposte.
K

Karkinos

Salve a tutti, sto ancora preso nei miei studi di c++. rocedo molto lentamente perchè vorrei memorizzare al meglio possibile tutto. Insomma, sto studiano per bene credo. Dopo aver imparato qualche nuova funzione, ne aumento la difficoltà e credo qualcosa di più grande cercando di sfruttare tutti gli argomenti precedenti per allenamento. Però, sorge un piccolo problemino ogni volta che vado ad aprire e chiudere troppi blocchi di codice nel programma. Adesso ho imparato solo le minime basi di (oltre alle intestazioni) cout, cin, if, for, blocchi di codice e operatori.
Dicevo, quando per esempio per un processo iniziale definisco tre foci "if" e in queste ne definisco per ognuna altre 3 (chiudendole pure naturalmente) il programma succede o che salta mezzo programma o che risolve solo il primo blocco di codice. Esempio:

if.... { //qua apro il blocco principale... esempio naturalmente)
....
uno = 2; //risultato del primo blocco principale
if(uno = 2) { //primo blocco secondario
if....
}
if(uno = 3) { //secondo blocco secondario
for....
}
if(uno = 4) { // terzo blocco secondario
cout....
} //
} // chiudo blocco primario
return...
.....
non mi vengono eseguiti come si vede nel caso la variabile "uno" cambiasse come previsto dagli if principali che contengono ognuno delle istruzioni diverse. Bah.... forse faccio troppo caos con questi blocchi?? Grazie a tutti cmq. Anche se non scrivo spesso, sono presente.
 
Scusatemi ma sui forum è facile che caschi in spiegazioni del genere. E' vero :) Guardate intanto vi ringrazio, posterò il codice sorgente (una stupidata eh! :) ) per vedere in cosa sbaglio. In poche parole cmq, quando utilizzo troppi blocchi di codice il programma li salta.... eppure credo di aver fatto tutto come si dovrebbe. Boh. Dico che in un blocco di codice che parte da IF ne inserisco altrettanti, sempre all'interno dello stesso blocco. Così creo praticamente 3 blocchi principali, con all'interno di ognuno altrettanti blocchi di codice. Ma il tutto sembra ingarbugliarsi e le istruzioni vengono saltate...
 
Scusate il ritardissimo ma riguardo a quel problema inspiegabile :) sono riuscito a trovare una soluzione. Visto che ho imparato da poco lo SWITCH... (saltando casualmente qualche pagina sul librone) per evitare molti sotto-blocchi di codice if/else lo sfruttato per l'operazione. Praticamente io per selezionare un opzione utilizzavo sempre l'if. Tipo
opzione 1
opzione 2
opzione 3
cin << a;
if(a = 1) {
.....
}
if(a = 2) {
....
}
ecc ecc.
per evitare sto gran macello ho usato semplicemente switch...
mistero svelato.
 
una domanda...
che centra uno switch invece di un if in programmazione basso livello ??????????
comunque:
lo switch serve proprio a quello,
e implementa un altra funzione, il default cioè se non è nessuna delle possibilità,
aspetta che ti faccio un esempio:
scusa se in java,,
Codice:
class switcH
{
       public static void main(String[] args)
       {
               InputStreamReader input = new InputStreamReader(System.in);
               BufferedReader inp = new BufferedReader(input);
               System.out.println("Scegli tra:\n\t1\n\t2\n\t3\n\t4\nScrivi la tua scelta: ");
               try
               {
                            String str = inp.readLine();
                            int k = Integer.parseInt(str);
                  }
                  catch(Exception e)
                  {
                          System.exit(0);
                   }
               int m;
               switch(k)
               {
                    case 1:
                               m = 1;
                                break;
                      case 2:
                                 m=2;
                                 break;
                       case 3:
                                  m=3;
                                  break;
                       case 4:
                                  m = 4;
                                  break;
                         default:
                                      m = 0;
                                       break;
           }
           System.out.println("Hai premuto " + m +" Esatto ? :D ");
}
 
Infatti alla fine era proprio quello ciò che mi serviva, fra non molto comunque arriverò con un programmino eh ;= procedo a buon passo, sempre più splendido non c'è che dire...
 
RagazzUoli salve a tutti. Sto procedendo nei miei studi e a quanto pare sto completando un mini mini programmino in cui sfrutto tutto ciò che ho imparato fin'ora, o almeno, quasi tutto. Praticamente però mi servirebbe sapere se è possibile rendere "dinamico" il programma in modo da modificare determinate stringhe semplicemente attraverso le richieste in output. Cioè vorrei cambiare una variabile che nel programma resta fissa in tutti i suoi utilizzi, attraverso il programma stesso.... non dallo script. Spero di essermi spiegato stavolta :) Grazie a tutti!

A proposito, la modifica deve poi restare permanente....
 
Stato
Discussione chiusa ad ulteriori risposte.