using System;
using System.IO;
using LeerDato;
namespace CrearAgendaTfnos
{
  class Program
  {
    public static void CrearFichero(string fichero)
    {
      BinaryWriter bw =null; // flujo para escribir
      char resp = '\0';
      try
      {
        // Crear un flujo hacia el fichero que permita
        // escribir datos de tipos primitivos y cadenas
        // de caracteres.
        bw = new BinaryWriter(new FileStream(fichero,
                   FileMode.Create, FileAccess.Write));

        // Declarar los datos a escribir en el fichero.
        string nombre;
        int teléfono = 0;

        // Leer datos de la entrada estándar y
        // escribirlos en el fichero.
        do
        {
          Console.Write("nombre:    ");
          nombre = Console.ReadLine();
          Console.Write("teléfono:  ");
          Leer.DatoInt(ref teléfono);
          // Almacenar un nombre y un teléfono
          // (un registro) en el fichero.
          bw.Write(nombre);
          bw.Write(teléfono);
          Console.Write("¿desea escribir otro registro? (s/n) ");
          resp = Convert.ToChar(Console.Read());
          // Eliminar los caracteres sobrantes en el 
          // flujo de entrada.
          Console.ReadLine();
        }
        while (resp == 's');
      }
      finally
      {
        // Cerrar el flujo
        if (! (bw == null)) bw.Close();
      }
    }

    public static void Main(string[] args)
    {
      string nombreFichero;

      try
      {
        // Obtener el nombre del fichero
        Console.Write("Nombre del fichero: ");
        nombreFichero = Console.ReadLine();
        CrearFichero(nombreFichero);
      }
      catch (Exception e)
      {
        Console.WriteLine("Error: " + e.Message);
      }
      
      Console.Write("Pulse una tecla para continuar...");
      Console.ReadKey(true);
    }
  }
}
