8 – Resumen del primer bloque

1. Resolución del ejercicio del capítulo anterior Hola, bienvenido de nuevo a Programar mola con Visual Studio donde puedes seguir éste curso de programación en C# con Visual Studio y .NET Framework 4.5. Antes de empezar con nuevo temario vamos a resolver el ejercicio que planteamos en el capítulo anterior, pero antes recordemos el enunciado: Te piden un formulario que recoja el nombre de una persona y permita escoger es estado civil de ésta persona de un listado predefinido. La lista de estados es la siguiente:

  • Soltero/a
  • Casado/a
  • Divorciado/a
  • Viudo/a

También te piden una opción que permita cambiar el color de:

  • Fondo del formulario
  • Fondo de los controles
  • Texto

Bien, la parte sencilla es la que ya hemos visto en el capítulo anterior y no es otra que usar un textbox para recoger el nombre, le pondremos también un label para que el usuario sepa que le estamos pidiendo: 8.resol.1 Hasta aquí ningún misterio, lo siguiente si es un poco más complicado básicamente porque no lo he explicado, pero seguro que has hecho caso de las pistas y has buscado por internet como se usa el control “ComboBox”. Vamos a empezar añadiendo uno en nuestro formulario: 8.resol.2 Si haces clic en el combo verás que aparece una flechita en su esquina superior derecha que te permite desplegar un menú, desde ahí puedes entrar en “Editar elementos” y añadir los que te pide el enunciado: 8.resol.3 Después de aceptar el mensaje vamos a darle al play y comprobar como se comporta nuestro nuevo y flamante combo: 8.resol.4 ¿Fácil verdad? Los combos están ahí para eso, para que un usuario escoja entre alguna de las opciones prefijadas que se le ofrecen. No tiene sentido preguntar el estado civil en un campo de texto libre como un “textbox” porque no nos interesa que se inventen un estado civil o que lo escriban mal, por ejemplo. Bien, vamos a la última parte del ejercicio: el cambio de color. Hasta ahora el enunciado no nos pedía programar nada de código, simplemente montar el formulario para recoger datos pero me temo que con lo de los colores nos vamos a tener que manchar las manos de barro. Empecemos añadiendo un control “ColorDialog” tal y como nos dicen las pistas: 8.resol.5 Como ves se parece al “Timer” ya que no tiene una representación gráfica en nuestro formulario, pero nos aparece bajo éste para que sepamos que lo tenemos creado y podamos tocar sus propiedades. Bien, si has buscado por Internet verás que para usar éste control necesitamos pedirle que nos muestre su cuadro de colores y esto lo tenemos que hacer por código. Una buena práctica es estudiarse el listado de propiedades, eventos y métodos de un objeto, lo cual ya hemos visto en capítulos anteriores cuando, desde código, escribíamos el nombre de un control y le dábamos al punto, desplegando el listado de opciones. Para no complicarlo vamos a añadir un menú en el formulario y vamos a programar el evento click de sus opciones para que nos muestre el cuadro de diálogo: 8.resol.6 Recuerda que haciendo doble click podemos programar directamente el evento click de la opción: 8.resol.7 A éste cuadro que nos muestra lo que podemos hacer con un objeto se le conoce como “IntelliSense” y hasta nos explica para que sirven los métodos si sus nombres no están del todo claros. Piensa que seguramente seas capaz de aprenderte los métodos y propiedades más importantes de los controles que trae el .NET Framework pero también se pueden instalar componentes de terceros (que suelen ser muy potentes… y también de pago…) y la única forma de saber que coño hacen y como utilizarlos es mirar la documentación donde, precisamente, te explican que propiedades y métodos traen consigo. Como somos personas curiosas vamos a echar un vistazo y… ¡voila! Hay un método que se llama “ShowDialog” que nos viene de perlas: 8.resol.8 Vamos a ver como se comporta ahora nuestro form cuando usamos dicha opción: 8.resol.9 ¡Anda la hostia! Que opción más chula pero… ¿una vez se escoge un color como lo usamos? Pues volvamos a investigar la lista de opciones que tiene el objeto… vaya, tiene una propiedad llamada “Color” y además nos dice que es la que nos da el color seleccionado por el usuario… pues vamos a cogerlo y a ponerlo de color de fondo del formulario: 8.resol.10 Quizás la parte más complicada aquí sea ver como cambiar el color del formulario, pero no es para nada difícil una vez lo ves claro. Si te fijas bien estás programando el código el propio formulario que quieres modificar, lo puedes ver justo después de declarar el namespace, cuando se declara la clase actual (en mi caso línea 13), estamos dentro de la clase Form1 que es de tipo Form por lo que queremos modificar el objeto dentro del cual estamos programando, y la mejor forma de acceder a dicho objeto es mediante la palabra “this”. Una vez visto esto, modificando la propiedad “BackColor” de “this”, es decir, el objeto actual, es decir, el formulario que queremos cambiar, queda todo hecho. ¿Por que no le damos al play para probarlo? 8.resol.11 Si hasta aquí está todo claro solo nos queda repetir todo esto en la otra opción, pero en lugar de cambiar le color del formulario cambiaremos el de los controles: 8.resol.12 Y listos, con esto tenemos el ejercicio completado. Espero que te animes a probar los otros controles y a jugar con ellos, se pueden hacer cosas muy chulas 🙂

2. Contenido del capítulo

Le he estado dando algunas vueltas al tema y creo que antes de continuar explicando cosas nuevas sería conveniente hacer un repaso de todo lo que llevamos visto hasta ahora, aunque he intentado que todos los ejemplos que he ido poniendo sean acumulativos, incluyendo así elementos ya vistos antes, nunca está de mas echar la vista atrás para refrescar conceptos sin detenernos en los detalles.

Éste es el listado de lo que hemos aprendido hasta ahora y, por tanto, vamos a repasar:

  • Tipos de datos básicos
  • Arrays
  • Variables y constantes
  • Operadores lógicos
  • Operadores booleanos
  • Condicionales
  • Programación orientada a objetos
  • Windows Forms

¡Pues no perdamos más tiempo y vamos a repasar un poco!

3. Tipos de datos básicos

Dado que programamos con C# sobre .NET Framework disponemos de un conjunto de tipos de datos que vienen incluidos en el sistema con los que podemos trabajar.

Los tipos que hemos visto hasta ahora son:

  • int: para números enteros
  • float: para números reales
  • bool: almacena el valor de cierto o falso.
  • string: contiene una cadena de texto.
  • object: es el tipo básico, como si fuera un comodín podríamos tratar todos los tipos que hemos visto como si fueran object (cuando hablemos de herencia quedará más claro).

Existen otros tipos de datos pero para lo que vamos a hacer nos podemos bastar de sobras con estos, si tienes curiosidad sobre otros tipos puedes consultar la documentación de Microsoft al respecto.

4. Arrays

Es posible crear colecciones de elementos, por ejemplo, un conjunto de enteros o un conjunto de floats. Los arrays son de tamaño fijo y es necesario indicar que tamaño queremos reservar, por ejemplo:

int[] my_array = new int[10];

De ésta forma estamos declarando un array de de enteros de 10 posiciones, después podemos acceder a dichas posiciones mediante los corchetes y tomar o asignar valores, asi:

my_array[3] = 25;

Esiten otras formas de inicializar arrays, como por ejemplo la siguiente que nos permite establecer sus valores de forma inlne:

object[] my_array = new object[]{1, “hola”, 4.5f, false};

Como puedes ver, todo cabe en un array de objects 😉

5. Variables y constantes

Como hemos visto en multitud de ocasiones, cuando necesitamos trabajar con datos es necesario que los guardemos en campos constantes o variables, dependiendo de si el valor es fijo es modificable respectivamente.

El valor de una constante se declara junto con la misma y no se puede modificar durante la ejecución del programa, es importante identificar las constantes y hacer buen uso de ellas ya que no solo mejora el rendimiento del programa sino que nos indica que estamos entendiendo lo que hacemos.

Las constantes se declaran así:

const int my_const = 25;

En el otro lado tenemos las variables, que son valores que se pueden modificar durante la ejecución de un programa y se declaran asi:

int my_var = 35;

6. Operadores lógicos

Hemos visto distintos tipos de operadores lógicos y seguro que te son muy familiares ya que hablamos de cosas tan típicas como sumar, restar, multiplicar o dividir. Es importante remarcar que los operadores lógicos solamente se pueden utilizar con datos del mismo tipo, es decir, no se puede sumar un entero con un string si antes no se ha hecho algún tipo de conversión.

Suma:
int a = 1;
int b = 2;
int c = a + b;

Resta:
float a = 2.2f;
float b = 1.2f;
float c = a – b;

Multiplicación:
int a = 33;
int b = 4532;
int c = a * b;

División:
float a = 0;
float b = 1.0000012f;
float c = a / b;

Recuerda también que los strings se pueden concatenar sumándolos.

7. Operadores booleanos

Se trata de lógica básica, los operadores booleanos se suelen aplicar a condicionales y consisten en evaluar ciertas propiedades para determinar si son ciertas o falsas.Por tanto el tipo de dato que retorna un operador de éste tipo siempre es booleano.

Mayor que:
int a = 33;
int b = 4532;
bool c = a > b; (falso)

Mayor que:
int a = 33;
int b = 4532;
bool c = a < b; (cierto)

Igual que:
int a = 33;
int b = 4532;
bool c = a == b; (falso)

Distinto que:
int a = 33;
int b = 4532;
bool c = a != b; (cierto)

A estos operadores de comparación se le unen otros de unión o conjunción:

Y:
int a = 33;
int b = 4532;
int c = 2;
bool c = a > b && c == 2; (falso)

O:
int a = 33;
int b = 4532;
int c = 2;
bool c = a > b || c == 2; (cierto)

8. Condicionales

Los condicionales son una herramienta básica en la programación secuencial (como la nuestra) ya que nos permiten ejecutar piezas de código únicamente si se cumplen ciertas condiciones:

if(low_battery){
ModoReposo();
}
else{
ModoNormal();
}

9. Programación orientada a objetos

Esta es, en mi humilde opinión, la parte más divertida y quizás la más compleja.

Como hemos visto los tipos de datos se representan con objetos, donde un objeto es una entidad que contiene uno o varios valores y un conjunto de métodos. Los integers, booleans, strings y floats que hemos visto tienen un conjunto de métodos predefinidos pero solamente toman un valor dependiendo del tipo que hayamos declarado. Lo divertido del asunto es que nosotros somos capaces de crear nuestros propios objetos mediante clases, donde podemos meter lo que nos dé la gana.

Por ejemplo:

8.clases.1

Lo que tenemos aquí es una clase que se llama Persona u que describe, de una forma muy resumida, los datos de una persona. Tiene 3 atributos privados, un método constructor, 3 propiedades y un método.

El constructor toma como datos de entrada el nombre de la persona y su edad y los almacena en los atributos privados. Si te fijas aparece la palabra reservada “this”, en éste punto es necesaria porque si te fijas los atributos de la clase se llaman igual que los parámetros de entrada del constructos, usando “this” le estamos diciendo al programa a cual de los dos nos referimos. Además como se trata de atributos privados no se pueden acceder desde fuera de la clase, es decir, quien use Persona no podrá ver estos atributos ni modificarlos por lo que los tenemos bien protegidos.

Lo sieguiente son las propiedades, una propiedad es un método especial que solo se encarga de entregar un valor o modificarlo. En nuestro caso, como los atributos son privadas necesitamos propiedades que permitan acceder a los valores pero si te fijas, las dos primeras solo permiten consultarlo por lo que una persona siempre tendrá el mismo nombre de creación (algo similar a la vida real suponiendo que nadie se cambiara el nombre) y tampoco se nos permite modificar libremente la edad.

La última propiedad si que permite modificar los datos a parte de consultarlos, lo hemos permitido porque es normal que una persona cambie de domicilio.

Lo último es un método que representa el día del cumpleaños, incrementando en uno la edad de esa persona.

Es importante que se entienda que tenemos el control absoluto de nuestra clase y, lo que es más importante, somos libres de dejar nuestra clase más abierta o más cerrada a cambios desde el exterior, en mi caso no he dejado que un programador le pueda quitar años a una persona ni le pueda cambiar el nombre una vez creada, pero si que le dejo consultar esos datos o hacerle cumplir años.

10. Windows Forms

Es la parte más gráfica ya que nos permite montar una interfaz para que el usuario interactue con nuestra aplicación de forma más amigable, los formularios se componen de controles que. a su vez, tienen atributos, métodos y eventos. Recuerda que los eventos son métodos programables que se disparan en una situación concreta como, por ejemplo, un clic.

Los controles más comunes son:

  • TextBox: permite recoger texto libre.
  • ComboBox: permite escoger una opción de una lista predefinida.
  • CheckBox: permite marcar una o varias opciones.
  • RadioButton: permite seleccionar una única opción.
  • Button: permite insertar un botón y programar su comportamiento.
  • MenuStrip: permite construir un menú.

Existen multitud de controles nativos y de terceros, todos hacen cosas distintas pero todos tienen cosas en común. Que no te de miedo jugar con ellos, investigar sus métodos, propiedades y eventos, muchas veces descubres una mejor forma de resolver un problema cuando estás haciendo experimentos.

11. Resumen

Y hasta aquí el resumen, porque no pienso hacer un resumen de un capítulo que ya es un resumen. Tampoco se me ocurre un ejercicio que aporte nada porque siempre hemos hecho ejercicios acumulativos, es decir, hemos aprovechado lo aprendido en capítulos anteriores y lo hemos ampliado con lo aprendido en el actual… así que prefiero no ser redundante y dejarte descansar y coger fuerzas.

En el próximo capítulo nos meteremos de lleno en el camino de la iteración (o bucles) y más adelante hablaremos de recursividad, si entretanto te aburres te invito a que crees una clase basándote en algo de la vida real (una persona, una nevera, un armario…), programes sus métodos y atributos y busques la manera de representarlo con WinForms, a tu rollo, sin prisas ni reglas, esa es la mejor forma de aprender.

Mucha suerte y nos vemos en la próxima entrada.
¡Gracias por seguir mi blog!

2 – Introducción a la programación

1. Contenido del capítulo

Hola, bienvenido de nuevo a Programar mola con Visual Studio donde puedes seguir éste curso de programación en C# con Visual Studio y .NET Framework 4.5.

Si has leído el capítulo anterior ya debes tener instalado y correctamente configurado tu Visual Studio así que en éste capítulo vamos a hacer lo siguiente:

  1. Pequeña y breve introducción a los elementos fundamentales de VS.
  2. Creación de un nuevo proyecto Windows Forms.
  3. Diseñador de formularios y herramientas.
  4. Vista de código.
  5. Compilación en modo debug.
  6. Introducción a los tipos de datos.
  7. Declaración de variables.
  8. Operaciones básicas con variables.
  9. Depuración punto por punto.
  10. Ser elegante no cuesta nada.
  11. Presentación del primer problema del curso.

Antes de continuar voy a dar por sentado que los conceptos del capítulo anterior están claros (de hecho será así en cada capítulo) por lo que me voy a ahorrar los enlaces a la Wikipedia de la terminología que ya se ha visto anteriormente (irlos poniendo es un coñazo) pero si tienes dudas puedes dejar un comentario o consultar el capítulo anterior, lo que te sea más cómodo 🙂

2. Introducción a Visual Studio

Visual Studio es la herramienta con la que vamos a programar, probar y generar nuestros programas. Es una herramienta muy potente y tiene millones de opciones de las cuales no tengo ni puta idea de la mitad, pero si de las que nos van a hacer falta para el curso así que iré al grano.

Tan pronto como hayas abierto VS verás algo similar a esto:

inicio

Propaganda, anuncios y mierdas varias a las que nunca he prestado atención. Lo que vamos a hacer es crear nuestro primer proyecto, para ello vamos a Archivo/Nuevo proyecto.

3. Creación de un proyecto

Como vamos a usar C#, nos vamos a su opción correspondiente y seleccionamos Aplicación de Windows Forms. Ahora hay que ponerle un nombre a la aplicación y escoger (si no te gusta la que viene por defecto) una ubicación. En la imagen tienes un ejemplo:

proyecto nuevo

Si te fijas, verás que puedes escoger la versión del .NET Framework que por defecto viene marcada la 4.5.1. Si por algún motivo estás usando una versión anterior de Visual Studio (por ejemplo la 2010) no podrás ir más allá del Framework 4.0 pero no te preocupes, para el contenido de éste curso no debería haber ningún problema en trabajar con un Framework más antiguo.

Acepta y crearás tu proyecto viendo algo parecido a esto:

proyecto

4. Diseñador de formularios y herramientas

formSobretodo no te asustes y no entres en pánico, son muchas cosas nuevas pero son muy sencillas de usar cuando le pillas el truco.

Lo que tienes en el centro es el formulario, que viene a ser como se ve tu aplicación. No puedes moverla, minimizarla ni cerrarla así que no lo intentes… vale, seguro que lo has intentado pero no va, no es más que una imagen. Lo que sí puedes hacer es jugar con su tamaño arrastrando los cuadritos blancos que la rodean.

explorador y propsSi te fijas en el lado izquierdo, verás que si haces clic donde pone Cuadro de herramientas se despliega una pestaña con muchas opciones, desplegando la primera opción puedes ver todos los componentes que Visual Studio nos permite insertar en nuestro formulario. Todos estos componentes son nativos del .NET Framework 4.5 (lo cual quiere decir que cualquier persona que lo tenga instalado debería ser capaz de hacer funcionar nuestro programa), muchos de ellos no los vamos a usar y algunos otros nos hartaremos de verlos, pero lo dejaremos para más adelante.

Ahora quiero que te fijes en el panel de la derecha, en la parte de arriba tienes el Explorador de soluciones que te permite ver todos los elementos que contiene tu programa, algunos de esos elementos son archivos que se han creado en tu disco duro al generar el proyecto, otros son solamente configuraciones del proyecto… como antes ya lo veremos sobre la marcha porque sino esto puede ser un puto lío que te cagas, ahora solamente nos interesa que nos suenen las cosas y que sepamos que están ahi y que hacen “cosas”.

Justo debajo tienes el panel de propiedades, donde se definen las propiedades de los distintos elementos que componen el formulario (éste incluido). Ahí se puede cambiar el color de fondo, el nombre, etc.

5. Vista de código

Bien, lo que hemos visto es la parte visual del proyecto, lo que sirve, entre otras cosas, para tocar lo que se llama Interfaz Gráfica de la aplicación. Pero la parte que más nos interesa es otra, donde de verdad está la chicha: EL CÓDIGO FUENTE.

Bien, para acceder a tan oscuro y hermoso lugar hacemos clic con el botón derecho del ratón sobre el formulario en el explorador de soluciones (Form1.cs) y seleccionamos ver código como se puede ver en la imagen.

opcion codigo

Deberías ver algo parecido a esto:

codigo

Seguramente tu veas todo el texto un poco más pequeño, yo tengo el zoom aumentado para no quedarme ciego (que ya lo estoy bastante) pero por si te interesa puedes cambiarlo dejando apretada la tecla Ctrl + Rueda del ratón.

Bien, lo que estamos viendo es el Mátrix de nuestro formulario, lo que realmente trabaja, lo que si no está aquí no funciona. Recuerda que independientemente de los asistentes, las ventanas de configuración que hemos visto antes, el código va a misa. El código siempre manda y nunca miente.

6. Compilación en modo Debug

Y esto del debug… ¿que es?

Pues para que nos entendamos es ejecutar un programa y poder ver que es lo que está haciendo, en teoría deberíamos saber que es lo que hace antes de ejecutarlo porque lo hemos programado nosotros pero a veces se nos escapan cosas, se producen errores y es la mejor manera de averiguar qué está pasando, lo que llamamos debugar.

playPara que veas un ejemplo, vamos a darle al botón de play verde que se ve por arriba.

formEsto nos va a compilar la aplicación en modo debug y nos la va a ejecutar para que la podamos probar. Deberías ver el formulario vacío que hemos visto antes pero ahora si que lo puedes mover, minimizar y cerrar pues ya no es una simple imagen sino toda una aplicación… ¡Tu primera aplicación!

Verás que el botón de play verde se ha transformado en un stop rojo, si lo pulsas se para la ejecución y volvemos a como estábamos antes. Esto también ocurre si cierras la ventana del Form1.

7. Introducción a los tipos de datos

Bueno, la cosa ya se va poniendo interesante ¿verdad?. Ya hemos visto como crear un proyecto, algunos elementos de VS y hemos ejecutado nuestra primera aplicación. Ahora es el momento de empezar a escribir nuestras primeras líneas de código.

Vamos a hacer algo tan tonto como una suma… ¿Pero que podemos sumar?

Tienes que imaginar la programación como un gran puzzle donde las piezas las creas tú, por ejemplo, viene un señor (en éste caso yo) y te dice “Oye tú, súmame dos números y dime el resultado”. Aquí el objetivo está claro, darle a éste señor el resultado de una suma, sabemos cómo juntar las piezas del puzzle pero no tenemos las piezas así que nos las vamos a inventar.

Vamos a crear dos variables, una variable es un elemento que puede ir cambiando de valor durante la ejecución del código.

Las variables se componen de un tipo y un nombre, cómo el señor nos ha pedido que sumemos dos números vamos a crear dos variables de tipo entero y, en un arrebato de originalidad, las vamos a llamar numero1 y numero2. El código quedaría como vemos a continuación:

codigo1Al escribir int le hemos dicho a C# que vamos a crear una variable de tipo entero, y a continuación hemos puesto su nombre para rematar con un punto y coma que significa que ya hemos acabado.

Vale, el siguiente paso es darle valor a esos números, para eso usaremos lo que se conoce como asignación. En el código lo vais a ver super claro:

codigo2

Vale, tenemos nuestras piezas, dos números que valen 5 y 3, nos queda sumarlos como nos han pedido. ¿Que cómo se suma? Pues sumando :p

8. Operaciones básicas con variables

codio suma

¡Wow! Espera… ¿que es esa marca roja? Pues resulta que Visual Studio nos está diciendo que hay un error en nuestro código, si dejas el ratón sobre la línea errónea podrás leer el mensaje de error… aunque no siempre se entiende lo que quiere decir…

error1

Éste error, en castellano estándar, significa “Eh tio/a, estás sumando dos cosas y no me estás diciendo dónde quieres que ponga el resultado.” Ojalá Visual Studio nos dijera así las cosas, sería todo mucho más fácil.

Bien, la solución es muy sencilla, vamos a crear una nueva variable para poner el resultado de nuestra suma y vamos a poner el resultado ahí. Quedaría así:

codio suma ok

Bien, repasemos:

Tenemos tres variables, a una le ponemos un 5, a la otra un 3 y a la última le ponemos la suma de las otras dos… vamos a darle al play a ver que pasa.

¿No pasa nada verdad? Pues sí y no, el código se está ejecutando pero no lo estamos enviando hacia la interficie gráfica que es la ventana que vemos cuando le damos al play.

9. Depuración punto por punto

Vamos a debugar para demostrar lo que digo, si hacéis clic en la barrita gris a la izquierda del número de línea 19 se marcará con un punto rojo como en la imagen:

breakpoint zero

El punto rojo se conoce como Breakpoint o punto de interrupción, de ésta manera le estamos diciendo al programa que cuando le demos al play se pare ahí. Vamos a darle al play y veremos lo siguiente:

breakpoint

Si dejas el ratón puesto sobre numero1 verás que te dice que su valor es 0, esto es así porque cuando se crea una variable de tipo int su valor por defecto es siempre 0.

Ahora pulsa la tecla F10, esto hace que el programa avance un paso.

debug2

Pon el ratón sobre numero1 y verás como ahora vale 5, si haces lo mismo sobre numero2 verás que vale 0. Ahora pulsa F10 dos veces para que nos coloquemos en el punto de ejecución donde se ha realizado al suma.

debug3

Repite el proceso y verás como numero1 vale 5, numero2 vale 3 y… ¡¡¡resultado vale 8!!.

Felicidades, has picado tu primer programa 🙂

10. Ser elegante no cuesta nada

Una cosa muy cierta es que un código limpio, bonito y bien estructurado no solo hace menos daño a la vista sino que nos va a ahorrar un montón de tiempo a la hora de buscar errores, ampliar el código, etc.

Nuestro primer programa tiene solamente (si contamos lo que nosotros hemos escrito) 8 líneas contando los espacios en blanco. Pues bien, podemos dejarlo un poco más elegante si establecemos los valores cuando creamos las variables, ya veréis como todo queda más claro:

codigo_limpio

Como puedes ver la lectura ahora es clara: numero1 vale 5, numero 2 vale 3, resultado es la suma de los dos anteriores.

11. Presentación del primer problema del curso

Bueno, hemos llegado al final de éste capítulo y es el momento de presentar un problema.

He pensado que puede ser más divertido si presento el problema y no lo resuelvo hasta que publique el próximo capítulo, así te doy la oportunidad de resolverlo por ti mismo que es la mejor forma de aprender.

Creo sinceramente que si te doy la solución directamente vas a tener la tentación de mirarla y “picando piedra” es como se aprenden los truquitos y se superan los problemas que te puedas encontrar… aún así recuerda que tienes lo comentarios para hacerme cualquier pregunta que te surja.

Por último te recomiendo que te hagas muy amigo de los buscadores como Google, Yahoo! o Bing, te solucionarán muchas de tus dudas de forma rápida y cómoda y además aprenderás un montón de trucos de gente que, seguramente, sabe mucho más que yo.

Enunciado
El mismo señor que te había pedido que sumaras dos número cualesquiera te pide ahora que le hagas lo mismo con una resta, una multiplicación y una división y guardes los resultados en cuatro variables diferentes.

Pistas
Puedes aprovechar el proyecto que se ha creado en éste capítulo.
Puedes crear tantas variables como quieras para los operandos y los resultados.
Los operadores que necesitas són:

  • Suma, símbolo más (+).
  • Resta, símbolo guión (-).
  • Multiplicación, símbolo asterisco (*).
  • División, símbolo barra (/).