Facuu! Buenas gente! La idea es compartir los dos programas (por ahora) que hice en C# para la facultad (ING. en Sistemas), e ir explicando un poco lo que se va haciendo en el cdigo. Tengo tambin un juego de carreras de autos, nada del otro mundo, simple, en 2D, como se suele pedir en los inicios de la carrera, que quizs mas adelante subir!
En este post, la calculadora, en si realiza operaciones bsicas, las dems estn de "adorno". Permite sumar, restar,dividir,sumar sucesivamente,multiplicar, etc. No tiene aun interaccin con el teclado, porque no se lo peda para el proyecto, as que funciona con clics. Ademas tiene corregido ciertos "bugs" que el profe probaba para bajar la nota: -Como divisin por 0. -Multiplicacin por 0. -Al poner 0000.01 debera quedar 0.01, lo mismo que al poner 33.340000, cambiara a 33.34 y algunos otros.
Funciona creo que bien, por lo menos el profe la probo y todo bien, dentro de lo que peda. La nota fue un 9 (nueve), porque nopude hacer funcionar la resta sucesiva, por problemas de signo, y la divison sucesiva. Al ser el primer programa fue creado todo en un mismo Form, sin uso de clases. Se inicializa en 0 al abrirla. Cada botn tiene su respectivo cdigo, que detallo un poco a continuacin:
Es idntico para todos los nmeros. Primero comprueba a travs de la variable booleana "ceroste", declarada como true, si en el visor de la calculadora hay un numero, operacin, o no. Si es verdadero, es porque es el primer numero, por lo tanto borra el "0", muestra el numero oprimido, cambia el "ceroste" a falso, ya que de ahora en mas, ya existe algo en el visor; y de lo contrario, aade a lo que existe en el visor, el numero apretado. O algo asi era jaja.
Si la cantidad de caracteres es uno, pone un 0, de lo contrario le va restando el ultimo caracter.
A la variable "num2", declarada anteriormente, se le asigna el numero que se oprimi, previamente convertido del texto, a un tipo double. Y la variable "num1" se le asigna la suma de si misma, con el "num2", y se muestra por el visor este resultado. Esto es para la suma sucesiva, sin apretar el = (igual). Al string "operation" se le designa el "+", esto sirve, para mas adelante poder realizar un switch/case. El boton MENOS, solamente se asigna a "operator" el menos, y cambia el valor a true del "ceroste", ya que como dije antes, no funcionaba la resta sucesiva.
El boton POR y DIVISION es practicamente mas de lo mismo, y se entiende, creo jaja sino, me preguntan
Comprueba el estado de "ceroste" y si ya contiene una "," no le agrega otra, de lo contrario le aade a loq ue esta en el visor, la ",".
Asigna a "operation" el C, para ser usado en el switch/case luego, "pone" un 0 en el visor, cambia el valor de "ceroste" e inicializa los dos nmeros en 0.
Es simple, asigna a "valor" lo que este en el visor, y lo multiplica por -1, y lo muestra en el visor.
Es donde se realiza la magia digamos ajaj. En todas las operaciones lo que va a hacer es, asignarle a "equal" la suma, resta, multiplicacion, o division de los dos nmeros y dps mostrar el resultado por el visor, en el caso que se oprima C realiza esos pasos, son torpes, pero no me funcionaba sin ese case. Puede tener otros errores, parte de codigo de mas, pero en si, como mi primer proyecto en este lenguaje, me parece que esta bastante bien. Me mandan un PM si quieren descargarla! Y les paso el link
Eso fue todo, por ahora. Estoy realizando otro post con la Agenda y el Juego, estos tardaran mas porque es mas codigo, varios Forms, por lo tanto clases y objetos, constructoores y demas para explicar! Cualquier cosa no duden en consultarme Se agradece de antemano los comentarios y donativo de puntos jaja. Saludos!