Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Calculadora - WindowsForms - c++

Estas en el tema de Calculadora - WindowsForms - c++ en el foro de C/C++ en Foros del Web. Hola muy buen dia!! Actualmente intento crear una calculadora con las funciones mas basicas, +-/* = utilizando windows forms en c++, bueno he logrado que ...
  #1 (permalink)  
Antiguo 21/04/2011, 19:20
Avatar de saudakar  
Fecha de Ingreso: octubre-2010
Ubicación: Donde pueda beber Cafe
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 5
Calculadora - WindowsForms - c++

Hola muy buen dia!!

Actualmente intento crear una calculadora con las funciones mas basicas, +-/* = utilizando windows forms en c++, bueno he logrado que al precionar por ejemplo el boton 1 me salga el uno en el dysplay, y cualquier otro numero despues se agregue, esto lo hice similar como he trabajado con VBasic que al dar doble click sobre el boton agrego el codigo.

Código C++:
Ver original
  1. private: System::Void button1_Click(System::Object^  sender, System::EventArgs^ e)
  2.              {
  3.               this->T1->Text = this->T1->Text + "1";
  4.                           }

El problema que se me presenta es que no se la parte del calculo(la mas importante), masomenos tengo en mente lo que podria hacer, que seria asi:

Click Boton +
float numero1 = Valor de la caja de texto
Texto -> caja de texto = ""
char Operacion = '+'

y luego al introducir la nueva cantidad y presionar =
float numero2 = valor de la caja de texto
Texto -> caja de texto = ""
si operacion ='+'
texto caja de texto = numero 1 + numero2... etc, etc

Si, algo rudimentario el algoritmo

Pero no tengo nada de conocimiento sobre trabajar con windows form en C++, no se donde escribir el codigo, o la sintaxis a usar, "Si, si, el instructor debio explicarnoslo, pero es algo raro, nunca nos resuelve dudas como debe ser, nos dice animal con pelo como descripcion para decir gato,... etc "


Me guiarian con alguna explicacion sobre la sintaxis? por ejemplo como hago que una variable tome el valor que esta en la caja de texto,... Veo que es batante distinta a la que se utiliza en la consola o ¿estare haciendo algo mal?

Saludos!!
  #2 (permalink)  
Antiguo 23/04/2011, 17:01
Avatar de saudakar  
Fecha de Ingreso: octubre-2010
Ubicación: Donde pueda beber Cafe
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: Calculadora - WindowsForms - c++

Resolvi el problema :)

Gracias por su atencion,... Dejo el codigo de como lo solucione por si alguien le pasa igual,...

Código C++:
Ver original
  1. /*Todos los botones llevan el mismo codigo, solo cambia el numero que agregan*/
  2. private: System::Void button9_Click(System::Object^  sender, System::EventArgs^  e)
  3.          {
  4.           this->T1->Text = this->T1->Text + "9";
  5.          }
  6. private: System::Void Bresta_Click(System::Object^  sender, System::EventArgs^  e)
  7.          {
  8.             numero1 = Convert::ToDouble(this->T1->Text);
  9.             this->T1->Text="";
  10.             operacion ='-';
  11.          }
  12. private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
  13.          }
  14. private: System::Void b0_Click(System::Object^  sender, System::EventArgs^  e)
  15.          {
  16.           this->T1->Text = this->T1->Text + "0";
  17.          }
  18. private: System::Void Bsuma_Click(System::Object^  sender, System::EventArgs^  e)
  19.          {/*Aca se coloca el valor de la caja de texto a una variable,...
  20.                       Como describi en mi algoritmo*/
  21.             numero1 = Convert::ToDouble(this->T1->Text);
  22.             this->T1->Text="";
  23.             operacion ='+';
  24.         /*Para todas las operaciones es el mismo codigo, solamente se cambia el  signo*/
  25.                   }
  26. private: System::Void Bmulti_Click(System::Object^  sender, System::EventArgs^  e)
  27.          {
  28.             numero1 = Convert::ToDouble(this->T1->Text);
  29.             this->T1->Text="";
  30.             operacion ='*';
  31.          }
  32. private: System::Void Bdiv_Click(System::Object^  sender, System::EventArgs^  e)
  33.          {
  34.             numero1 = Convert::ToDouble(this->T1->Text);
  35.             this->T1->Text="";
  36.             operacion ='/';
  37.          }
  38. private: System::Void Bresultado_Click(System::Object^  sender, System::EventArgs^  e)
  39.          {/*Se asigna el Valor de la caja de texto a otra variable
  40.                   y se determina que operacion realizar en base al signo
  41.                   que contenga la variable "char operacion"*/
  42.            numero2 = Convert::ToDouble(this->T1->Text);
  43.            switch(operacion)
  44.            {
  45.             case '-': total = (numero1 - numero2);break;
  46.             case '+': total = (numero1 + numero2);break;
  47.             case '*': total = (numero1 * numero2);break;
  48.             case '/': total = (numero1 / numero2);break;
  49.            }
  50.           this->T1->Text=Convert::ToString(total);
  51.          }
  52. private: System::Void Bpunto_Click(System::Object^  sender, System::EventArgs^  e)
  53.          {
  54.           this->T1->Text = this->T1->Text + ".";
  55.          }
  56. private: System::Void BLimpiar_Click(System::Object^  sender, System::EventArgs^  e)
  57.          {
  58.           this->T1->Text="";
  59.          }
  60. private: System::Void Bclr_Click(System::Object^  sender, System::EventArgs^  e)
  61.          {
  62.           this->T1->Text="";
  63.           numero1 = 0;
  64.           numero2 = 0;
  65.           total   = 0;
  66.          }
  67. };

Etiquetas: calculadora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:53.