Archive for C sharp

Crear una calculadora básica en c#

Hola mi nombre es Eulises Rodríguez y les estaré publicando principalmente tutoriales de C#, y hoy empezaremos con el primero sobre cómo crear una calculadora básica que nos permita realizar las 4 operaciones matemáticas básicas como son (Suma, Resta, Multiplicación y División), lo haremos creando un menú para seleccionar a opción a elegir. Asi se mostrara nuestro programa ya terminado.

Lo primero que haremos será agregarle un nombre a nuestra clase en este caso le pondremos “Calculadora” posteriormente le asignaremos un título a nuestra ventana en mi caso le pondré “Mini Calculadora – Eulises rodríguez”

class Calculadora //Nombre de nuestra clase.
    {
        static void Main(string[] args)
        {
		Console.Title = "Mini Calculadora - Eulises Rodriguez"; //Sirve para agregarle un titulo a la ventana
        }
    }

Después vamos a declarar la siguiente variable y agregaremos el ciclo DO WHILE.

string resp = ""; //Esta variable nos servira para salir de la aplicacion.
do
  {
} while (resp == "s" || resp == "s"); //Aqui agregaremos la condición para salir, esto nos sera util mas adelante.

Luego vamos a declarar tres variables de tipo entero.

int valor1 = 0; //Aqui se almacenara el primer valor ingresado.
int valor2 = 0; //Aqui se almacenara el segundo valor ingresado.
int R = 0; //Aqui se almacenara el resultado de la operacion.

Ahora mostraremos los mensajes que llevara nuestro menú de selección.

//Aqui mostraremos los mensajes que apareceran en nuestra consola igual que el menu de seleccion.
Console.WriteLine("Presione el simbolo para realizar la operacion:n");
Console.WriteLine("+ para sumar");
Console.WriteLine("- para restar");
Console.WriteLine("* para multiplicar");
Console.WriteLine("/ para dividir");
Console.Write("n Eliga Una Opcion: "); //Aqui es donde indicaremos que operacion vamos a realizar
resp = Console.ReadLine();
string eleccion = Convert.ToString(resp); //Se hace la convercion a caracter.

Ahora vamos agregar los mensajes para introducir los valores.

//Aqui se agregaran los mensajes para poder ingresar los datos.
Console.WriteLine("nIngrese sus dos numerosn");
Console.Write("Valor1: ");
valor1 = int.Parse(Console.ReadLine());
Console.Write("Valor2: ");
valor2 = int.Parse(Console.ReadLine());
Console.WriteLine();

Para fianlizar vamos a usar la sentencia switch y ahí colocaremos las operaciones que se podran realizar.

switch (eleccion)
          {
case "+": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la suma es:");
R = valor1 + valor2;
Console.WriteLine("{0} + {1} = {2}", valor1, valor2, R);
break;
case "-": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la resta es:");
R = valor1 - valor2;
Console.WriteLine("{0} - {1} = {2}", valor1, valor2, R);
break;
case "*": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la multiplicacion es:");
R = valor1 * valor2;
Console.WriteLine("{0} * {1} = {2}", valor1, valor2, R);
break;
case "/": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la division es:");
R = valor1 / valor2;
Console.WriteLine("{0} / {1} = {2}", valor1, valor2, R);
break;
       }

Ahora mostraremos un mensaje si deseamos continuar o salir de la aplicación.

Console.Write("n¿Desea Continuar? s/n: "); //Si para realizarlo de nuevo y no para salir.
resp = Console.ReadLine();

Y asi se muestra nuestro programa en ejecucion.

CODIGO COMPLETO

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication15
{
    class Calculadora //Nombre de nuestra clase.
    {
        static void Main(string[] args)
        {
            Console.Title = "Mini Calculadora - Eulises Rodriguez"; //Sirve para agregarle un titulo a la ventana
            string resp = "";
            do
            {
                int valor1 = 0; //Aqui se almacenara el primer valor ingresado.
                int valor2 = 0; //Aqui se almacenara el segundo valor ingresado.
                int R = 0; //Aqui se almacenara el resultado de la operacion.

                //Aqui mostraremos los mensajes que apareceran en nuestra consola igual que el menu de seleccion.
                Console.WriteLine("Presione el simbolo para realizar la operacion:n");
                Console.WriteLine("+ para sumar");
                Console.WriteLine("- para restar");
                Console.WriteLine("* para multiplicar");
                Console.WriteLine("/ para dividir");
                Console.Write("n Eliga Una Opcion: "); //Aqui es donde indicaremos que operacion vamos a realizar
                resp = Console.ReadLine();
                string eleccion = Convert.ToString(resp);
                //Aqui se agregaran los mensajes para poder ingresar los datos.
                Console.WriteLine("nIngrese sus dos numerosn");
                Console.Write("Valor1: ");
                valor1 = int.Parse(Console.ReadLine());
                Console.Write("Valor2: ");
                valor2 = int.Parse(Console.ReadLine());
                Console.WriteLine();

                switch (eleccion)
                {
                    case "+":
                        Console.WriteLine("El resultado de la suma es:");
                        R = valor1 + valor2;
                        Console.WriteLine("{0} + {1} = {2}", valor1, valor2, R);
                        break;
                    case "-":
                        Console.WriteLine("El resultado de la resta es:");
                        R = valor1 - valor2;
                        Console.WriteLine("{0} - {1} = {2}", valor1, valor2, R);
                        break;
                    case "*":
                        Console.WriteLine("El resultado de la multiplicacion es:");
                        R = valor1 * valor2;
                        Console.WriteLine("{0} * {1} = {2}", valor1, valor2, R);
                        break;
                    case "/":
                        Console.WriteLine("El resultado de la division es:");
                        R = valor1 / valor2;
                        Console.WriteLine("{0} / {1} = {2}", valor1, valor2, R);
                        break;
                }
                Console.Write("n¿Desea Continuar? s/n: "); //Si para realizarlo de nuevo y no para salir.
                resp = Console.ReadLine();
            }
            while (resp == "s" || resp == "s");
        }
    }
}

Operadores, Estructuras de control en C# (C Sharp)

Buenas a todos! Antes de seguir les recomiendo ver el anterior articulo (si no lo vieron)

Curso de C# (Tipos de datos)

Operadores Aritméticos

Operadores Lógicos

Estructuras de control

  • Condicionales

Sentencia If con varios formatos

if(x < 10)     //Hacer algo se ejecuta si x es menor que 10
HacerAlgo();

//******

if(x < 10)    // En este caso es igual al anterior,
{                //  pero al ser más de una instrucción,
 HacerAlgo();   // debemos colocarlos entre llaves ("{" "}")
 HacerAlgo2();
}

//******

if(x < 10)
{              //es indistinto el uso de llaves 
Hacer();       //en este ejemplo ya que es solo una linea
}
else           //Si la condicion anterior no es verdadera  (x < 10)
{              //se ejecuta  Hacer2() y no Hacer()
Hacer2();
}

Sentencia Switch

switch(entero)
{
  case 1:  
           //código que queremos ejecutar en caso de que entero sea igual a 1
           break; //Esta instruccion hace que salgamos del switch
  case 2:  
           //código
           break;
  default: 
           //codigo que querramos hacer en caso de que el "entero" sea
           //distintos a los anteriores casos
           break;       

}
  • Repetitivas

Sentencia For

for(int i=0;i<10;i++)  //partes: declaración(i = 0) ;                       
{                       //prueba o condición (i < 10); 
 //codigo               //acción(i++), aumenta i en 1
}

Sentencia Foreach

string[] nombre = new string[10];
//Esto lo veremos más adelante
foreach (string auxNombre in nombre)  //Foreach permite recorrer arreglos
{                                     // y colecciones
   //auxNombre es un elemento de nombre
}

Sentencia While

bool condicion = true;

while(condicion == true)
{
//codigo
//en algún momento poner condicion = false; 
// o si no será un buecle infinito
}

Sentencia Do-While

bool condicion = true;

do
{
//codigo
//en algún momento poner condicion = false; 
// o si no será un buecle infinito
}while(condicion==true);

//La unica diferencia entre while y do-while,
//es que en while la condicion debe ser verdadera para entrar
//en el bucle. Por ejemplo si cuando llega al while y condicion es falso, 
//el programa salta todo el while. O sea no entra.
//En cambio en el do-while, el programa entra al menos una vez, y al final 
//inspecciona la condicion

Ejemplos básicos de aplicación

1)muestre la tabla de multiplicar del número 5. Ejemplo
4 x 0 = 0
5 x 1 = 5

static void Main()
{
  int numero = 5;
  for(int i = 0; i < 10; i++)
     {
       System.Console.WriteLine("{0} X {1} = {2}", numero,i+1,numero*i);
   //si queremos agregar datos al texto que ponemos en 
   //consola ponemos {x}, donde x significa
   //el orden que va despues de la coma
   //ej. el {0} representa al primer elemento 
  //despues de la coma, el {1} el segundo y asi..
     }
  System.Console.ReadLine();
}

2)De un contador de 1 a 20, mostrar cuales son pares y cuales impares

static void Main()
{
    for(int i = 1; i <= 20; i++)
    {
      if(i % 2 == 0) 
         System.Console.WriteLine("{0} es par",i);
      else
         System.Console.WriteLine("{0} es impar",i);
    }
    System.Console.ReadLine();
}

// el símbolo % devuelve el resto entre la división de i en 2
//Por ejemplo si tenemos el número 100 y lo dividimos en dos,
// da de resultado 50, sin resto. En cambio si tenemos 101 y lo 
//dividimos en 2, también nos da 50 pero nos queda un 1. Obviamente
//en el mundo de los números enteros.
//Entonces si el resto da 1, quiere decir que es numero es impar

Hasta la próxima!

Curso de C# (Tipos de datos)

Tipos de datos

    • CTS (Common Type System)

Define un conjunto común de “tipos” de datos orientado a objetos.
Todo Lenguaje de programación .NET debe implementar los tipos definidos por el CTS.
Todo tipo hereda directa o inderectamente del tipo System.Object.
El CTS define tipos de VALOR y de REFERENCIA.

    • Valores Predeterminados

Enteros -> 0(cero)
Flotantes -> 0(cero)
Lógicos -> False
Referencias -> null
Por ejemplo

 
int soyUnEntero; //soyUnEntero va a ser cero hasta que le asigemos un valor contrario.
bool Prendido; //Prendido va a ser falso
string Hola; //Hola va a ser null
    • Conversiones Básicas en C#

Hay dos tipos de conversiones:
Implicitas -> No interviene el programador
Explicitas -> Interviene el programador, porque puede haber pérdida de datos.

Ejemplos con código:

//Valores Predeterminados
int entero; //Creaamos un entero, en este momento, el valor de entero es 0.
entero = 5; //a ese entero le asignamos el valor 5. 

float flotante; //Crear un un número flotante, en este momento vale 0.
flotante = 4.23231; //Le asigamos el valor 4.23231

bool lampara;  //creamos un valor buleano, en este momento lampara es falso.
lampara = true; // Le cambiamos el valor a verdadero

string Texto; //creamos una cadena de caracteres, texto es null en este momento
texto = "Hola mundo"; //le asigamos la cadena "Hola mundo"

//Conversiones implicitas
Esta es una conversión implicita porque no hay perdida de datos, entonces sólo el compilador hace su trabajo
long valorGrande;
int entero = 5;
valorGrandee = entero;

//Conversiones explicitas
long valorGrande = 5;
int entero;
entero = (int)valorGrande;
//Acá si no colocamos (int) delante de valorGrande habrá un error, porque no podemos albergar un tipo long en un entero. La solución acá es el casteo, osea poner (tipo) delante de la variable que queremos asignar a otra variable,donde tipo es el mismo tipo de la otra variable. Pero habrá perdida de datos

En simples palabras, el tipo de datos es como una “caja”, en la cual ponemos cosas(datos). Pero tenemos distintos tipos de cosas, por lo tanto también habrá distintas cajas.
A partir de ahora a estas cajas la llamaremos Atributos.

Y como creamos un atributo?? De la siguiente manera.

Tipo nombreAtributo;

Donde:
Tipo -> representa el tipo de dato. Ejemplo string
nombreAtributo -> es el nombre de la “caja”. Ejemplo soyEntero.
; -> Algo que siempre debemos recordar que los atributos siempre terminan con punto y coma.

Y como “metemos” cosas dentro de las “cajas”? A esta llamaremos “Asignar” de ahora en adelante y lo haremos así.

nombre = cosa ;

Donde :
nombre -> Es el nombre del atributo.
= -> Es el operador de asignación. Con esto querremos decir de una forma bulgar, que “metemos” lo de la derecha en lo de la izquierda..
cosa -> dato. Ejemplo 5.
; -> Fin de la instrucción.

Pero también podemos hacer las dos cosas en la misma linea.
por ejemplo:

 int nombreEntero = 10;

Bueno esto es todo por hoy, espero haber sido claro.
Hasta la proxima!

Curso de C# (Introducción)

Buenas a todos!!

El objetivo de esta entrega es dar un pequeño comienzo en este lenguaje. Primero ante que nada, C# es un lenguaje orientado a objetos, y por esa razón (desde mi humilde posición), no lo recomiendo como primer lenguaje a aprender. Por eso mismo, voy a “escaparme” de explicar algoritmos básicos, y solo mostrar su sintaxis. Ah esto me refiero, como por ejemplo, estructuras de control, tipos de datos, etc. En caso de ser necesario, dedicaré un articulo a ese tema.
Con esto me refiero a todo el tutorial y no a este articulo, ya que ahora no veremos nada en profundidad.

Visual Studio y Primera Aplicación

Para comenzar debemos conseguir cualquier Visual Studio. Yo tengo el Visual Studio 2012. Lo pueden descargar de acá: Descargar Visual Studio


Una vez instalado, lo abren y crearemos un nuevo proyecto.
¿Cómo? Van a Archivo->Nuevo-> Proyecto y les aparecerá lo siguiente:

En plantillas debe estar seleccionado Visual C#, y en Visual C# seleccionamos Windows. Luego a la derecha seleccionamos Aplicación de consola. En nombre ponemos lo que queramos. Aceptamos y les aparecerá lo siguiente

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Primera_aplicación
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

Ahora lo modificamos hasta que quede de la siguiente manera.
Cuidado en donde dice namespace, ponen lo que tenían ustedes

using System;

namespace Primera_aplicación 
{
    class Program
    {
        static void Main()
        {
            Console.Title = "Primera Aplicación en c#";
            Console.WriteLine("Hola soy un programa sin sentido...LOL!");
            Console.ReadKey();
        }
    }
}

Apretamos el botón de arriba que dice Iniciar, o apretamos la tecla F5. De cualquiera de esta dos manera compilamos y ejecutamos el programa. A lo cuál saldrá lo siguiente

Obviamente si recién se inician en c# no van a entender casi nada, pero si empiezan a observar el código, verán que es, como hasta obvio. Pero no se preocupen, ahora lo vamos a analizar juntos, linea por linea.

——————————————————————————————————————————————

using System;

Por ahora, les comento que es como para escribir menos código,hasta ni siquiera es necesario en esta aplicación. Pero más adelante veremos mejor su utilidad.

——————————————————————————————————————————————

namespace Primera_aplicación

Es un conjunto de nombres en el cual todos los nombres son únicos. Wtf?? no importa todavía ni hace falta entenderlo

——————————————————————————————————————————————

class Program

Una clase de nombre Program…

Pero al final no estás explicando nada!
Tranquilos no los estoy trolleando, todavía no hace falta entender esto

——————————————————————————————————————————————

 static void Main(){...}

Como en todo lenguaje lenguaje de programación,debemos decirle a la maquina, donde debe comenzar a leer el código.Y obviamente C# no es la excepción. Y se lo indicamos con esa linea
Donde:
static -> Es un modificador que permite ejecutar un método sin tener que instanciar a una variable(sin crear un objeto). En resumen a Main, siempre debemos ponerle el static, aunque todavía no sepamos para que.
void -> Indica el tipo de valor de retorno del método. No necesariamente tiene que ser void. En este caso no devuelve nada, por eso se pone void.

——————————————————————————————————————————————

Console.Title = "Primera Aplicación en c#";

Si observamos la pantalla negra que sale cuando apretamos F5 o el botón Iniciar, veremos que dice lo mismo que lo que está entre comillas en esta línea. Si! si cambiamos el contenido de lo que esta entre comillas, también cambiará en la aplicación. Y es el titulo de la aplicación, por algo dice Title jeje

——————————————————————————————————————————————

Console.WriteLine("Hola soy un programa sin sentido...LOL!\n\n\n");
Console.WriteLine("Presione cualquier tecla para terminar..");

Ahora acá dice WriteLine…mmm escribir linea no?
Lo que pongamos entre las comillas, es lo que se mostrara en pantalla.
Les propongo que jueguen con cambiar lo que esta entre comillas, para ir afianzándose.

——————————————————————————————————————————————

Ahora les recomiendo que borren la siguiente linea y ejecuten el programa

System.Console.ReadKey();

¿Qué paso? no vieron nada no?
Bueno les explico, lo que paso es que se ejecutó, mostró los textos(“Hola soy un programa sin sentido…LOL!\n\n\n” y “Presione cualquier tecla para terminar..”) y se cerró, porque no había nada que hiciera que el programa espere. Esta linea lo que hace es obligar al programa a esperar el presionar de una tecla cualquiera, o mejor dicho, esa función le dimos en este programa.

——————————————————————————————————————————————

Bueno eso es todo, obviamente esto va a seguir y prometo que va a ser mas “formal” jeje
El objetivo de esto era que vieran el editor, El Visual Studio en sí, y otras cositas más.

Por eso les digo que si no entendieron nada, no importa, esto es un comienzo. Es solo una pequeña introducción.
Los próximos artículos iré explicando más a detalle.
Saludos y hasta la pronto!!