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 - Non funziona l'input, perchè??
Forum - C# / VB.NET - Non funziona l'input, perchè??

Avatar
xLuk3x (Normal User)
Rookie


Messaggi: 38
Iscritto: 12/06/2008

Segnala al moderatore
Postato alle 14:31
Martedì, 17/06/2008
Sto sviluppando una rubrica per DOS in C#.
Al momento della possibile scelta multipla, il programma invece di portarmi da "una parte" dello stesso, crasha.
Se poi mi potete dire come caricare/salvare un file tanto meglio.

ECCO I SOURCE:
Codice sorgente - presumibilmente C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace Prova
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             string nome;
  12.             string cognome;
  13.             string città;
  14.             string via;
  15.             string telefono;
  16.             string email;
  17.             char scelta;
  18.             string input = "";
  19.             Console.WriteLine("Sviluppato da xLuk3x");
  20.             Console.WriteLine(" ");
  21.             Console.WriteLine("Benvenuto in Rubrica");
  22.         start:
  23.             Console.WriteLine("Cosa desideri fare :");
  24.             Console.WriteLine(" ");
  25.             Console.WriteLine("1 - Caricare rubrica");
  26.             Console.WriteLine("2 - Nuovo Contatto");
  27.             Console.WriteLine("");
  28.             input = Console.ReadLine();
  29.             scelta = char.Parse(input);
  30.             // Caricamento file
  31.             if (scelta == '1')
  32.             {
  33.                 Console.WriteLine("");
  34.                 try
  35.                 {
  36.                     //Devo caricare il file rubrica.txt, ma come?
  37.                 }
  38.                 catch
  39.                 {
  40.                     Console.WriteLine("---ERRORE! Impossibile caricare il file---");
  41.                     goto start;
  42.                 }
  43.                 // nuovo contatto
  44.               if (scelta == '2')
  45.                 {
  46.                     Console.WriteLine(" ");
  47.                     Console.WriteLine("Inserisci il nome del nuovo contatto: ");
  48.                     nome = Console.ReadLine();
  49.                     Console.WriteLine("Inserisci il cognome per {0}: ", nome);
  50.                     cognome = Console.ReadLine();
  51.                     Console.WriteLine("Immetti ora la città di residenza: ");
  52.                     città = Console.ReadLine();
  53.                     Console.WriteLine("Immetti la via: ");
  54.                     via = Console.ReadLine();
  55.                     Console.WriteLine("Inserisci il numero di telefono per {0} {1}: ", nome, cognome);
  56.                     telefono = Console.ReadLine();
  57.                     Console.WriteLine("Inserisci l'email: ");
  58.                     email = Console.ReadLine();
  59.                   // salvare dati
  60.                     Console.WriteLine("Contatto salvato!");
  61.                     Console.Read();
  62.                     goto start;
  63.  
  64.                 }
  65.             }
  66.         }
  67.     }
  68. }


PM Quote
Avatar
pcprogrammer (Ex-Member)
Rookie


Messaggi: 30
Iscritto: 04/06/2008

Segnala al moderatore
Postato alle 15:57
Martedì, 17/06/2008
ciao luca, ho trovato qualche inesattezza nel codice, oltretutto nel file che ti ho già inviato per mail, mi sono presa la briga di implementare la tua rubrica con il salvataggio dell'ultimo contatto e la sua apertura successiva.
Spero che sia tutto ok.

dimmelo

ciao

8-)

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:58
Martedì, 17/06/2008
Non so se te ne sei accorto, ma il secondo if (if scleta == '2') sta DENTRO il primo: come risultato ottieni che il controllo viene eseguito solo se scelta='1', e perciò il valore dell'espressione (scleta == '2') sarà sempre falso, poichè per ipotesi è uguale a 1. Da questo si ottiene che: se premi 1, ritorni all'inizio perchè non hai implementato la funzione di caricamento da file; se premi 2, il programma termina, poiché dopo aver controllato che scelta è diverso da 1, non ci sono altri controlli e il flusso di elaboraizone arriva alla fine di Main senza ostacoli.
E... ogni tanto non potreste usare la funzione cerca? Chissà quanti milioni di topic ci sono in rete su come leggere/scrivere file...

PM Quote
Avatar
xLuk3x (Normal User)
Rookie


Messaggi: 38
Iscritto: 12/06/2008

Segnala al moderatore
Postato alle 19:26
Martedì, 17/06/2008
Ora, ho capito che le parentesi graffe saranno la mia vita xD:love:

Si Totemuccio.. ma google non è preciso come lo staff^^

Ultima modifica effettuata da xLuk3x il 17/06/2008 alle 19:29
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:38
Mercoledì, 18/06/2008

PM Quote
Avatar
xLuk3x (Normal User)
Rookie


Messaggi: 38
Iscritto: 12/06/2008

Segnala al moderatore
Postato alle 22:42
Mercoledì, 18/06/2008
Postato originariamente da Il Totem:

Totemuccio.. questo è C# no vb.net^^

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:11
Giovedì, 19/06/2008
Guarda che l'unica differenza tra c# e vb.net è la sintassi. Usano lo stesso framework.net, quindi le stesse classi e perciò una guida su vb.net è pressoché uguale ad una su c#. Siccome il tuo problema non è la sintassi ma l'uso delle classi giuste, non vedo quale differenza ci sia. Io stesso ho letto molti tutorial in c#.

E non chiamarmi Totemuccio.

PM Quote