Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Errore C#: Eccezione non gestita di tipo 'System.FormatException' in mscorlib.dll
Forum - C# / VB.NET - Errore C#: Eccezione non gestita di tipo 'System.FormatException' in mscorlib.dll

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 20:57
Sabato, 08/11/2014
Codice sorgente - presumibilmente C#

  1. static void Main(string[] args)
  2.         {
  3.             List<int> vettore = new List<int>();
  4.             int n,found;
  5.             int i,numero;
  6.            
  7.             Console.WriteLine("Programma che cerca in un array un numero");
  8.             Console.WriteLine("Quanti numeri vuoi inserire nell'array? ");
  9.             n = Convert.ToByte(Console.ReadLine());
  10.             while(n<0 || n==0){
  11.                 Console.WriteLine("Errore inserisci un numero maggiore di 0");
  12.                 n = Convert.ToByte(Console.ReadLine());
  13.             }
  14.  
  15.            
  16.             Console.Write("Inserisci { n } numeri: ", (n) );
  17.             for (i = 0; i < n; i++)
  18.             {
  19.                 vettore[i] = Convert.ToByte(Console.ReadLine());
  20.             }
  21.  
  22.             Console.WriteLine("Quale numero vuoi ricercare? ");
  23.             numero = Convert.ToByte(Console.ReadLine());
  24.             found = 0;
  25.             for (i = 0; i < n; i++) {
  26.                 if (numero == vettore[i]) {
  27.                     found = 1;
  28.                 }
  29.             }
  30.             if (found == 0)
  31.             {
  32.                 Console.WriteLine("Il numero da lei cercato {0} è inesistente nell'array",(numero));
  33.             }
  34.             else {
  35.                 Console.WriteLine("Numero trovato!");
  36.             }
  37.  
  38.             Console.ReadLine();
  39.            
  40.          }


Dopo che inserisco n, mi si interrompe il programma e mi esce:
Eccezione non gestita di tipo 'System.FormatException' in mscorlib.dll
qualcuno sa dirmi perchè?

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 21:17
Sabato, 08/11/2014
dimmi che senso ha usare un intero a 32 bit per memorizzarne 8

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:24
Sabato, 08/11/2014
Intanto deve essere

Console.Write("Inserisci  {0}  numeri: ", n);

ma mi levi una curiosità ... da dove e come studi? Mi sembra che tu stia andando piuttosto a caso ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 22:30
Sabato, 08/11/2014
Sto cercando di imparare da solo, a scuola non insegnano il c#
Comunque è la prima volta che mi esce questo problema, per esempio in questo codice:
Codice sorgente - presumibilmente C++

  1. static void Main(string[] args)
  2.         {
  3.             int[] array = new int[3];//vettore
  4.             int i;
  5.            
  6.             for(i=0;i<3;i++){
  7.                 Console.Write("Inserisci il {0} numero nell'array:",(i+1));
  8.                 array[i]=Convert.ToByte(Console.ReadLine());
  9.                }
  10.             Console.WriteLine("Hai inserito: ");
  11.             for(i=0;i<3;i++){
  12.                 Console.Write(" {0} ",(array[i]));
  13.             }
  14.             Console.ReadLine();
  15.         }


Qui ho usato comunque le stesse istruzioni ma non mi è uscito questo tipo di problema
Comunque posso anche scrivere :
Console.Write("Inserisci { n } numeri: ",(n) );
non mi da errore con le parentesi

Ultima modifica effettuata da perillitommaso il 08/11/2014 alle 22:31
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:33
Sabato, 08/11/2014
Il problema è in

{n}

che deve essere {0}

Per l'altra cosa, usare le parentesi (n) non ha praticamente importanza


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 22:46
Sabato, 08/11/2014
Ho sbagliato a scrivere infatti è :
Console.Write("Inserisci { 0 } numeri: ", n );
ma comunque mi risulta lo stesso problema

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:06
Sabato, 08/11/2014
SENZA SPAZI

{0}

non

{ 0 }


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
perillitommaso (Normal User)
Pro


Messaggi: 186
Iscritto: 28/01/2014

Segnala al moderatore
Postato alle 23:15
Sabato, 08/11/2014
okay problema risolto, ma adesso perchè non mi fa continuare a inserire i numeri nel vettore? Inserisco il primo numero e poi mi si interrompe il programma

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:17
Sabato, 08/11/2014
Ogni volta che hai un problema devi dire esattamente quale ... se sei così generico, che risposte vorresti?

Di quale codice stai parlando?

Quale messaggio d'errore?

Dove si ferma?

Queste 3 informazioni le devi dare sempre nel forum se hai un problema con il codice ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo