Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405

    [C] Problema con if...else

    Ciao, ho:
    codice:
    if (condizione che si verifica)
    {
      ----------------------
      ---istruzioni varie---
      ----------------------
    }
    else
    {
      ----------------------
      ---istruzioni varie---
      ----------------------
    }
    Bene,o anzi male, xkè ho il problema che nonstante la condizione dell'if si verifica, e quindi vengono eseguite le istruzioni sottostanti, vengono poi eseguite sempre nello stesso ciclo le istruzioni dell'else, cm'è possibile questo?

  2. #2
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    posta il codice completo dell' if-else senno è difficile capire...

    per programmare non basta conoscere la struttura if-else o la while, ma ci vuole anche la logica sottostante... e senza codice è difficile...





    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: [C] Problema con if...else

    Originariamente inviato da Linusss
    Ciao, ho:
    codice:
    if (condizione che si verifica)
    {
      ----------------------
      ---istruzioni varie---
      ----------------------
    }
    else
    {
      ----------------------
      ---istruzioni varie---
      ----------------------
    }
    Bene,o anzi male, xkè ho il problema che nonstante la condizione dell'if si verifica, e quindi vengono eseguite le istruzioni sottostanti, vengono poi eseguite sempre nello stesso ciclo le istruzioni dell'else, cm'è possibile questo?
    Capirai che la cosa e' impossibile (altrimenti non funzionerebbero correttamente tutti i programmi del mondo ...) e quindi hai commesso qualche errore o ti sfugge qualcosa ...

  4. #4
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Questa è la subroutine incriminata, ovviamente non da problemi di compilazione.

    codice:
    void muovi(short int x, short int y, char c, short int n, char k, short int m)
    {
    	int i, j, col=0, rig=0;
    	char sp='a';
    	if ((c=='Z')&&(n==9))
    	{
    		for(j=0;j<=2;j++)
    			for(i=0;i<=7;i++)
    			{
    				if (scc[j][i]==nero)
    				{
    					gotoxy(x+1+(6*i), y+1+(3*j));
    					printf("%c##%c", 218, 191);				//Pedine nere
    					gotoxy(x+1+(6*i), y+2+(3*j));
    					printf("%c##%c", 192, 217);
    				}
    				if (scc[7-j][i]==bianco)
    				{
    					gotoxy(x+2+(6*i), y+1+(3*(7-j)));
    					printf("%c%c%c", 218, 196, 191);		//Pedine bianche
    					gotoxy(x+2+(6*i), y+2+(3*(7-j)));
    					printf("%c%c%c", 192, 196, 217);
    				}
    			}
    	}
    	else
    		col=c-sp;
    		rig=n;
    		gotoxy(x+1+(6*col), y+1+(3*(8-rig)));
    		if (ply==1)
    		{
    			printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
    			gotoxy(x+1+(6*col), y+2+(3*(8-rig)));
    			printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
    		}
    }

  5. #5
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    che ne dici di mettere le parentesi graffe per evidenziare l'else...

    così è come se nell'else ho la prima istruzione col=c-sp;... le altre te le fa tutte..

    prova

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  6. #6
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Mamma miaaaaaa, che stupido che sono, hai ragione!!! grazie!
    Che errore banale...sono un cretino.

    grazie ancora...

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Un controllo in piu' prima di scrivere sul forum, ti avrebbe fatto perdere meno tempo ...

  8. #8
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Scusate se rompo ancora su sta cosa, volevo un chiarimento.
    Quando ho una struttura del genere:
    codice:
    if (condizione A)
    {
       if (condizione B)
       {
         ----------------
         ---istruzioni---
         ----------------
       }
       else   //1
          if (condizione C)
          {
            ----------------
            ---istruzioni---
            ----------------
          }
       else    //2
       {
         ----------------
         ---istruzioni---
         ----------------
       }
    Come vengono interpretati i vari else? A quali if si riferiscono?
    Grazie

  9. #9
    Originariamente inviato da Linusss
    Scusate se rompo ancora su sta cosa, volevo un chiarimento.
    Quando ho una struttura del genere:
    codice:
    if (condizione A)
    {
       if (condizione B)
       {
         ----------------
         ---istruzioni---
         ----------------
       }
       else   //1
          if (condizione C)
          {
            ----------------
            ---istruzioni---
            ----------------
          }
       else    //2
       {
         ----------------
         ---istruzioni---
         ----------------
       }
    Come vengono interpretati i vari else? A quali if si riferiscono?
    Grazie
    manca la parentesi graffa alla fine...
    cmq il primo else si riferisce a if (condizione B) ed è soltanto di una riga ovvero if (condizione C).
    il secondo else si riferisce a if (condizione C)

  10. #10
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Per far si che il primo else si riferisca a if (condizione A) avrei dovuto far così per caso:
    codice:
    if (condizione A)
    {
       if (condizione B)
       {
         ----------------
         ---istruzioni---
         ----------------
       }
    }
    else   //1
       if (condizione C)
       {
         ----------------
         ---istruzioni---
         ----------------
       }
       else    //2
       {
         ----------------
         ---istruzioni---
         ----------------
       }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.