
quasar87 (Normal User)
Pro
    
Messaggi: 65
Iscritto: 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# |
{ double valore1; Console.Write("Inserisci valore1: "); valore1 = Console.Read(); double Calcolo1; Calcolo1 = (valore1 * 100 / 50 / 100 * 25); double valore2; Console.Write("Inserisci valore2: "); valore2 = Console.Read(); double Calcolo2; Calcolo2 = (valore2 * 100 / 50 / 100 * 25); double valore3; Console.Write("Inserisci valore3: "); valore3 = Console.Read(); double Calcolo3; Calcolo3 = (valore3 * 100 / 50 / 100 * 25); Console.WriteLine("Il calcoli risultano {0} e {1} e {2}", calcolo1, calcolo2, calcolo3; }
|
Dopo la compilazione lanciando l'eseguibile, viene richiesto il valore1 ma una volta inseriro e dato invio, schemro nero e chiusura programma  :-potete aiutarmi?
Ultima modifica effettuata da quasar87 il 04/05/2022 alle 9:13 |
|

nessuno (Normal User)
Guru^2
    
Messaggi: 6326
Iscritto: 03/01/2010
|
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à. |
|

quasar87 (Normal User)
Pro
    
Messaggi: 65
Iscritto: 03/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 |
|

Thejuster (Admin)
Guru^2
    
Messaggi: 2239
Iscritto: 04/05/2008
|
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 |
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 |
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
|
|

quasar87 (Normal User)
Pro
    
Messaggi: 65
Iscritto: 03/05/2022
|
Il programma parte, con doppio click sull'eseguibile, ora provo con la sintassi che hai scritto e vediamo!
|
|

quasar87 (Normal User)
Pro
    
Messaggi: 65
Iscritto: 03/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.
|
|

Thejuster (Admin)
Guru^2
    
Messaggi: 2239
Iscritto: 04/05/2008
|
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 |
//Le Variabili vanno dichiarate sempre prima del codice
double Calcolo1, Calcolo2, Calcolo3;
double valore;
Console.Write("Inserisci valore1: ");
var input = Console.ReadLine();
//Valore 1
double.TryParse(input, out valore);
Calcolo1 = (valore * 100 / 50 / 100 * 25);
//Valore2
Console.Write("Inserisci valore2: ");
input = Console.ReadLine();
double.TryParse(input, out valore);
Calcolo2 = (valore * 100 / 50 / 100 * 25);
//Valore3
Console.Write("Inserisci valore3: ");
input = Console.ReadLine();
double.TryParse(input, out valore);
Calcolo3 = (valore * 100 / 50 / 100 * 25);
//Risultato
Console.WriteLine($"I Calcoli risultano {Calcolo1}, {Calcolo2} e {Calcolo3}");
Console.ReadKey(); //Attesa per terminare il programma
|
|
|

quasar87 (Normal User)
Pro
    
Messaggi: 65
Iscritto: 03/05/2022
|
Grazie, si un bel casino 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!
|
|

quasar87 (Normal User)
Pro
    
Messaggi: 65
Iscritto: 03/05/2022
|
Ciao, ho provato e così funziona , 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?
|
|