Generation

generate functionSat, 11 Oct 2025

Crear un fichero LISTA de CANCIONES, decidir que datos guardar en fichero según su criterio Crear un menú para realizar las siguientes acciones: • Crear el archivo de texto lista_canciones. • Guardar datos en el fichero (escribir en fichero). • Mostrar lista de canciones en pantalla (leer fichero). • Seleccionar las canciones de la lista que duren más de 3 minutos y copiarlas a un vector. • Contar cuantas canciones tiene un artista determinado.

Aquí te muestro un ejemplo de cómo podrías implementar lo que solicitas en C#: **Crear el archivo de texto lista_canciones** Primero, debemos crear un archivo de texto llamado `lista_canciones.txt` en el directorio de ejecución del programa. Para ello, podemos utilizar el método `File.CreateText` de la clase `File`. **Crear el menú** Luego, podemos crear un menú que permita al usuario realizar las acciones solicitadas. Para ello, podemos utilizar un bucle `while` que se ejecute hasta que el usuario decida salir del programa. **Guardar datos en el fichero** Para guardar datos en el fichero, podemos utilizar el método `WriteLine` de la clase `StreamWriter`. **Mostrar lista de canciones en pantalla** Para mostrar la lista de canciones en pantalla, podemos leer el contenido del archivo de texto y mostrarlo en la consola. **Seleccionar las canciones de la lista que duren más de 3 minutos y copiarlas a un vector** Para seleccionar las canciones que duren más de 3 minutos, podemos leer el contenido del archivo de texto, parsear cada línea y verificar si la duración de la canción es mayor a 3 minutos. Si es así, podemos agregar la canción al vector. **Contar cuantas canciones tiene un artista determinado** Para contar cuantas canciones tiene un artista determinado, podemos leer el contenido del archivo de texto, parsear cada línea y verificar si el artista coincide con el que estamos buscando. Si es así, podemos incrementar un contador. Aquí te muestro el código completo: ```csharp using System; using System.Collections.Generic; using System.IO; using System.Linq; class Program { static void Main(string[] args) { // Crear el archivo de texto lista_canciones CrearArchivo(); // Menú while (true) { Console.WriteLine("Menú:"); Console.WriteLine("1. Guardar datos en el fichero"); Console.WriteLine("2. Mostrar lista de canciones en pantalla"); Console.WriteLine("3. Seleccionar las canciones de la lista que duren más de 3 minutos y copiarlas a un vector"); Console.WriteLine("4. Contar cuantas canciones tiene un artista determinado"); Console.WriteLine("5. Salir"); Console.Write("Ingrese su opción: "); int opcion = Convert.ToInt32(Console.ReadLine()); switch (opcion) { case 1: GuardarDatosEnFichero(); break; case 2: MostrarListaDeCanciones(); break; case 3: SeleccionarCanciones(); break; case 4: ContarCancionesPorArtista(); break; case 5: return; default: Console.WriteLine("Opción inválida. Por favor, ingrese una opción válida."); break; } } } static void CrearArchivo() { // Crear el archivo de texto lista_canciones using (StreamWriter writer = File.CreateText("lista_canciones.txt")) { writer.WriteLine("Título;Duración;Artista"); writer.WriteLine("Canción 1;3:45;Artista 1"); writer.WriteLine("Canción 2;2:30;Artista 2"); writer.WriteLine("Canción 3;4:15;Artista 1"); writer.WriteLine("Canción 4;1:45;Artista 3"); writer.WriteLine("Canción 5;3:30;Artista 2"); } } static void GuardarDatosEnFichero() { // Pedir los datos al usuario Console.Write("Ingrese el título de la canción: "); string titulo = Console.ReadLine(); Console.Write("Ingrese la duración de la canción (HH:MM): "); string duracion = Console.ReadLine(); Console.Write("Ingrese el artista de la canción: "); string artista = Console.ReadLine(); // Guardar los datos en el fichero using (StreamWriter writer = File.AppendText("lista_canciones.txt")) { writer.WriteLine($"{titulo};{duracion};{artista}"); } Console.WriteLine("Datos guardados con éxito."); } static void MostrarListaDeCanciones() { // Leer el contenido del archivo de texto string[] lines = File.ReadAllLines("lista_canciones.txt"); // Mostrar la lista de canciones en pantalla Console.WriteLine("Lista de canciones:"); foreach (string line in lines) { Console.WriteLine(line); } } static void SeleccionarCanciones() { // Leer el contenido del archivo de texto string[] lines = File.ReadAllLines("lista_canciones.txt"); // Crear un vector para almacenar las canciones que duren más de 3 minutos List<string> canciones = new List<string>(); // Seleccionar las canciones que duren más de 3 minutos foreach (string line in lines) { string[] partes = line.Split(';'); if (partes.Length == 3) { string duracion = partes[1]; string[] horasMinutos = duracion.Split(':'); int minutos = int.Parse(horasMinutos[0]) * 60 + int.Parse(horasMinutos[1]); if (minutos > 3) { canciones.Add(line); } } } // Mostrar las canciones seleccionadas en pantalla Console.WriteLine("Canciones que duren más de 3 minutos:"); foreach (string cancion in canciones) { Console.WriteLine(cancion); } } static void ContarCancionesPorArtista() { // Pedir el artista al usuario Console.Write("Ingrese el artista que desea buscar: "); string artista = Console.ReadLine(); // Leer el contenido del archivo de texto string[] lines = File.ReadAllLines("lista_canciones.txt"); // Contar las canciones del artista int contador = 0; foreach (string line in lines) { string[] partes = line.Split(';'); if (partes.Length == 3) { string artistaLinea = partes[2]; if (artistaLinea == artista) { contador++; } } } // Mostrar el resultado en pantalla Console.WriteLine($"El artista {artista} tiene {contador} canciones."); } } ``` Este código crea un archivo de texto llamado `lista_canciones.txt` en el directorio de ejecución del programa, y luego permite al usuario realizar las acciones solicitadas a través de un menú.

Want to kickstart your project?Use the new AI Studio to create your code