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

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

(anterior) 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.

Calcular promedios con contador de repeticion controlado (usando while)

using System;
class Promedios
{
	static void Main(string[] args)
	{
		int total = 0,	//resultado total de la suma de los datos
		cantidad,	//cantidad de datos a procesar
		contador=1,
		dato,		//para almacenar el dato actual dentro del ciclo
		promedio;	//promedio de los datos

		//Preguntar por el número de datos a procesar
		Console.WriteLine("¿Qué cantidad de datos vas a procesar?");
		cantidad = Int32.Parse(Console.ReadLine());

		//Iterar 'cantidad' de veces
		while(contador <= cantidad)
		{
			//Capturar dato
			Console.WriteLine("Digite el dato número "+contador+":");
			dato = Int32.Parse(Console.ReadLine());

			//Acumular los datos
			total = total + dato;

			//Aumentar el contador
			contador = contador + 1;
		}

		//Calcular el promedio
		promedio = total / cantidad;

		//Mostrar el resultado
		Console.WriteLine("El promedio de los datos ingresados es: "+promedio);
	} //fin del Main
}//fin de la clase Promedios

casidiablo@punko:~/c#> mcs Promedios.cs
casidiablo@punko:~/c#> mono Promedios.exe
¿Qué cantidad de datos vas a procesar?
6
Digite el dato número 1:
20
Digite el dato número 2:
10
Digite el dato número 3:
60
Digite el dato número 4:
80
Digite el dato número 5:
50
Digite el dato número 6:
62
El promedio de los datos ingresados es: 47

Descargar código fuente

Calcular promedios con contador de repeticion controlado por centinela (usando while)

using System;
class Promedios2
{
	static void Main(string[] args)
	{
		int total = 0,	//resultado total de la suma de los datos
		contador=1,
		dato,		//para almacenar el dato actual dentro del ciclo
		promedio;	//promedio de los datos

		//Capturar dato
		Console.WriteLine("Digite el dato número "+contador+": (-1 para detener el ciclo)");
		dato = Int32.Parse(Console.ReadLine());

		//Iterar 'cantidad' de veces
		while( dato != -1 )
		{
			//Acumular los datos
			total = total + dato;

			//Aumentar el contador
			contador = contador + 1;

			//Capturar dato
			Console.WriteLine("Digite el dato número "+contador+": (-1 para detener el ciclo)");
			dato = Int32.Parse(Console.ReadLine());
		}

		//Calcular el promedio
		promedio = total / contador;

		//Mostrar el resultado
		Console.WriteLine("El promedio de los datos ingresados es: "+promedio);
	} //fin del Main
}//fin de la clase Promedios2

casidiablo@punko:~/c#> mcs Promedios2.cs
casidiablo@punko:~/c#> mono Promedios2.exe
Digite el dato número 1: (-1 para detener el ciclo)
32
Digite el dato número 2: (-1 para detener el ciclo)
23
Digite el dato número 3: (-1 para detener el ciclo)
54
Digite el dato número 4: (-1 para detener el ciclo)
32
Digite el dato número 5: (-1 para detener el ciclo)
25
Digite el dato número 6: (-1 para detener el ciclo)
36
Digite el dato número 7: (-1 para detener el ciclo)
-1
El promedio de los datos ingresados es: 28

Descargar código fuente

Análisis de Resultados de Examenes

using System;
class Analisis
{
	static void Main( string[] args )
	{
		int bien = 0,            // numero de
		fallas = 0,          // numero de fallas
		estudiantes = 1,           // contador de estudiantes
		resultado;                // resultado de los examenes
		// procesar 10 estudiantes; loop controlado por contador
		while ( estudiantes <= 10 )
		{
			Console.Write( "Digite los resultados (1=pasó, 2=falló): " );
			resultado = Int32.Parse( Console.ReadLine() );
			if ( resultado == 1 )
				bien = bien + 1;
			else
				fallas = fallas + 1;
			estudiantes = estudiantes + 1;
		}
		// mostrar los resultados
		Console.WriteLine();
		Console.WriteLine( "Pasaron: " + bien );
		Console.WriteLine( "Fallaron: " + fallas );
	} // fin del método Main
} // fin de la clase Analisis

casidiablo@punko:~/c#> mcs Analisis.cs
casidiablo@punko:~/c#> mono Analisis.exe
Digite los resultados (1=pasó, 2=falló): 1
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 1
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 1
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 1
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 1

Pasaron: 5
Fallaron: 5

Descargar código fuente

Preincremento y postincremento

using System;
class Incremento
{
	static void Main( string[] args )
	{
		int c;
		c = 5;
		Console.WriteLine( c );   // imprimir 5
		Console.WriteLine( c++ ); // imprimir 5 entonces postincremento
		Console.WriteLine( c );   // imprimir 6
		Console.WriteLine();      // saltar una línea
		c = 5;
		Console.WriteLine( c );   // imprimir 5
		Console.WriteLine( ++c ); // preincremento, entonces imprimir 6
		Console.WriteLine( c );   // imprimir 6
	} // fin del método method Main
} // fin de la clase Incremento

casidiablo@punko:~/c#> mcs Incremento.cs
casidiablo@punko:~/c#> mono Incremento.exe
5
5
6

5
6
6

Descargar código fuente

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.

45 Comentarios | deja el tuyo

Un enlace entrante

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

  1. vanesa dice:

    deseo q me ayuden a buscar los codigos necesarios para calcular la edad de una persona. gracias…

    • //decalrar variable
      int num1, num2, num3, mayor;
      //ingreasar datos
      Console.Write(“ingresar primer numero: “);
      num1 = Int32.Parse(Console.ReadLine());
      Console.Write(“ingresar segundo numero: “);
      num2 = Int32.Parse(Console.ReadLine());
      Console.Write(“ingresar tercer numero: “);
      num3 = Int32.Parse(Console.ReadLine());

      //operar
      if (num1 > num2)
      {
      Console.Write(“mayor es:”);
      Console.Write(num1);
      }
      else

      if (num2 > num3)
      {
      Console.Write(“mayor es:”);
      Console.Write(num2);
      }
      else

      if (num3 > num1)
      {
      Console.Write(“mayor es :”);
      Console.Write(num3);
      }
      else
      no si esto te sirva
      {
      Console.Write(“mayor es:”);
      Console.Write(num1);
      }
      Console.ReadKey();

  2. aby dice:

    hola, muy bn codigo..
    esta muy bn hecho este espacio.
    necesito su ayuda..
    necesito programar Operaciones con conjuntos.(union, interseccion, diferencia, complemento y potencia.)

    bno ps desps reviso el espacio aver si m pudieron ayudar gracias..

  3. Oscar dice:

    Hola bueno yo tengo informacion q les puede servir solo q la tengo en pdf pero si gustan escribanme y se los envio con gusto soutecdjmag@hotmail.com hasta pronto

  4. Pablo dice:

    Muy bueno los ejemplos, por favor si podrian ayudarme en este problema
    Se ingresan notas VIGESIMALES (debe validar) de un alumno por teclado. Se pide validar la nota ingresada, hallar el promedio, las notas extremas (más alta y más baja). El ingreso de notas debe terminar con un centinela negativo

  5. David dice:

    quiero hacer un programa donde haga un los siguientes datos…
    dolar=pesos
    euros=pesos
    libra=pesos
    pesetas=pesos
    yens=pesos

    kiero ke me den estos resultados
    en c#

  6. Carlos dice:

    Muy util los ejemplos

  7. Felipe dice:

    Quisiera que pusieran mas ejemplos de ciclos de sentencia for, do while, switch y while, tambien dieran ejemplos en aplicaciones Windows.

    • Alejandro dice:

      for(int i =0; i<100;i++){
      … hace algo hasta que se cumpla la condicion 1<100
      }

      do{
      … lo hace una vez y si se cumple la condicion… continua
      }while(condicion);

      while(condicion){
      …mientras sea verdadera la condicion sigu en el ciclo
      }

      switch (variable con valor)
      {
      // el case es cuando la variable de la condicion sea la que esta en el case
      case 1;
      //hace algo
      break;
      case 2;
      //hace algo
      break;
      }

    • este es un ejemplo con switch
      //declarar variables
      double nro1, nro2;
      double resultado;
      int opcion;

      //recoger datos
      resultado = 0;

      Console.Write(“Ingrese un numero: “);
      nro1 = Double.Parse(Console.ReadLine());

      Console.Write(“Ingrese el segundo numero: “);
      nro2 = Double.Parse(Console.ReadLine());

      Console.WriteLine(“”);
      Console.WriteLine(“MENU”);
      Console.WriteLine(“——”);
      Console.WriteLine(“1. SUMAR”);
      Console.WriteLine(“2. RESTAR”);
      Console.WriteLine(“3. MULTIPLICAR”);
      Console.WriteLine(“4. DIVIDIR”);
      Console.WriteLine(“”);

      Console.Write(“Elija una opcion: “);
      opcion = Int32.Parse(Console.ReadLine());

      //operar
      switch(opcion)
      {
      case 1:
      resultado = nro1 + nro2;
      break;

      case 2:
      resultado = nro1 – nro2;
      break;

      case 3:
      resultado = nro1 * nro2;
      break;

      case 4:
      resultado = nro1 / nro2;
      break;

      default:
      Console.Write(“Oe!!!!! so pedazo de …. recontra ……!!·$%&/|@#~€… opcion no valida”);
      break;

      }

      //mostrar resultados
      Console.Write(“Resultado = “);
      Console.Write(resultado);

      Console.ReadKey();

  8. gary dice:

    int nro, u, d, c, r, um, dm, r1, r2;

    Console.Write(“ingrese el numero……:”);
    nro = Int32.Parse(Console.ReadLine());

    dm = nro / 10000;
    dm = dm * 10000;

    r = nro % 10000;

    um = r / 1000;
    um = um * 1000;

    r1 = r % 1000;

    c = r1 / 100;
    c = c * 100;

    r2 = r1 % 100;

    d = r2 / 10;
    d = d * 10;

    u = r2 % 10;

    string decenademillar = “”;
    string unidaddemillar = “”;
    string centena = “”;
    string decena = “”;
    string unidad = “”;

    Console.WriteLine(dm);
    Console.WriteLine(um);
    Console.WriteLine(c);
    Console.WriteLine(d);
    Console.WriteLine(u);

    switch (dm)
    {
    case 10000: decenademillar = “dies”;
    break;
    case 20000: decenademillar = “vente”;
    break;
    case 30000: decenademillar = “treinta”;
    break;
    case 40000: decenademillar = “cuarenta”;
    break;
    case 50000: decenademillar = “cincuenta”;
    break;
    case 60000: decenademillar = “sesenta”;
    break;
    case 70000: decenademillar = “setenta”;
    break;
    case 80000: decenademillar = “ochenta”;
    break;
    case 90000: decenademillar = “noventa”;
    break;
    }
    switch (um)
    {
    case 1000: unidaddemillar = “mil”;
    break;
    case 2000: unidaddemillar = “dos mil”;
    break;
    case 3000: unidaddemillar = “tres mil”;
    break;
    case 4000: unidaddemillar = “cuatro mil”;
    break;
    case 5000: unidaddemillar = “cinco mil”;
    break;
    case 6000: unidaddemillar = “seis mil”;
    break;
    case 7000: unidaddemillar = “siete mil”;
    break;
    case 8000: unidaddemillar = “ocho mil”;
    break;
    case 9000: unidaddemillar = “nueve mil”;
    break;
    }
    switch (c)
    {
    case 100: centena = “cien”;
    break;
    case 200: centena = “docientos”;
    break;
    case 300: centena = “trecientos”;
    break;
    case 400: centena = “cuatrocientos”;
    break;
    case 500: centena = “quinientos”;
    break;
    case 600: centena = “seicientos”;
    break;
    case 700: centena = “setecientos”;
    break;
    case 800: centena = “ochosientos”;
    break;
    case 900: centena = “novecientos”;
    break;
    }
    switch (d)
    {
    case 0: decena = “cero”;
    break;
    case 10: decena = “dies”;
    break;
    case 20: decena = “vente”;
    break;
    case 30: decena = “trenta”;
    break;
    case 40: decena = “cuarenta”;
    break;
    case 50: decena = “cincuenta”;
    break;
    case 60: decena = “sesenta”;
    break;
    case 70: decena = “setenta”;
    break;
    case 80: decena = “ochenta”;
    break;
    case 90: decena = “noventa”;
    break;
    }
    switch (u)
    {
    case 0: unidad = “cero”;
    break;
    case 1: unidad = “uno”;
    break;
    case 2: unidad = “dos”;
    break;
    case 3: unidad = “tres”;
    break;
    case 4: unidad = “cuatro”;
    break;
    case 5: unidad = “cinco”;
    break;
    case 6: unidad = “seis”;
    break;
    case 7: unidad = “siete”;
    break;
    case 8: unidad = “ocho”;
    break;
    case 9: unidad = “nueve”;
    break;
    }
    Console.Write(decenademillar + ” y ” + unidaddemillar + ” ” + centena + ” ” + decena + ” y ” + unidad);

    Console.ReadKey();

  9. fredy dice:

    seria bueno que pusieran ejemplos de como hacer ciclos for, while,do while y de como hacerun plano cartesiano y dibujar en el. todo esto en windows form en c#

  10. Patrik dice:

    hola
    soy un estudiante
    me gustaria que me ayuden con estos ejercicios
    en el programa Visual C#

    1.-Obtener una aplicacion qu e dado una valor de tempeatura en grados, celsius, que permita obtener su equivalente en grados fahrenheit.

    2.-obtener una aplicacion que dado una cantidad de dinero permita obtener su desglose (mínima) en los billetes existentes en cuba.

    3.-crear una aplicacion que calcule el area y perimetro de los de las suientes figuras geometricas:
    cuadrado
    rombo
    triangulo.

    porfavor enviame las codificaciones de estos ejecicios en C#
    espero hasta el sabado 16 de octubre 2010
    gracias

  11. Patrik dice:

    ho en lo
    pronto posible
    gracias

  12. mari dice:

    hola si me pueden ayudar es q quiero
    hacer ubn programa de una refacionaria como la puedo hacer

  13. Patrik dice:

    Hola
    Porfa me gustaria que me ayuden con estos ejercicios
    en el programa Visual C#

    1.-Obtener una aplicacion qu e dado una valor de tempeatura en grados, celsius, que permita obtener su equivalente en grados fahrenheit.

    2.-obtener una aplicacion que dado una cantidad de dinero permita obtener su desglose (mínima) en los billetes existentes en cuba.

    3.-crear una aplicacion que calcule el area y perimetro de los de las suientes figuras geometricas:
    cuadrado
    rombo
    triangulo.

    esta codificacion me lo manda en C#
    le espero
    gracias

  14. moises dice:

    necesito ahorita el programa de salario neto en c# no se si alguien me pueda ayudar me urge

  15. jazmin reyes dice:

    ola me gustaria ke me ayudaran a hacer un codigo en ystem.consola se trata de mostrar un numero del 20 al 99 en orden con su respectivo nombre en letra pero kn el codigo menor posible

¡Déjanos tu comentario!