• Lunes 28 de Julio de 2014, 22:28

Autor Tema:  botones como el clear o el porcentaje en una calculadora  (Leído 2981 veces)

kazthelinho

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
botones como el clear o el porcentaje en una calculadora
« en: Lunes 7 de Junio de 2010, 12:23 »
0

Publicidad 
hola compañeros, soy nuevo en el foro y pues simplemente quería preguntarles sobre unos botones que no logro programar,
estoy trabajando en visual basic 2005 y pues estoy haciendo una calculadora, apenas voy comenzando a usar c#, quería ver si alguno de ustedes no sabía cual es el codigo para un boton de borrar, la calculadora es como la del windows, y pues estoy trabado con los botones de retroceso, CE y C que en realidad son casi lo mismo, y aparte de eso en cuanto al boton de porcentaje y el boton en cambio de signos, ojala me pudieran ayudar!

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: botones como el clear o el porcentaje en una calculadora
« Respuesta #1 en: Lunes 7 de Junio de 2010, 15:11 »
0
veras.. cuando estas en tu calculadora, si tienes digitado 14 + 5.. y das click en el boton [ + ] muestras el resultado y esperas un numero nuevo.. pero si en vez de eso lo que esta escrito es: 14 + 5 * ... (sin numero al final) a la espera de un nuevo digito, podrias hacer una funcion que saque la ultima letra de la cadena de la operacion y pregunte si es un numero, si lo es, ejecuta la operacion y pide un valor, sino, cambiale esa letra por la letra correspondiente a la tecla que acabo de presionar...

Con respecto al porcentaje, por lo menos en la calculadora de windows.. este funciona dividiendo el ultimo digito por 100 y ejecutando una operacion (si la hay) con el penultimo: osea..

en tu calc: 14 * 16, click en %...-> 14 * 0.16 .....
Si digitas 14 solo y das click en % deberia darte sero, debido a que solo hay un digito

debes buscar la forma de siempre tener 2 y solo 2 digitos con un signo de operacion que los relacione

No se si me explique... lo importante es guardar en alguna parte los valores anteriores a la operacion que acabes de crear e ir reemplazandolos con una nueva cada vez que la crees pero dejando siempre solo un par de numeros y un signo

una secuencia:

el usuario digita:
4 + 6

ahora digita ( + ) mas..

10 + .... a la espera de cualquier otra cosa

al undir un boton, si este te manda un numero... agregalo a la cadena de operacion, ejemplo: undes 5->

10 + 5 .... a la espera..

pero si undes (asterisco [ * ] para multiplicacion)... entonces debera determinar que no debe poner el * al final.. ni sumar 10 + *, sino cambiar + por *, ya que + no es numero...

quedando asi: 10 * ... a la espera...

Ahora, si en este caso no undes un numero sino la tecla IGUAL (teniendo solo un numero y un signo), entonces debes tomar ese caracter de operacion y ejecutarlo para con el unico digito escrito

ejemplos:

10 * (tecla igual) -> 100
10 + (tecla igual) -> 20
10 - (tecla igual) -> 0
10 / (tecla igual) -> 1
Nuestro poder está creciendo mas rápido que nuestra sabiduria