Usuário com melhor resposta
Operações

Pergunta
-
Respostas
-
Oi Sttela, essa é uma ação bem simples de realizar, mas que pode ser feita de muitas maneiras diferentes. Você pode colocar o trecho do código que você está usando pra fazer o cálculo, daí adapto o seu código, assim você pode manter o seu padrão.
- Marcado como Resposta Sttela domingo, 4 de dezembro de 2011 21:04
-
Uma solução extremamente simples, se o que você quer é manter no visor a operação, é fazer assim:
cria uma variavel do tipo string em cada case converta os valores em string e acrescente o resultado. Ficará assim:
{
resultado = numero1 + numero2;
mostraCalculos.Text = numero1.ToString() +
"+" + numero2.ToString() + " = " + resultado.ToString();- Marcado como Resposta Sttela domingo, 4 de dezembro de 2011 21:04
-
-
Stella, isso está acontecendo porque você está atribuindo tudo à variável numero1 e não está atribuindo nada ao numero2, por isso dá esse erro. Você precisa atribuir o é antes do sinal da operação à variável numero1 e o que é depois do sinal à variável numero2. No seu código vc está passando o valor do textbox inteiro para a variável numero1. Ou seja, está passando a formula montada, mas não é possível converter uma fórmula. você tem que separar os valores para cada variável.
- Marcado como Resposta Sttela domingo, 4 de dezembro de 2011 21:04
-
Stella, faça o seguinte. Implemente esse código para cada botão de número. Se não conseguir, me adiciona no msn que te ajudo mais a fundo. mcosta_m@hotmail.com
{
numero1 = 1;
}
{
numero2 = 1;
}
- Marcado como Resposta Sttela domingo, 4 de dezembro de 2011 21:04
-
Todas as Respostas
-
-
Oi Sttela, essa é uma ação bem simples de realizar, mas que pode ser feita de muitas maneiras diferentes. Você pode colocar o trecho do código que você está usando pra fazer o cálculo, daí adapto o seu código, assim você pode manter o seu padrão.
- Marcado como Resposta Sttela domingo, 4 de dezembro de 2011 21:04
-
Este é o código
private void botaoMais_Click_1(object sender, EventArgs e)
{
operacao = "+";
numero1 = double.Parse(mostraCalculos.Text);
mostraCalculos.Text += operacao;
auxiliar = 1;
}
private void botaoMenos_Click_1(object sender, EventArgs e)
{
operacao = "-";
numero1 = double.Parse(mostraCalculos.Text);
mostraCalculos.Text += operacao;
auxiliar = 1;
}
private void botaoVezes_Click_1(object sender, EventArgs e)
{
operacao = "*";
numero1 = double.Parse(mostraCalculos.Text);
mostraCalculos.Text += operacao;
auxiliar = 1;
}
private void botaoDividir_Click_1(object sender, EventArgs e)
{
operacao = "/";
numero1 = double.Parse(mostraCalculos.Text);
mostraCalculos.Text += operacao;
auxiliar = 1;
}
// Fim dos botões de operação
// Botão igual
private void botaoIgual_Click_1(object sender, EventArgs e)
{
numero2 = double.Parse(mostraCalculos.Text);
botaoIgual.Enabled = false;
painelDigitos.Enabled = false;
// Botão igual
private void botaoIgual_Click_1(object sender, EventArgs e)
{
numero2 = double.Parse(mostraCalculos.Text);
botaoIgual.Enabled = false;
painelDigitos.Enabled = false;
switch (operacao)
{
case "+":
resultado = numero1 + numero2;
break;
case "-":
resultado = numero1 - numero2;
break;
case "*":
resultado = numero1 * numero2;
break;
case "/":
if (numero2 != 0)
{
resultado = numero1 / numero2;
}
else
{
MessageBox.Show("Impossivel dividir por zero!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
limpar();
}
break;
}
// arredondamento a 2 casas decimais.
mostraCalculos.Text += " = " + (Convert.ToString(System.Math.Round(resultado, 2)));
ListViewItem lvh = new ListViewItem(mostraCalculos.Text);
lvHistorico.Items.Add(lvh);
//mostraCalculos.Text = "";
}
-
Este é o código
private void botaoMais_Click_1(object sender, EventArgs e)
{
operacao = "+";
numero1 = double.Parse(mostraCalculos.Text);
mostraCalculos.Text += operacao;
auxiliar = 1;
}
private void botaoMenos_Click_1(object sender, EventArgs e)
{
operacao = "-";
numero1 = double.Parse(mostraCalculos.Text);
mostraCalculos.Text += operacao;
auxiliar = 1;
}
private void botaoVezes_Click_1(object sender, EventArgs e)
{
operacao = "*";
numero1 = double.Parse(mostraCalculos.Text);
mostraCalculos.Text += operacao;
auxiliar = 1;
}
private void botaoDividir_Click_1(object sender, EventArgs e)
{
operacao = "/";
numero1 = double.Parse(mostraCalculos.Text);
mostraCalculos.Text += operacao;
auxiliar = 1;
}
// Fim dos botões de operação
// Botão igual
private void botaoIgual_Click_1(object sender, EventArgs e)
{
numero2 = double.Parse(mostraCalculos.Text);
botaoIgual.Enabled = false;
painelDigitos.Enabled = false;
// Botão igual
private void botaoIgual_Click_1(object sender, EventArgs e)
{
numero2 = double.Parse(mostraCalculos.Text);
botaoIgual.Enabled = false;
painelDigitos.Enabled = false;
switch (operacao)
{
case "+":
resultado = numero1 + numero2;
break;
case "-":
resultado = numero1 - numero2;
break;
case "*":
resultado = numero1 * numero2;
break;
case "/":
if (numero2 != 0)
{
resultado = numero1 / numero2;
}
else
{
MessageBox.Show("Impossivel dividir por zero!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
limpar();
}
break;
}
// arredondamento a 2 casas decimais.
mostraCalculos.Text += " = " + (Convert.ToString(System.Math.Round(resultado, 2)));
ListViewItem lvh = new ListViewItem(mostraCalculos.Text);
lvHistorico.Items.Add(lvh);
//mostraCalculos.Text = "";
}
-
Uma solução extremamente simples, se o que você quer é manter no visor a operação, é fazer assim:
cria uma variavel do tipo string em cada case converta os valores em string e acrescente o resultado. Ficará assim:
{
resultado = numero1 + numero2;
mostraCalculos.Text = numero1.ToString() +
"+" + numero2.ToString() + " = " + resultado.ToString();- Marcado como Resposta Sttela domingo, 4 de dezembro de 2011 21:04
-
-
-
Sim Marcelo, na textbox, quando vou digitanto ela faz o seguinte:
5+
depois aparece só o 6
6
e finalmente
5+6=11
Penso que seja por causa da variavel
auxiliar = 1
que eu tenho no fim de cada botão de operacao, tipo mais, menos, vezes, dividir
se eu tirar ela, ja me coloca
5+6
mas quando coloco igual de dá um erro no codigo do botao igual em
numero2 = double.Parse(mostraCalculos.Text);
- Editado Sttela sábado, 3 de dezembro de 2011 21:30
-
Stella, isso está acontecendo porque você está atribuindo tudo à variável numero1 e não está atribuindo nada ao numero2, por isso dá esse erro. Você precisa atribuir o é antes do sinal da operação à variável numero1 e o que é depois do sinal à variável numero2. No seu código vc está passando o valor do textbox inteiro para a variável numero1. Ou seja, está passando a formula montada, mas não é possível converter uma fórmula. você tem que separar os valores para cada variável.
- Marcado como Resposta Sttela domingo, 4 de dezembro de 2011 21:04
-
-
-
Stella, isso está acontecendo porque você está atribuindo tudo à variável numero1 e não está atribuindo nada ao numero2, por isso dá esse erro. Você precisa atribuir o é antes do sinal da operação à variável numero1 e o que é depois do sinal à variável numero2. No seu código vc está passando o valor do textbox inteiro para a variável numero1. Ou seja, está passando a formula montada, mas não é possível converter uma fórmula. você tem que separar os valores para cada variável.
Marcelo, estou pelos cabelos, não consigo mesmo... :( -
Stella, faça o seguinte. Implemente esse código para cada botão de número. Se não conseguir, me adiciona no msn que te ajudo mais a fundo. mcosta_m@hotmail.com
{
numero1 = 1;
}
{
numero2 = 1;
}
- Marcado como Resposta Sttela domingo, 4 de dezembro de 2011 21:04
-
Stella, faça o seguinte. Implemente esse código para cada botão de número. Se não conseguir, me adiciona no msn que te ajudo mais a fundo. mcosta_m@hotmail.com
{
numero1 = 1;
}
{
numero2 = 1;
}
-