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.
using System;
namespace ejercicio1
{
class Program
{
struct Cancion
{
public string artista;
public string titulo;
public int duracion;
public int tamanioFichero;
}
static void Main(string[] args)
{
Cancion cancion = new Cancion();
Console.WriteLine("Introduce el nombre del artista:");
cancion.artista = Console.ReadLine();
Console.WriteLine("Introduce el titulo de la cancion:");
cancion.titulo = Console.ReadLine();
Console.WriteLine("Introduce la duracion de la cancion:");
cancion.duracion =int.Parse(Console.ReadLine());
Console.WriteLine("Introduce el tamaño el del fichero:");
cancion.tamanioFichero = int.Parse(Console.ReadLine());
Console.WriteLine($"Artista: {cancion.artista}");
Console.WriteLine($"Titulo: {cancion.titulo}");
Console.WriteLine($"Duracion: {cancion.duracion}");
Console.WriteLine($"Tamaño: {cancion.tamanioFichero}");
}
}
}
Cree un programa en C# que solicite al usuario su nombre y su edad. Debe almacenarlos en una * estructura de datos struct y luego saludar al usuario utilizando su nombre.
using System;
using System.Globalization;
namespace ejercicio2
{
class Program
{
struct Usuario
{
public string nombre;
public int edad;
}
static void Main(string[] args)
{
Usuario user = new Usuario();
Console.WriteLine("Introduce tu nombre:");
user.nombre = Console.ReadLine();
Console.WriteLine("Introduce tu edad:");
user.edad =int.Parse(Console.ReadLine());
Console.WriteLine($"Hola {CultureInfo.InvariantCulture.TextInfo.ToTitleCase(user.nombre)} como estas");
}
}
}
Amplia el programa del ejercicio anterior, 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)
using System;
namespace ejercicio3
{
class Program
{
struct Cancion
{
public string artista;
public string titulo;
public int duracion;
public int tamanioFichero;
}
static void Main(string[] args)
{
Cancion[] cancion = new Cancion[100];
int opcion=0,numeroBase=0;
do
{
Console.WriteLine("****** MENU ******");
Console.WriteLine("(1).Añadir Cancion");
Console.WriteLine("(2).Lista Canciones");
Console.WriteLine("(3).Buscar por artista");
Console.WriteLine("(4).Buscar por titulo");
Console.WriteLine("(5).Salir");
Console.WriteLine("Escoge opcion:");
opcion = int.Parse(Console.ReadLine());
switch (opcion)
{
case 1:
if (numeroBase < 100)
{
Console.WriteLine("Introduce el artista de la cancion");
cancion[numeroBase].artista = Console.ReadLine();
Console.WriteLine("Introduce el titulo de la cancion");
cancion[numeroBase].titulo = Console.ReadLine();
Console.WriteLine("Introduce la duracion de la cancion");
cancion[numeroBase].duracion = int.Parse(Console.ReadLine());
Console.WriteLine("Introduce el tamaño del fichero de la cancion");
cancion[numeroBase].tamanioFichero = int.Parse(Console.ReadLine());
numeroBase++;
}
else
{
Console.WriteLine("Tu MP3 esta lleno");
}
break;
case 2:
for(int i = 0; i < numeroBase; i++)
{
Console.WriteLine($"Cancion Nº --> {i+1}");
Console.WriteLine($"Artista --> {cancion[i].artista}");
Console.WriteLine($"Titulo --> {cancion[i].titulo}");
Console.WriteLine($"Duracion --> {cancion[i].duracion}");
Console.WriteLine($"Tamaño --> {cancion[i].tamanioFichero}");
Console.WriteLine();
}
break;
case 3:
string artista;
Console.WriteLine("Introduce el artista a buscar:");
artista = Console.ReadLine();
int artistas = 0;
for (int i = 0; i < numeroBase; i++)
{
if (cancion[i].artista.Contains(artista))
{
Console.WriteLine($"Cancion Nº --> {i+1}");
Console.WriteLine($"Artista --> {cancion[i].artista}");
Console.WriteLine($"Titulo --> {cancion[i].titulo}");
Console.WriteLine($"Duracion --> {cancion[i].duracion}");
Console.WriteLine($"Tamaño --> {cancion[i].tamanioFichero}");
Console.WriteLine();
artistas++;
}
}
if (artistas == 0)
{
Console.WriteLine("Ningun artista concincide con su busqueda");
}
break;
case 4:
string titulo;
Console.WriteLine("Introduce el titulo a buscar:");
titulo = Console.ReadLine();
int titulos = 0;
for (int i = 0; i < numeroBase; i++)
{
if (cancion[i].titulo.Contains(titulo))
{
Console.WriteLine($"Cancion Nº --> {i+1}");
Console.WriteLine($"Artista --> {cancion[i].artista}");
Console.WriteLine($"Titulo --> {cancion[i].titulo}");
Console.WriteLine($"Duracion --> {cancion[i].duracion}");
Console.WriteLine($"Tamaño --> {cancion[i].tamanioFichero}");
Console.WriteLine();
titulos++;
}
}
if (titulos == 0)
{
Console.WriteLine("Ningun titulo concincide con su busqueda");
}
break;
case 5:
Console.WriteLine("Saliendo del MP3");
break;
default:
Console.WriteLine("Opcion no contemplada");
break;
}
} while (opcion != 5);
}
}
}
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;
namespace ejercicio4
{
struct Imagenes
{
public string nombre;
public int ancho;
public int alto;
public int tamanio;
}
class Program
{
static void Main(string[] args)
{
Imagenes[] imagen = new Imagenes[700];
int opcion = 0;
int cantidadImagenes = 0;
do
{
Console.WriteLine("***** MENU *****");
Console.WriteLine("(1).Añadir imagen");
Console.WriteLine("(2).Listar imagenes");
Console.WriteLine("(3).Buscar imagen");
Console.WriteLine("(4).Salir");
Console.WriteLine("Escoge opcion");
opcion = int.Parse(Console.ReadLine());
switch (opcion)
{
case 1:
if (cantidadImagenes < 700)
{
Console.WriteLine("Introduce el nombre de la imagen");
imagen[cantidadImagenes].nombre = Console.ReadLine();
Console.WriteLine("Introduce el ancho de la imagen");
imagen[cantidadImagenes].ancho =int.Parse(Console.ReadLine());
Console.WriteLine("Introduce el alto de la imagen");
imagen[cantidadImagenes].alto = int.Parse(Console.ReadLine());
Console.WriteLine("Introduce el tamaño de la imagen");
imagen[cantidadImagenes].tamanio = int.Parse(Console.ReadLine());
Console.WriteLine("Imagen guardada correctamente");
cantidadImagenes++;
}
else
{
Console.WriteLine("Disco lleno");
}
break;
case 2:
int resultado = 0;
for(int i = 0; i < cantidadImagenes; i++)
{
Console.WriteLine($"Imagen Nº{i+1} --> NombreImagen: {imagen[i].nombre}");
resultado++;
}
if (resultado == 0)
{
Console.WriteLine("El disco esta vacio");
}
break;
case 3:
string busco = "";
resultado = 0;
Console.WriteLine("Introduce la imagen a buscar");
busco = Console.ReadLine();
for(int i = 0; i < cantidadImagenes; i++)
{
if (imagen[i].nombre.Contains(busco))
{
Console.WriteLine($"Imagen Nº{i + 1} --> NombreImagen: {imagen[i].nombre}");
resultado++;
}
}
if (resultado == 0)
{
Console.WriteLine("La imagen no se encuentra en el disco");
}
break;
case 4:
Console.WriteLine("Saliendo del disco");
break;
default:
Console.WriteLine("No existe esa opcion");
break;
}
} while (opcion != 4);
}
}
}
Amplia el ejercicio 3, 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;
namespace ejercicio5
{
class Program
{
struct Duracion
{
public int minutos,segundos;
}
struct Cancion
{
public string artista;
public string titulo;
public Duracion duracion;
public int tamanioFichero;
}
static void Main(string[] args)
{
Cancion[] cancion = new Cancion[100];
int opcion = 0, numeroBase = 0;
do
{
Console.WriteLine("****** MENU ******");
Console.WriteLine("(1).Añadir Cancion");
Console.WriteLine("(2).Lista Canciones");
Console.WriteLine("(3).Buscar por artista");
Console.WriteLine("(4).Buscar por titulo");
Console.WriteLine("(5).Salir");
Console.WriteLine("Escoge opcion:");
opcion = int.Parse(Console.ReadLine());
switch (opcion)
{
case 1:
if (numeroBase < 100)
{
Console.WriteLine("Introduce el artista de la cancion");
cancion[numeroBase].artista = Console.ReadLine();
Console.WriteLine("Introduce el titulo de la cancion");
cancion[numeroBase].titulo = Console.ReadLine();
Console.WriteLine("Introduce los minutos de la cancion");
cancion[numeroBase].duracion.minutos = int.Parse(Console.ReadLine());
Console.WriteLine("Introduce los segundos de la cancion");
cancion[numeroBase].duracion.segundos = int.Parse(Console.ReadLine());
Console.WriteLine("Introduce el tamaño del fichero de la cancion");
cancion[numeroBase].tamanioFichero = int.Parse(Console.ReadLine());
numeroBase++;
}
else
{
Console.WriteLine("Tu MP3 esta lleno");
}
break;
case 2:
for (int i = 0; i < numeroBase; i++)
{
Mostar(cancion, i);
}
break;
case 3:
string artista;
Console.WriteLine("Introduce el artista a buscar:");
artista = Console.ReadLine();
int artistas = 0;
for (int i = 0; i < numeroBase; i++)
{
if (cancion[i].artista.Contains(artista))
{
Mostar(cancion, i);
artistas++;
}
}
if (artistas == 0)
{
Console.WriteLine("Ningun artista concincide con su busqueda");
}
break;
case 4:
string titulo;
Console.WriteLine("Introduce el titulo a buscar:");
titulo = Console.ReadLine();
int titulos = 0;
for (int i = 0; i < numeroBase; i++)
{
if (cancion[i].titulo.Contains(titulo))
{
Mostar(cancion, i);
titulos++;
}
}
if (titulos == 0)
{
Console.WriteLine("Ningun titulo concincide con su busqueda");
}
break;
case 5:
Console.WriteLine("Saliendo del MP3");
break;
default:
Console.WriteLine("Opcion no contemplada");
break;
}
} while (opcion != 5);
}
static void Mostar(Cancion[] cancion,int i)
{
Console.WriteLine($"Cancion Nº --> {i + 1}");
Console.WriteLine($"Artista --> {cancion[i].artista}");
Console.WriteLine($"Titulo --> {cancion[i].titulo}");
Console.WriteLine($"Minutos --> {cancion[i].duracion.minutos}");
Console.WriteLine($"Segundos --> {cancion[i].duracion.segundos}");
Console.WriteLine($"Tamaño --> {cancion[i].tamanioFichero}");
Console.WriteLine();
}
}
}
Crea una enumeración llamada DiasSemana que represente los días de la semana. * Luego, escribe un programa que pida al usuario ingresar un número (1 para lunes, 2 para martes, etc.) y muestre el día correspondiente.
using System;
namespace ejercicio6
{
class Program
{
enum DiasSemana
{
Lunes=1,
Martes=2,
Miercoles=3,
Jueves=4,
Viernes=5,
Sabado=6,
Domingo=7
}
static void Main(string[] args)
{
int dia = 0;
do
{
Console.WriteLine("Introduce un dia:");
dia = int.Parse(Console.ReadLine());
DiasSemana diaSeleccionado = (DiasSemana)dia;
Console.WriteLine($"El dia seleccionado es: {diaSeleccionado}");
} while (dia < 1 || dia > 7);
}
}
}
Define una enumeración llamada Meses que represente los meses del año. Crea una función que tome como parámetro * un mes e imprima si ese mes pertenece al invierno, primavera, verano u otoño.
using System;
namespace ejercicio7
{
class Program
{
enum Meses
{
Enero=1,
Febrero = 2,
Marzo = 3,
Abril = 4,
Mayo = 5,
Junio = 6,
Julio = 7,
Agosto = 8,
Septiembre = 9,
Octubre = 10,
Noviembre = 11,
Diciembre = 12
}
static void Main(string[] args)
{
int mes = 0;
do
{
Console.WriteLine("Introduce un mes entre 1 y 12");
mes = int.Parse(Console.ReadLine());
Temporada(mes);
} while (mes < 1 || mes > 12);
}
static void Temporada(int mes)
{
Meses meses = (Meses)mes;
switch (mes)
{
case 1:
case 2:
case 3:
Console.WriteLine($"El mes de {meses} pertenece a invierno");
break;
case 4:
case 5:
case 6:
Console.WriteLine($"El mes de {meses} pertenece a primavera");
break;
case 7:
case 8:
case 9:
Console.WriteLine($"El mes de {meses} pertenece a verano");
break;
case 10:
case 11:
case 12:
Console.WriteLine($"El mes de {meses} pertenece a otoño");
break;
}
}
}
}