Visualizzazione dei risultati da 1 a 7 su 7

Discussione: While e Console.Read non vanno!!

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2017
    Messaggi
    4

    While e Console.Read non vanno!!

    Ciao a tutti ragazzi, sono nuovo del forum e spero di aver insertato la sezione.
    Ho cominciato da poco a studiare c# per i fatti miei.
    Ho provato a creare un programma che, leggendo un numero inserito,
    controlli se esso sia pari e, in caso contrario, lo faccia reinserire.
    Ovviamente ho utilizzato un bool.
    codice:
     static void Main(string[] args)        {
                
                bool numpari = false;
                while (numpari == false)
                { 
                Console.WriteLine("Inserisci un numero pari:");
                int numero = Console.Read();
                   
                  
    
    
    
    
    
    
                    if (numero%2 == 0 )
                    {
                       
                        numpari = true;
                        
                    }
                    else
                    {
                        Console.WriteLine("Il numero è dispari, riprovare.\n");
                     
                    }
                    
                }
                Console.WriteLine("Il numero è pari, complimenti!\n");
                Console.ReadKey();
    
    
            }
    solo che, quando vado ad eseguirlo e inserisco un numero dispari il programma ritorna al primo Console.WriteLine ma non mi permette più di inserire un numero nuovo, quale potrebbe essere l'errore?
    Ecco cosa succede in console
    Immagine.png
    Grazie in anticipo per l'aiuto.
    Ultima modifica di rizer96; 14-07-2017 a 14:40

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,176
    forse e' piu' facile se inizi creando un WebSite, non una console application...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2017
    Messaggi
    4
    Infatti ho sbagliato sezione, pardon
    puoi cancellare?
    Ultima modifica di rizer96; 14-07-2017 a 14:52

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,176
    questo funziona comunque, (se ti fai scrivere il numero ti accorgi che legge un valore sballato perchè il metodo READ() legge anche l'ENTER che dai)

    codice:
    class Program
    {
        static void Main(string[] args)
        {
            bool numPari = false;
            int numero;
    
    
            while (numPari == false)
            {
                Console.WriteLine("Immetti un numero pari: ");
                numero = Convert.ToInt32(Console.ReadLine());
    
    
                if (!(numero % 2 == 0))
                    Console.WriteLine("Deve essere pari !");
                else
                {
                    numPari = true;
                    Console.WriteLine("Ci sei riuscito !");
                    Console.ReadKey();
                }
            }
        }
    }
    Ultima modifica di djciko; 14-07-2017 a 15:24

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,176
    non c'e' bisogno, sta bene anche qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2017
    Messaggi
    4
    Grazie mille! All'inizio avevo provato a fare il convert ma sbagliavo poiché inserivo numero nelle parentesi invece che il readline.

  7. #7

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