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 - Problema esecuzione programma
Forum - C# / VB.NET - Problema esecuzione programma

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


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 20:47
Martedì, 03/05/2022
Questo topic è stato chiuso dal moderatore

Ciao a tutti, mi sto esercitando scrivendo qualche riga di codice che dovrebbe richiedere in input dei valori numerici con decimali e poi utilizzarli per fare un calcolo e stampare a video il calcolo.
Ho scritto quanto segue:

Codice sorgente - presumibilmente C#

  1. {
  2.         double valore1;
  3.         Console.Write("Inserisci valore1: ");
  4.         valore1 = Console.Read();
  5.         double Calcolo1;
  6.         Calcolo1 = (valore1 * 100 / 50 / 100 * 25);
  7.  
  8.         double valore2;
  9.         Console.Write("Inserisci valore2: ");
  10.         valore2 = Console.Read();
  11.         double Calcolo2;
  12.         Calcolo2 = (valore2 * 100 / 50 / 100 * 25);
  13.  
  14.         double valore3;
  15.         Console.Write("Inserisci valore3: ");
  16.         valore3 = Console.Read();
  17.         double Calcolo3;
  18.         Calcolo3 = (valore3 * 100 / 50 / 100 * 25);
  19.  
  20.         Console.WriteLine("Il calcoli risultano {0} e {1} e {2}", calcolo1, calcolo2, calcolo3;
  21.  
  22.     }




Dopo la compilazione lanciando l'eseguibile, viene richiesto il valore1 ma una volta inseriro e dato invio, schemro nero e chiusura programma :d:-potete aiutarmi?

Ultima modifica effettuata da quasar87 il 04/05/2022 alle 9:13
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:30
Martedì, 03/05/2022
Come lanci la compilazione ed esecuzione?

P.S. nel forum il codice va racchiuso tra tag CODE o non si capisce


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
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 9:14
Mercoledì, 04/05/2022
Compilo con "compilazione" in visual studio e poi lancio semplicemente con doppio click su eseguibile.

Ultima modifica effettuata da quasar87 il 04/05/2022 alle 10:22
PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 11:34
Mercoledì, 04/05/2022
Hai provato a debuggare?

Probabile che interpreta il double come float.
E che quindi serve il Try Parse.


Edit:
Che poi scusa solo ora rileggendo bene ho notato una cosa

Codice sorgente - presumibilmente Plain Text

  1. Console.WriteLine("Il calcoli risultano {0} e {1} e {2}", calcolo1, calcolo2, calcolo3;



Cos'è questo?
in C# non esiste nulla di simile.
Per usare questa stringa devi usare String.Format e non scriverlo direttamente in questo modo.

O in alternativa utilizzare

Codice sorgente - presumibilmente Plain Text

  1. Console.WriteLine($"I calcoli risultano {calcolo1},{calcolo2} e {calcolo3}");



A questo punto mi viene da chiedere una cosa.
Come hai fatto partire il programma se il codice che hai postato è sbagliato?

Ultima modifica effettuata da Thejuster il 04/05/2022 alle 18:03


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 18:57
Mercoledì, 04/05/2022
Il programma parte, con doppio click sull'eseguibile, ora provo con la sintassi che hai scritto e vediamo!

PM
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 19:14
Mercoledì, 04/05/2022
Facendo il debug si avvia e chiede l'inserimento del "valore1" poi premendo invio dovrebbe chiedere l'inserimento del "valore2" e "valore3" ma ciò non avviene, però in modalità debug il programma nonsi chiude mentre avviando l'eseguibile, dopo avere inserito il "valore1" e premuto invio il programma si chiude.

PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 19:39
Mercoledì, 04/05/2022
Testo quotato

Postato originariamente da quasar87:

Facendo il debug si avvia e chiede l'inserimento del "valore1" poi premendo invio dovrebbe chiedere l'inserimento del "valore2" e "valore3" ma ciò non avviene, però in modalità debug il programma nonsi chiude mentre avviando l'eseguibile, dopo avere inserito il "valore1" e premuto invio il programma si chiude.



Bhe diciamo che è un pò tutto un casino quel codice.
Si vede che sei alle prime armi e ti aiuto volentieri.

Il primo errore sta sul Read.

Console.Read() non legge quello che scrivi, ma semplicemente l'ultimo input ricevuto.
per leggere ciò che scrivi devi usare Console.ReadLine()

Il resto potrebbe pure andare, ma assicurati che l'input inserito sia di tipo double.
usando il metodo TryParse vai sul sicuro evitando errori.

questo e come dovrebbe essere il tuo codice.

Codice sorgente - presumibilmente C# / VB.NET

  1. //Le Variabili vanno dichiarate sempre prima del codice
  2.             double Calcolo1, Calcolo2, Calcolo3;
  3.             double valore;
  4.  
  5.             Console.Write("Inserisci valore1: ");
  6.             var input = Console.ReadLine();
  7.  
  8.  
  9.             //Valore 1
  10.             double.TryParse(input, out valore);
  11.             Calcolo1 = (valore * 100 / 50 / 100 * 25);
  12.  
  13.  
  14.             //Valore2
  15.             Console.Write("Inserisci valore2: ");
  16.             input = Console.ReadLine();
  17.  
  18.             double.TryParse(input, out valore);
  19.             Calcolo2 = (valore * 100 / 50 / 100 * 25);
  20.  
  21.             //Valore3
  22.             Console.Write("Inserisci valore3: ");
  23.             input = Console.ReadLine();
  24.  
  25.             double.TryParse(input, out valore);
  26.             Calcolo3 = (valore * 100 / 50 / 100 * 25);
  27.  
  28.  
  29.             //Risultato
  30.             Console.WriteLine($"I Calcoli risultano {Calcolo1}, {Calcolo2} e {Calcolo3}");
  31.  
  32.             Console.ReadKey(); //Attesa per terminare il programma




https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 20:12
Mercoledì, 04/05/2022
Grazie, si un bel casino :asd: ma bisogna pure provarci!
Domani provo come mi hai detto, intanto avevo fatto altre prove, come tipo di dati devo lavorare con decimali.
Intanto grazie!

PM
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 12:26
Giovedì, 05/05/2022
Ciao, ho provato e così funziona :k:, ora questi calcoli che il programma ottiene vorrei imviarli ad degli indirizzi email, ho ricercato un po' e ho trovato diverse cose, anche questa:
https://www.pierotofy.it/pages/guide_tutorials/Csharp/Invia ...
però è un po' datata, la sintassi funzionerà attualmente? Poi un'altra cosa, se volessi anche inviare degli allegati è possibile?

PM
Pagine: [ 1 2 ] Precedente | Prossimo