You are on page 1of 7

Crear una aplicacin de consola en C#.

Tutorial y ejemplo | puntopeek

http://www.puntopeek.com/programacion/creando-una-aplicacion-de-con...

Home C# Tutoriales Desarrollo Web Wordpress Autor

Aplicaciones de Consola en C#
Jun 20, 2011 Programacion Tutoriales C# 10 comentarios El principal motivo de este post, es que la mayor parte de los que leen este blog no saben como interactuar con el usuario a 2 tweets travs de la consola (lo cual es comprensible), y no tienen una forma dinmica de probar sus cdigos. Generalmente cuando retweet retweet nos ensean a programar, parten de la parte de como crear mtodos, la sintaxis del lenguaje, las estructuras de control (for, foreach, etc) y se pasan por alto la parte de como crear una aplicacin, donde el usuario vea resultados a traves de la consola. Bueno, empecemos desde 0:

Crear una aplicacin de Consola:


Para esto, deberemos ir a File->New->Project si usas Visual Studio, pero con cualquier otro IDE debe ser algo parecido. Entonces se mostrar una nueva ventana como la de la figura, seleccionamos C# en el menu izquierdo y luego como tipo de proyecto marcamos Console Apliccation, le ponemos un nombre al proyecto y le damos Ok. Ya estaremos listos para empezar con el cdigo.

Mtodos tiles para trabajar con la consola


Para interactuar con el usuario es que existen algunos mtodos bsicos cuando trabajamos con la Consola. Veamos los ms usados: 1- Console.WriteLine(); Escribe una nueva linea en la consola, es como presionar Enter y escribir una linea. Por ejemplo, podemos hacer: Console.WriteLine(Lo que quiera q salga en la consola); Tambin podremos imprimir las variables de nuestro programa, para esto hay dos formas, pero veamos mejor dos ejemplos que son lo mismo:
//declaramos dos variables string nombre = "Invitado"; int edad = 22; //Imprimimos una linea en la consola de dos formas distintas

1 de 7

25/04/2012 06:45 p.m.

Crear una aplicacin de consola en C#. Tutorial y ejemplo | puntopeek

http://www.puntopeek.com/programacion/creando-una-aplicacion-de-con...

Console.WriteLine("Tu nombre es: "+nombre+" y tienes " + edad + " aos."); //En C# se usa el operador + para concatenar cadenas Console.WriteLine("Tu nombre es {0} y tienes {1} aos", nombre, edad);

Como ven la segunda va es mucho ms simple, solo debes recordar que el numero que est entre cochetes, es el indice del parmetro que se pasa al final del mtodo. 2- Console.Write() Hace casi lo mismo que Console.WriteLine() pero sin cambiar de lnea, o sea concatena el texto que le pasemos al mtodo con lo que se haya escrito hasta ese momento en la consola. 3- Console.ReadLine() Se usa para leer lo que el usuario escribi en la consola, y podemos guardarlo en una variable para despues usarlo en nuestro programa. No hay que pasarle ningn parmetro y el programa solo continuar cuando el usuario teclee alguna lnea y presione Enter. Podemos hacer algo como esto:
Console.WriteLine("Escriba su nombre"); string nombre = Console.ReadLine();

Importante: Si lo que queremos es recoger lo que el usuario escriba como un tipo en especfico, por ejemplo, un entero, deberemos usar el mtodo esttico int.Parse, por ejemplo:
int x = int.Parse(Console.ReadLine();

ya que lo que devuelve Console.ReadLine() es un string. 4-Console.ReadKey() Este mtodo resulta importante algunas veces, sobre todo cuando queremos darle varias opciones al usuario (a, b, c, d). Aunque se puede utilizar Console.ReadLine(). En este caso, este mtodo lo que devuelve es un objeto de tipo ConsoleKeyInfo, y se puede utilizar de la siguiente forma, por ejemplo:
Console.WriteLine("Presiona una tecla"); ConsoleKeyInfo c = Console.ReadKey(); Console.WriteLine("Presionaste la tecla "+ c.KeyChar);

Bueno, estos son algunos de los mtodos ms importantes. Veamos ahora como est compuesto un proyecto de tipo consola. Lo primero que vemos es el namespace que se llama igual que el proyecto, luego vemos que hay una clase Program, la cual se llama as por defecto y dentro de esta, un mtodo Main() con la siguiente signatura:
static void Main(string[] args)

Este es el punto de entrada de nuestra aplicacin, el mtodo se llama as por defecto y no se debe cambiar ni aadir ningn parmetro. Bueno, vamos ya a escribir un poco de cdigo, como ejemplo, vamos a calcular la edad de un usuario pidiendole que nos diga el ao de nacimiento. Para esto crearemos otro mtodo esttico (dentro de Program) que le pasaremos un ao de nacimiento y calcula la edad. Veamos:
public static int DameEdad(int dia, int mes, int ao) { //Usamos la clase DateTime y un mtodo estatico para restar fechas DateTime fecha_nacimiento = new DateTime(ao, mes, dia); TimeSpan edad = DateTime.Now.Subtract(fecha_nacimiento); return (edad.Days/365); }

Este mtodo hace uso de la clase DateTime de .Net, que tiene muchas funcionalidades, entre ellas permite restar dos fechas, lo cual sera un algoritmo un poco pesado de programar (no es tan sencillo como restar los aos). Cuando hacemos DateTime.Now, accedemos a la fecha actual que tenemos en nuestra PC, por ultimo devolvemos la cantidad de dias que han pasado entre las dos fechas y lo dividimos entre la cantidad de dias que tiene un ao. Ahora veamos como programar el mtodo Main para interactuar con el usuario, pedirle la fecha, y encargarnos que la introduzca correctamente. El cdigo sera algo as:
private static void Main(string[] args) { //Variables que usaremos para la fecha de nacimiento int dia_nacimiento, mes_nacimiento, ao_nacimiento=0; Console.WriteLine("Escriba su nombre"); string nombre = Console.ReadLine();

2 de 7

25/04/2012 06:45 p.m.

Crear una aplicacin de consola en C#. Tutorial y ejemplo | puntopeek

http://www.puntopeek.com/programacion/creando-una-aplicacion-de-con...

Console.WriteLine("Hola {0}, bienvenido a mi aplicacion!",nombre); Console.WriteLine("Por favor, introduce tu fecha de nacimiento:"); //El while solo termina cuando se hace break while (true) { //Pedimos el dia y lo validamos Console.Write("Dia de nacimiento: "); dia_nacimiento = int.Parse(Console.ReadLine()); if (dia_nacimiento < 1 || dia_nacimiento > 31) Console.WriteLine("Por favor, especifique un dia entre 1 y 31"); else //Si el dia es valido, entonces pasamos a pedir el mes break; } while (true) { //Pedimos el mes y lo validamos Console.Write("Mes de nacimiento: "); mes_nacimiento = int.Parse(Console.ReadLine()); if (mes_nacimiento < 1 || mes_nacimiento > 12) Console.WriteLine("Por favor, especifique un mes entre 1 y 12"); else break; } while (true) { //Pedimos el ao y lo validamos Console.Write("Ao de nacimiento: "); ao_nacimiento = int.Parse(Console.ReadLine()); //El ao no puede ser posterior a 1900 y anterior al ao actual if (ao_nacimiento < 1900 || ao_nacimiento > DateTime.Now.Year) Console.WriteLine("Por favor, especifique un ao entre 1900 y el {0}", DateTime.Now.Year); else break; } //Si llegamos aqui, es porque tenemos una fecha correcta, vamos a calcular la edad con //el mtodo DameEdad() que escribimos antes int edad = DameEdad(dia_nacimiento, mes_nacimiento,ao_nacimiento); Console.WriteLine(nombre+", usted tiene " + edad + " aos."); Console.WriteLine("Presione cualquier tecla para terminar el programa"); Console.ReadKey(); }

Por supuesto el cdigo se puede hacer ms eficiente y mucho ms corto, pero quera mostrarte el uso de las funciones mencionadas antes. El cdigo est bastante bien comentado, y espero que con las cosas que expliqu antes se entienda sin problemas. Tambin les dejo el proyecto para que lo descarguen. Cualquier duda o aporte, en los comentarios.

Compartir:
Me gusta 7 Tweet 3

Email

Imprimir

Compartir

10 comentarios
Forma parte de nuestra discusin y sguela de cerca

Me parece muy interesante el tema, te felicito. Si me permite tengo una pregunta sobre el codigo y una sugerencia. 1.El uso de los simbolos &lt y &gt no lo conozco me lo pueden explicar? 2. Sera interesante el tema Base de Datos y C# o Windows Forms en c#.

3 de 7

25/04/2012 06:45 p.m.

Crear una aplicacin de consola en C#. Tutorial y ejemplo | puntopeek

http://www.puntopeek.com/programacion/creando-una-aplicacion-de-con...

Autor: OnlyZero | Fecha: Jun 21, 2011.

@OnyZero, los smbolos que comentas son los operadores < (menor) y >(mayor) respectivamente, hubo un problema con la codificacin de caracteres, ya est corregido, y gracias por la recomendacin, la tendr en cuenta Autor: Tomy | Fecha: Jun 21, 2011.

Esta muy interesante esta pagina, estoy intentando aprender a programar en c# y bueno esto me ilustra. Autor: fernando cardenas | Fecha: Jul 9, 2011.

buen Post.para los que estamos comenzando en este mundo de la programacin. Autor: Ricky | Fecha: Jul 10, 2011. [...] aqu Categoria(s): .NET, C#Tags: aplicacion, c#, consola, read, readline, write, writeline [...] Autor: Aplicacin de consola C# | Informtica, programacin, noticias, tecnologa | Fecha: Oct 12, 2011.

Excelente.. muy didctico, se agredece el tiempo y el aporte. Sobre todo para aquellos que estamos ingresando a C# Autor: Mximo | Fecha: Dic 8, 2011.

C# me cuesta mucho, mi duda es cuando utilizar un if else y while. Si tuvieras ejemplos de programas seria woow, necesito ayuda si no reprobar. Autor: hanna | Fecha: Abr 3, 2012.

y ejemplos de arreglos xfa Autor: hanna | Fecha: Abr 3, 2012.

Una duda, como imprimo metodos? Se que es el nombre punto pero cuando se tienen parametros se que para el string es + pero y los demas??? Autor: hanna | Fecha: Abr 7, 2012.

4 de 7

25/04/2012 06:45 p.m.

Crear una aplicacin de consola en C#. Tutorial y ejemplo | puntopeek

http://www.puntopeek.com/programacion/creando-una-aplicacion-de-con...

@hanna: el if else se utilizan para cuando quieres decidir si hacer una cosa u otra en dependencia si una condicin se cumple o no, el while se utiliza para llamar instrucciones mientras se cumpla una condicin, la diferencia entre uno y otro es que en el if else se verifica la condicin una sola vez. Y para imprimir mtodos, haces algo como: Console.WriteLine(Metodo()); //si no tiene parametros Console.WriteLine(Metodo(parametro1, parametro2)); //si tiene parametros Autor: Tomy | Fecha: Abr 12, 2012.

Escribe tu comentario
Nombre Requerido. Email Requerido. No pblico. Sitio Web Si tienes alguno.

Comentario

Recibir los comentarios va email

Annciate aqu

Popular
Ejercicios resueltos de array con C# (1)
5 de 7

25/04/2012 06:45 p.m.

Crear una aplicacin de consola en C#. Tutorial y ejemplo | puntopeek

http://www.puntopeek.com/programacion/creando-una-aplicacion-de-con...

en Codigos C# / 57

Trabajando con arrays (vectores) en C#


en Tutoriales C# / 50

Ejercicios resueltos de array con C# (3)


en Codigos C# / 33

Criterio de divisibilidad por 3. Demostracin


en General / 29

Entendiendo la recursividad
en Tutoriales C# / 20

Ejercicios resueltos de string en C#


en Codigos C# / 18

Backtracking. Problema del laberinto


en Codigos C# Tutoriales C# / 17

Estrategias. Las torres de Hanoi.


en Codigos C# Tutoriales C# / 16

Generando nmeros aleatorios con C#


en Programacion Tutoriales C# / 16

Generando permutaciones en C#
en Codigos C# / 16

Calcular el da de la semana C#
en Codigos C# / 16

La clase Arbol en C#
en Codigos C# Tutoriales C# / 15

Categoras

6 de 7

25/04/2012 06:45 p.m.

Crear una aplicacin de consola en C#. Tutorial y ejemplo | puntopeek

http://www.puntopeek.com/programacion/creando-una-aplicacion-de-con...

wordpress Web 2.0 Tutoriales C# Tipografas Tecnologas web Software Libre SEO Programacion Buscadores CMS Codigos C# Diseo web General Google Microsoft Mozilla Firefox

Etiquetas
wordpress 2.7 novedades wordpress algoritmos

C# Navegadores wordpress Tutoriales Posicionamiento web array

Google Programacion ejercicios C# Microsoft Software Libre .Net ejemplos C# estructuras C# Buscadores
Diseo web string recursividad Web 2.0 Codigos
Copyright 2010 Lenguajes & Cdigos - www.puntopeek.com Gestionado con WordPress Patrocinado por Noticias y actualidad

C# Tutoriales C# SEO

7 de 7

25/04/2012 06:45 p.m.

You might also like