|
|||||||
|
|
|
![]() |
|
|
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 19:40. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:30.




















