Está en la página 1de 9

3.

4 Reforzamiento

Alumno: Jesus Peralta Hoyos


Numero de control: 21750289
Semestre : Tercero
Nombre de la Escuela: Instituto Tecnológico de Agua Prieta
Carrera: Ingeniería en Sistemas Computacionales
Maestra: Perla Inés Proaño Grijalva
Asignatura: Estructura de Datos
Fecha: 24 de Octubre del 2022, Agua Prieta, Sonora México
Ejercicio propuesto 4.3.1.1: Crea un “struct”; que almacene datos de una canción
en formato MP3: Artista, Título, Duración (en segundos), Tamaño del fichero (en
KB). Un programa debe pedir los datos de una canción al usuario, almacenarlos
en dicho “struct”; y después mostrarlos en pantalla.
Ejercicio propuesto 4.3.2.1: Amplia el programa del ejercicio 4.3.1.1, para que
almacene datos de hasta 100 canciones. Deberá tener un menú que permita las
opciones: añadir una nueva canción, mostrar el título de todas las canciones,
buscar la canción que contenga un cierto texto (en el artista o en el título).
Ejercicio propuesto 4.3.3.1: Amplia el programa 4.3.2.1, para que el campo
”duración”; se almacene como minutos y segundos, usando un “struct” anidado
que contenga a su vez estos dos campos.

using System;
using System.Collections.Generic;

namespace ConsoleApp
{
public class EjercicioStructCancion
{
public static void Main(string[] args)
{

tipoCancion[] Rolita = new tipoCancion[100];

int opc=0;
do
{

Console.WriteLine(" Menu Canciones");


Console.WriteLine("--------------- ");
Console.WriteLine(" 1. Agregar Cancion");
Console.WriteLine(" 2. Mostrar titulo de toodas las
canciones");
Console.WriteLine(" 3. Buscar Cancion");
Console.WriteLine(" 4. Salir ");
Console.WriteLine(" Opcion= ");
opc= Convert.ToInt32(Console.ReadLine());

switch (opc)
{
case 1:
//artista, titulo, duracionseg, ficherkb

Console.Write("Cuantas cancion desea agregar?: ");


int n= Convert.ToInt16(Console.ReadLine());

for (var i = 0; i < n; i++)


{

Console.WriteLine("De que Artstita es la Cancion?: ");


Rolita[i].Artista= Console.ReadLine();
Console.WriteLine("Que titulo tiene la Cancion: ");
Rolita[i].Titulo= Console.ReadLine();
Console.WriteLine("Cual es la duracion de la cancion?: en
minutos ");
Rolita[i].DuracionSeg.minutos=
Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Cual es la duracion de la cancion?: en
segundos ");
Rolita[i].DuracionSeg.segundos=
Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Cuanto pesa el fichero de la cancion en
KB? ");
Rolita[i].FicheroKB= Convert.ToInt32(Console.ReadLine());
Console.WriteLine(" ");
Console.Clear();

break;
case 2:
Console.WriteLine("Los titulos de todas las canciones
agregadas es: ");
for (var i = 0; i < Rolita.Length; i++)
{
Console.WriteLine("{0} =
{1}",i, Rolita[i].Titulo);
}

Console.ReadKey();
Console.Clear();
break;
case 3:
Console.WriteLine("Escriba el nombre que busca en la
lista:");
string busqueda = Console.ReadLine();
Rolita.ToArray();

for (var i = 0; i < Rolita.Length; i++)


{
if (Rolita[i].Titulo == busqueda)
{
Console.WriteLine("Se encontro tu Cancion esta es:
" + Rolita[i].Titulo);
Console.WriteLine("\n");
}
}

break;
default:
break;
}

} while (opc!= 4);

struct tipoCancion{
public string Artista;
public string Titulo;
public duracion DuracionSeg;
public int FicheroKB;
}

struct duracion{
public double minutos;
public double segundos;
}
}
}
Ejercicio propuesto 4.3.2.2: Crea un programa que permita guardar datos de
“imágenes” (ficheros de ordenador que contengan fotografías o cualquier otro
tipo de información gráfica). De cada imagen se debe guardar: nombre (texto),
ancho en píxeles (por ejemplo 2000), alto en píxeles (por ejemplo, 3000), tamaño
en Kb (por ejemplo 145,6). El programa debe ser capaz de almacenar hasta 700
imágenes (deberá avisar cuando su capacidad esté llena). Debe permitir las
opciones: añadir una ficha nueva, ver todas las fichas (número y nombre de cada
imagen), buscar la ficha que tenga un cierto nombre.
using System;
using System.Collections.Generic;

namespace ConsoleApp
{
public class EjercicioStructCancion
{
public static void Main(string[] args)
{

tipoImagen[] Imagensita = new tipoImagen[700];

int opc=0;
do
{

Console.WriteLine(" Menu Imagenes");


Console.WriteLine("--------------- ");
Console.WriteLine(" 1. Agregar Imagen");
Console.WriteLine(" 2. Mostrar Imagenes ");
Console.WriteLine(" 3. Buscar ficha/imagen");
Console.WriteLine(" 4. Salir ");
Console.WriteLine(" Opcion= ");
opc= Convert.ToInt32(Console.ReadLine());

switch (opc)
{

case 1:

Console.Write("Cuantas Imagenes desea agregar?: ");


int n= Convert.ToInt16(Console.ReadLine());
for (var i = 0; i < n; i++)
{
// nombre, ancho, alto, tamannio en kb. obtener 700 agregar, ver
numero y nombre de cada una,
//buscar una por su ficha
Console.WriteLine("Cual es el nombre de la ficha: ");
Imagensita[i].nombre= Console.ReadLine();
Console.WriteLine("Cual es el alto de la imagen: ");
Imagensita[i].alto= Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Cual es el ancho de la imagen: ");
Imagensita[i].ancho= Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Cuanto pesa el fichero de la imagen en KB? ");
Imagensita[i].tamanokb= Convert.ToInt32(Console.ReadLine());
Console.WriteLine(" ");
Console.Clear();

break;
case 2:
Console.WriteLine("Los titulos de todas las canciones agregadas es: ");
for (var i = 0; i < Imagensita.Length; i++)
{
Console.WriteLine("{0} = {1}",i, Imagensita[i].nombre);
}

Console.ReadKey();
Console.Clear();
break;
case 3:

Console.WriteLine("Que nombre tiene la imagen?: ");


string busqueda = Console.ReadLine();
Imagensita.ToArray();

for (var i = 0; i < Imagensita.Length; i++)


{
if (Imagensita[i].nombre == busqueda)
{
Console.WriteLine("Se encontro tu imagen con el nombre: " +
Imagensita[i].nombre);
Console.WriteLine("\n");
}
}
break;
default:
break;
}

} while (opc!= 4);

struct tipoImagen{
// nombre, ancho, alto, tamannio en kb. obtener 700 agregar, ver numero y nombre
de cada una,
//buscar una por su ficha
public string nombre;
public int ancho;
public int alto;
public int tamanokb;

}
}

También podría gustarte