C#: Agenda básica en C# (2)
Agenda básica, para guardar datos de hasta 1000 personas. Permite añadir y buscar. Versión con funciones.
Lenguaje: C# (compilador: Mono 2.10.6)
Categoría: Básico
// Fuente procedente de ErrorDeSintaxis.es
// Agenda básica, para guardar datos de hasta
// 1000 personas. Permite añadir y buscar.
// Versión con funciones.
// Compilador: Mono 2.10.6
// Nivel: Básico
// Disponible desde 23/12/2011
// Aportado por Nacho
// Autor original: Nacho Cabanes
// Web original: http://www.nachocabanes.com/csharp/curso/
/* Agenda básica, para guardar datos de hasta 1000 personas. De cada persona, se almacena el nombre, correo electrónico y año de nacimiento. Permite: añadir un dato, mostrar todos, buscar Versión 2, usando funciones */ using System; public class Agenda1 { struct tipoPersona { public string nombre; public string email; public ushort anyoNacimiento; } static int capacidad = 100; static tipoPersona[] gente = new tipoPersona[capacidad]; static int cantidad = 0; static bool terminado = false; public static void MostrarMenu() { Console.WriteLine("Agenda básica"); Console.WriteLine(); Console.WriteLine("1- Añadir una nueva persona"); Console.WriteLine("2- Ver nombres de todos"); Console.WriteLine("3- Buscar una persona"); Console.WriteLine("0- Salir"); } public static string LeerOpcion() { Console.Write("Escoja una opción: "); string opcion = Console.ReadLine(); Console.WriteLine(); return opcion; } public static void NuevoDato() { if (cantidad < capacidad - 1) { Console.WriteLine("Introduciendo la persona {0}", cantidad + 1); Console.Write("Introduzca el nombre: "); gente[cantidad].nombre = Console.ReadLine(); Console.Write("Introduzca el correo electrónico: "); gente[cantidad].email = Console.ReadLine(); Console.Write("Introduzca el año de nacimiento: "); gente[cantidad].anyoNacimiento = Convert.ToUInt16(Console.ReadLine()); cantidad++; Console.WriteLine(); } else Console.WriteLine("Base de datos llena"); } public static void MostrarDatos() { if (cantidad == 0) Console.WriteLine("No hay datos"); else for (int i = 0; i < cantidad; i++) Console.WriteLine("{0}: {1}", i + 1, gente[i].nombre); Console.WriteLine(); } public static void BuscarDatos() { Console.Write("¿Qué texto busca? "); string buscar = Console.ReadLine(); bool encontrado = false; for (int i = 0; i < cantidad; i++) if (buscar.ToUpper() == gente[i].nombre.ToUpper()) { encontrado = true; Console.WriteLine( "{0}: Nombre: {1}, Email: {2}, Nacido en: {3}", i + 1, gente[i].nombre, gente[i].email, gente[i].anyoNacimiento); } if (!encontrado) { Console.WriteLine("No se ha encontrado."); Console.WriteLine(); } Console.WriteLine(); } public static void Main() { // Bucle principal do { MostrarMenu(); switch ( LeerOpcion() ) { case "1": NuevoDato(); break; case "2": MostrarDatos(); break; case "3": BuscarDatos(); break; case "0": // Salir de la aplicación Console.WriteLine(); Console.WriteLine("Saliendo..."); Console.WriteLine(); terminado = true; break; default: Console.WriteLine(); Console.WriteLine("Opción incorrecta!"); Console.WriteLine(); break; } } while (! terminado ); } }