[ Foro de C# ]

Capítulo 6: Manejo de ficheros

21-Nov-2013 20:32
Cristina Lopez
8 Respuestas

Hola, me podrías proporcionar la solución a los ejercicios del capítulo 6 de manejo de ficheros? No consigo entenderlo bien.
Si tienes más ejercicios extras que me puedas facilitar, te lo agradecería.
Estoy empezando con ficheros en C# y me cuesta porque es la primera vez toco este tema.

Espero respuesta
Muchas gracias

Cristina


21-Nov-2013 20:52
Cristina Lopez

Es urgente :)


21-Nov-2013 22:05
Nacho Cabanes (+84)

No tengo todas las soluciones (sí la mayoría), pero, en vez de "copiar y pegar" las soluciones que pueda tener, es mejor que tú vayas poniendo aquí tus soluciones parciales y preguntando tus dudas. Aprenderás más y me ayudarás a ver qué es lo que no te queda claro.


21-Nov-2013 22:47
Cristina Lopez

Ya, es cierto. Pero necesito tener soluciones reales ya que llevo tiempo buscando ejercicios resueltos y no encuentro ninguno.

Ver la solución a esos ejercicios sería de gran ayuda para entender el
sistema de todo y a partir de ahí, poder hacer otros ejercicios.

Muchas gracias


22-Nov-2013 02:29
Nacho Cabanes (+84)

Si hablas del tema 6, debes tener una versión anticuada del curso. Descarga la última en PDF desde mi web, que tiene los fichero en el tema 8, con varios ejercicios resueltos, y los ejercicios propuestos están numerados, para que te sea más fácil preguntar dudas concretas sobre ellos:

http://www.nachocabanes.com/csharp/


22-Nov-2013 23:18
Cristina Lopez

Sí, perdona es el capítulo 8. Los ejercicios son los mismos los que necesito. Me he leído todos los pdfs, he buscado ejercicios resueltos y nada... nose ni por donde empezar. Por eso me seria de gran ayuda tener una guia de ejercicios bien resueltos para guiarme y poder entender paso a paso que hay que ir haciendo y a partir de ahí poder entender todos los demás ejercicios que pueda encontrar.

Porfavor, podrías hacer una entrada con las soluciones de los ejercicios de ficheros del capítulo 8?

Gracias

Cristina


23-Nov-2013 01:03
Nacho Cabanes (+84)

Veamos... vamos con el primero (8.1.1). El ejemplo 70 es así:


/*---------------------------*/
/*  Ejemplo en C# nº 70      */
/*  ejemplo70.cs             */
/*                           */
/*  Escritura en un fichero  */
/*  de texto                 */
/*                           */
/*  Introduccion a C#,       */
/*    Nacho Cabanes          */
/*---------------------------*/

using System;
using System.IO;   // Para StreamWriter

public class Ejemplo70
{

  public static void Main()
  {
    StreamWriter fichero;

    fichero = File.CreateText("prueba.txt");
    fichero.WriteLine("Esto es una línea");
    fichero.Write("Esto es otra");
    fichero.WriteLine(" y esto es continuación de la anterior");
    fichero.Close();    
  }
  
}


Y el ejercicio propuesto 8.1.1 es "Crea un programa que vaya leyendo las  frases que el usuario teclea y las guarde en un fichero de texto llamado "registroDeUsuario.txt". Terminará cuando la frase introducida sea "fin" (esa frase no deberá guardarse en el fichero)."

Si sabes hacer un "do-while", debería ser fácil:


using System;
using System.IO;

class Ejercicio_8_1_1
{
    static void Main(string[] args)
    {
        string linea;
        StreamWriter fichero;
        fichero = File.CreateText("registroDeUsuario.txt");
        do
        {
            Console.Write("Frase? ");
            linea = Console.ReadLine();
            if (linea != "fin")
                fichero.WriteLine(linea);
        }
        while(linea != "");
        fichero.Close();
    }
}


¿Dudas?


23-Nov-2013 12:19
Cristina Lopez

No :) pero una pregunta. En el while podrias poner while (linea != null) ?
Este ya lo he entendido.


23-Nov-2013 14:46
Nacho Cabanes (+84)

No podrías poner "null". Eso es cuando intentas leer de fichero y quizá no consigas leer nada. Si es el usuario el que ha tecleado una cadena, no será "null". En todo caso, será una cadena vacía (pero existente), si ha pulsado Intro sin llegar a escribir nada.

Pon tu propuesta de solución y tus dudas para el siguiente ejercicio.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)