gentoo linux, java, software libre y otras hierbas
dic, 10 2007 - 3:18 pm

[código] C#, programas básicos (1)

En esta entrada pondré el código fuente de algunos programas muy básicos desarrollados en C#. Los programas corren tanto en plataformas Microsoft usando Visual Studio, como en cualquier otra plataforma usando Mono. Tal vez quieras visitar leer estas entradas: Cómo crear aplicaciones en C# usando Visual Studio o C#, crear una aplicación usando Mono.

Tal como pueden apreciar, los en ejemplos se muestra cómo compilar y ejecutar con Mono, pero si lo que quieres es hacerlo con Visual Studio, no te preocupes, aquí te explico como se hace.

Mi primer programa en C#

//Mi primer programa en C#
using System;
class Hola
{
	static void Main(string[] args)
	{
		Console.WriteLine("Hola Bill, no me gustan tu sistema");
	}
}

casidiablo@punko:~/c#> mcs Hola.cs
casidiablo@punko:~/c#> mono Hola.exe
Hola Bill, no me gusta tu sistema

Descargar código fuente

Un mensaje en un MessageBox con C#

//Un mensaje en un MessageBox con C#
using System.Windows.Forms;
class Hola3
{
	static void Main(string[] args)
	{
		MessageBox.Show("Hola Bill, no me gusta tu sistema");
	}
}

casidiablo@punko:~/c#> mcs -reference:/usr/lib/mono/1.0/System.Windows.Forms.dll Hola3.cs
casidiablo@punko:~/c#> mono Hola3.exe


Descargar código fuente

Programa de suma en C#

//Programa de suma en C#
using System;
class Suma
{
	static void Main(string[] args) {
		string primerNumero, //primer número digitado por el usuario
		segundoNumero;  //segundo número digitado por el usuario

		int numero1,  //primer número a añadir
		numero2,  //segundo número a añadir
		suma;  //resultado de numero1 + numero2

		//Pedir al usuario que ingrese el primer número
		Console.WriteLine("Por favor, digite el primer número:");
		primerNumero = Console.ReadLine();

		Console.WriteLine("Por favor, digite el segundo número:");
		segundoNumero = Console.ReadLine();

		//convertir los strings a enteros
		numero1 = Int32.Parse(primerNumero);
		numero2 = Int32.Parse(segundoNumero);

		//sumar los números
		suma = numero1 + numero2;

		//mostrar los resultados
		Console.WriteLine("El resutado de la suma es {0}",suma);
	}
}

casidiablo@punko:~/c#> mcs Suma.cs
casidiablo@punko:~/c#> mono Suma.exe
Por favor, digite el primer número:
12
Por favor, digite el segundo número:
32
El resutado de la suma es 44

Descargar código fuente

Uso del if, operadores de relación e igualdad

//Uso del if, operadores de relación e igualdad
using System;
class InstruccionesControl
{
	static void Main(string[] args)
	{
		int numero1,	//primer número a comparar
		numero2;	//segundo número a comparar

		//capturar el primer número
		Console.WriteLine("Digite el primer número:");
		numero1 = Int32.Parse(Console.ReadLine());

		//capturar el segundo número
		Console.WriteLine("Digite el segundo número:");
		numero2 = Int32.Parse(Console.ReadLine());

		if( numero1 == numero2 )
			Console.WriteLine( numero1 + " == " + numero2);
		if( numero1 != numero2 )
			Console.WriteLine( numero1 + " != " + numero2);
		if( numero1 < numero2 )
			Console.WriteLine( numero1 + " < " + numero2);
		if( numero1 > numero2 )
			Console.WriteLine( numero1 + " > " + numero2);
		if( numero1 <= numero2 )
			Console.WriteLine( numero1 + " <= " + numero2);
		if( numero1 >= numero2 )
			Console.WriteLine( numero1 + " >= " + numero2);
	}
}

casidiablo@punko:~/c#> mcs InstruccionesControl.cs
casidiablo@punko:~/c#> mono InstruccionesControl.exe
Digite el primer número:
21
Digite el segundo número:
23
21 != 23
21 < 23
21 <= 23
casidiablo@punko:~/c#> mono InstruccionesControl.exe
Digite el primer número:
66
Digite el segundo número:
66
66 == 66
66 <= 66
66 >= 66
casidiablo@punko:~/c#> mono InstruccionesControl.exe
Digite el primer número:
32
Digite el segundo número:
12
32 != 12
32 > 12
32 >= 12

Descargar código fuente

Saber si una palabra es Capicua

using System;

namespace Aplicacion
{
    class Programa
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Digite la palabra");
            string palabra = Console.ReadLine();
            string invertida = invertir(palabra);
            if(palabra.Equals(invertida))
                Console.WriteLine("La palabra es Capicúa");
            else
                Console.WriteLine("La palabra NO es Capicúa");
        }

        private static string invertir(string cadena)
        {
            string invertido = "";
            for (int i = cadena.Length-1; i >= 0; i--)
                invertido = invertido + cadena.Substring(i, 1);
            return invertido;
        }
    }
}
Los ejercicios utilizados en este post están basados en ejemplos del libro C# How to Program de Deitel. Se pone a disposición la descargar del programa original, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows, y se encuentra en inglés. La versión simplificada está basada en la original, pero sin código basura insertado por Visual Studio, se encuentra en español y ha sido probada sobre Gnu/Linux usando Mono.

191 Comentarios | deja el tuyo

Un enlace entrante

190 Comentarios en “[código] C#, programas básicos (1)”

  1. cristian cumbal dice:

    que mas amigo nesecito la codoficacion del programa en visual fox de la factura con codigo de productos

  2. carlos dice:

    quisiera aser un programa en c#, que pida un numero de e indique si el numero es capicua o no.

  3. maribel dice:

    hola disculpa QUISIERA saber como referenciar una tabla de sql server en c#

  4. andlo dice:

    Hola Maribel.

    Puedes aclarar mas tu pregunta porque si lo que preguntas es como cargar datos entonces lo puedes hacer a través de los sqlConecction, sqlCommand y sqlDataAdapter. que están en el espacio de nombres System.Data.SqlClient.
    Hay otra forma muchísimo mas sencilla que consiste en arrastrar una grilla a tu formulario luego en la Etiqueta Inteligente (flechita negra pequeña que aparace a lado del control) le das click derecho y seleccionas el origen de datos. El wizard te va guiando.

  5. gustavo dice:

    buenas tardes soy nuevo en esta pagina y necesito ayuda con un proyecto que quiero hacer si pueden ayudarme seria de gran ayuda por favor y gracias..aqui la Descripción del Proyecto:
    Realizar un programa en lenguaje C que se comporte como agenda electrónica, la cual debe constar de los siguientes módulos y submódulos:
    1. Módulo Libro de Direcciones y Teléfonos.
    2. Módulo de Citas. Distribuida por:
    a. Mes
    b. Semana
    c. Dia.
    d. Hora.
    3. Módulo de Notas. Distribuida por:
    a. Mes
    b. Semana
    c. Dia.
    d. Hora.
    4. Módulo Cumpleaños.
    Cada Módulo debe tener las opciones de Agregar, Modificar y Consultar. Para consultar se debe tener presente que la consulta de acuerdo a los módulos 2 y 3 puede ser por mes, semana, día y hora.

  6. yesi dice:

    hola quiero ver si me puedes ayudar con el codigo para crear un rompecabezas potfa es urgente lo necesito para un proyecto

  7. Andlo dice:

    Hola Yesi como estás?

    Que tipo de rompecabezas quieres armar.
    Con imágenes o los que son de números parecido al que viene en los gadgets del windows vista.

  8. Jimmy dice:

    por favor necesito saber c# desde 0

  9. Elvis dice:

    Esta bueno el sitio pero donde puedo encontrar una guia sobre como manipular las ventanas cuando se programa en windows form.

  10. SERGIO dice:

    ME PARECE EXCELENTE LA PAGINA

  11. luis dice:

    es bueno para guia de personas que quieren entender lenguaje de programaciòn con ejemplos base gracias

  12. francis dice:

    espero que te vaya muy bien con la pagina

  13. Cristian dice:

    Muchas gracias Francis.

    Y siempre bienvenido!

  14. francis dice:

    Hola espero que se entienda estoy haciendo un programa de consola que tenga tres funciones las cuales una se encatgue de la media otra del valor maximo y otra del valor minimo por ahora solo sabia hacer funciones sin arrays por eso pregunto,este texto estaria bien el caso es que lo veo bien pero creo que tiene algun error si pudieran echarle un vistazo y decirme cualquier cosa que noten se lo agradezco
    de nuevo felicidades por la pagina
    aqui les dejo el codigo gracias de nuevo

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

    namespace ejercicio2relacion6
    {
    class Program
    {
    static public int media(int suma,int contador,int resultado)
    {
    resultado = suma / contador;
    return resultado;
    }

    static public int maximo(int Vmaximo,int n[i])
    {
    if (n[i] > Vmaximo)
    Vmaximo=n[i];
    return Vmaximo;
    }

    static public int minimo(int Vminimo,int n[i])
    {
    if (n[i] < Vminimo)
    {
    Vminimo=n[i];
    }
    return Vminimo;
    }
    static void Main(string[] args)
    {
    int Vminimo = 10000;
    int Vmaximo = 0;
    int resultado = 0;
    int contador = 0;
    int suma = 0;
    int i = 0;
    int[] n = new int[100];
    Random alea = new Random();

    while (i < 100)
    {
    n[i] = alea.Next(1, 99);

    Console.Write(n[i]);
    Console.Write(",");
    contador++;
    suma += n[i];
    i++;
    }
    resultado = media(resultado, suma, contador);
    Console.Write("\t\n\n");
    Console.WriteLine("La media de los numeros introducidos es{0}", resultado);
    Console.WriteLine("El valor maximo de los numeros introducidos es {0}", maximo(Vmaximo,n[i]));

    Console.WriteLine("El valor minimo de los numeros introducidos es {0}", minimo(Vminimo,n[i]));
    Console.ReadLine();

    }
    }
    }

  15. fidel dice:

    buen material gracias por tu apoyo a los nuevos programadores si tienes materia de c# me lo podria proporcionar te lo agradecer gracias

¡Déjanos tu comentario!