Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    43

    [C]problema con il do-while

    salve a tutti raga..ho un piccolo problema per la compilazione di questo ciclo do-while.
    il vero ciclo è abbastanza complicato ma il problema fondamentale può essere spiegato mediante questo piccolo ciclo:
    codice:
    #include<stdio.h>
    void main()
    {
    	int N;
    	do
    	{
    		
    	printf("inserire valore=");
    	scanf("%d",&N);
    	}while(N!=3&&N>5);
    }
    cioè in sostanza il while non mi permette di fare la doppia condizione.
    io voglio infatti(con riferimento all esempio) che N sia contemporaneamente minore di 5 e diverso da 3,,ma qualcosa non va..infatti mi accetta il valore se è minore di 5 indipendentemente se esso è uguale o diverso da 3.
    dove sbaglio??
    spero che qualcuno mi possa aiutare.
    ciao e grazie 1000 in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326

    Re: [C]problema con il do-while

    Quando N == 3, questa condizione

    codice:
    N != 3 && N > 5
    quale valore booleano assume? Vero o falso?

    Cioè se N == 3 la prima condizione è falsa e la seconda pure, e poiché FALSO AND FALSO = FALSO, il do-while si arresta.

    Pensa un po' a come la puoi riscrivere per ottenere quello che vuoi tu.
    every day above ground is a good one

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    43
    non so..
    non riesco...anche se mettonel while ==3
    si avrebbe vero and falso cioè falso...e esce dal ciclo...e ci risiamo..
    booo...

  4. #4
    Utente di HTML.it L'avatar di KrOW
    Registrato dal
    Feb 2009
    Messaggi
    281
    Ciao ... Il ciclo dovrebbe ripetersi se:
    1) N è uguale a 3
    2) N è maggiore/uguale a 5
    quindi in codice:
    1) N==3
    2) N>=5
    Si deve uscire dal ciclo se e solo se, nessuna delle 2 condizioni sopra riportate vengono riscontrate (quindi ci vuole un OR):
    codice:
    N==3 OR N>=5
    in codice:
    while(N==3 || N>=5)
    Spero che di essere stato chiaro ...
    C++ 4ever
    496e2062696e6172696f206e6f6e2063692061767265737469 206e656d6d656e6f2020726f7661746f203a29

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 © 2024 vBulletin Solutions, Inc. All rights reserved.