|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2009
Messaggi: 59
|
non visualizzo il risultato corretto
ciao Ragazzi ho creato un form.
il mio problema è il seguente: io premo il pulsante del numero 2, poi il pulsante del prodotto,poi il pulsante del numero 3, ma nel campo di testo invece di visualizzami 6 mi vsializza 2*3 dove sto sbagliando e perchè cosi capico l'errore. grazie -------------------- using System; using System.Collections.Generic; using System.Text; namespace Calcolatrice { class Operazioni { public String uguale (int num1, int num2, string operaz) { return num1 + operaz + num2; } } } ------------------- using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Calcolatrice { public partial class Form1 : Form { public int operando1; public int operando2; public String operazione; public Form1() { InitializeComponent(); } //pulsante del numero 1 private void button2_Click(object sender, EventArgs e) { textBox1.Text = Convert.ToString(1); } private void button4_Click(object sender, EventArgs e) { textBox1.Text = Convert.ToString(2); } private void button3_Click(object sender, EventArgs e) { textBox1.Text = Convert.ToString(3); } //pulsante svuota campo di input dei numeri private void button5_Click(object sender, EventArgs e) { textBox1.Text = ""; } //moltiplicazione private void button1_Click(object sender, EventArgs e) { operando1 = Convert.ToInt32(textBox1.Text); operazione = "*"; } private void button6_Click(object sender, EventArgs e) { Operazioni risultato = new Operazioni(); operando2 = Convert.ToInt32(textBox1.Text); textBox1.Text = risultato.uguale(operando1, operando2, operazione); //textBox1.Text = Convert.ToString(Val); } } } |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Sep 2009
Messaggi: 59
|
Ci sto sbattendo ma niente.
è come se non facesse la moltiplicazione ma mi sembre strano!!!! ![]() |
![]() |
![]() |
![]() |
#3 |
Messaggi: n/a
|
Sorry, conosco a malapena Java quindi non ti posso aiutare.
Ricorda però che, come da regolamento, deve inserire il nome del linguaggio nel titolo del thread, pena la chiusura. Ciao. |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
non la fa no... il tuo risultato è un Int+String+Int quindi è una stringa.
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Sep 2009
Messaggi: 59
|
ok, e come faccio per far visualizzare il risultato?
grazie |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
il tuo risultato deve essere semplicemente
Codice:
return num1*num2 Oppure fai una classe per ogni operazione diversa. |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Sep 2009
Messaggi: 59
|
ho capito quello che dici ma mi daresti un mano a come scriverlo?
come metteresti una condizione di cotrollo? non ci sto riuscendo da solo. grazie mille |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Sep 2009
Messaggi: 59
|
fatto grazie mille!!!!
scusate se ho sbagliato a scirvere il titolo class Operazioni { public int a; public int uguale (int num1, int num2, string operaz) { if (operaz == "*") { a = num1 * num2; } return a; } } |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Quote:
Codice:
class Operazioni{ public int uguale (int num1, int num2, string operaz){ switch(operaz){ case "*": return num1*num2; case "+": return num1+num2; } } } Codice:
class Calculation{ public int getResult(Operation op){ return op.solve(); } } abstract class Operation{ public int num1,num2; public Operation(oint num1,int num2){ this.num1=num2; this.num2=num2; } public int solve(int num1,int num2); } class Multiplication extends Operation{ public Multiplication(int num1,int num2){ super(num1,num2); } public int solve(int num1,int num2){ return this.num1*this.num2; } } class Addition extends Operation{ public Addition (int num1,int num2){ super(num1,num2); } public int solve(int num1,int num2){ return this.num1+this.num2; } } Ultima modifica di MEMon : 06-09-2009 alle 18:40. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:58.