Introducción a C#
Por Nacho Cabanes, versión 0.93 de 16-abr-2010


(Nota: Estás viendo una versión del curso antigua, creada en 2009. Es recomendable que sigas la versión 2015, mucho más actualizada, con contenidos más detallados, más ejemplos y más ejercicios propuestos)

1.8. Datos por el usuario: ReadLine

Si queremos que sea el usuario de nuestro programa quien teclee los valores, necesitamos una nueva orden, que nos permita leer desde teclado. Pues bien, al igual que tenemos System.Console.WriteLine ("escribir línea), también existe System.Console.ReadLine ("leer línea"). Para leer textos, haríamos

texto = System.Console.ReadLine();

pero eso ocurrirá en el próximo tema, cuando veamos cómo manejar textos. De momento, nosotros sólo sabemos manipular números enteros, así que deberemos convertir ese dato a un número entero, usando Convert.ToInt32:

primerNumero = System.Convert.ToInt32(System.Console.ReadLine());

Un ejemplo de programa que sume dos números tecleados por el usuario sería:

public class Ejemplo03
{
    public static void Main()
    {
        int primerNumero;
        int segundoNumero;
        int suma;
 
        System.Console.WriteLine("Introduce el primer número");
        primerNumero = System.Convert.ToInt32(
          System.Console.ReadLine());
        System.Console.WriteLine("Introduce el segundo número");
        segundoNumero = System.Convert.ToInt32(
          System.Console.ReadLine());
        suma = primerNumero + segundoNumero;
 
        System.Console.WriteLine("La suma de {0} y {1} es {2}", 
          primerNumero, segundoNumero, suma);
    }
}
 

Va siendo hora de hacer una pequeña mejora: no es necesario repetir "System." al principio de la mayoría de las órdenes que tienen que ver con el sistema (por ahora, las de consola y las de conversión), si al principio del programa utilizamos "using System":

using System;
 
public class Ejemplo04
{
    public static void Main()
    {
        int primerNumero;
        int segundoNumero;
        int suma;
 
        Console.WriteLine("Introduce el primer número");
        primerNumero = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Introduce el segundo número");
        segundoNumero = Convert.ToInt32(Console.ReadLine());
        suma = primerNumero + segundoNumero;
 
        Console.WriteLine("La suma de {0} y {1} es {2}", 
          primerNumero, segundoNumero, suma);
    }
}
 

Ejercicios propuestos:

  1. Multiplicar dos números tecleados por usuario.
  2. El usuario tecleará dos números (x e y), y el programa deberá calcular cual es el resultado de su división y el resto de esa división.
  3. El usuario tecleará dos números (a y b), y el programa mostrará el resultado de la operación (a+b)*(a-b) y el resultado de la operación a2-b2.
  4. Sumar tres números tecleados por usuario.
  5. Pedir al usuario un número y mostrar su tabla de multiplicar. Por ejemplo, si el número es el 3, debería escribirse algo como:

      3 x 0 = 0
      3 x 1 = 3
      3 x 2 = 6
      ...
      3 x 10 = 30