Pascal: Agenda básica en Pascal (1: menú y array)
Agenda básica, para guardar datos de hasta 1000 personas. Permite añadir y buscar.
Lenguaje: Pascal (compilador: Free Pascal 2.4)
Categoría: Básico
(* Fuente procedente de ErrorDeSintaxis.es *)
(* Agenda básica, para guardar datos de hasta *)
(* 1000 personas. Permite añadir y buscar. *)
(* Lenguaje: Pascal *)
(* Compilador: Free Pascal 2.4 *)
(* Nivel: Básico *)
(* Disponible desde 23/12/2011 *)
(* Aportado por Nacho *)
(* Autor original: Nacho Cabanes *)
(* Web original: http://www.aprendeaprogramar.com *)
program Agenda; type tipoPersona = record nombre: string; email: string; anyoNacimiento: integer; end; const capacidad = 1000; var gente: array[1..capacidad] of tipoPersona; { Los datos } cantidad: integer; { Cantidad de datos existentes } opcion: integer; { Opción escogida } i: integer; { Para bucles for } textoBuscar: string; { Para búsquedas } encontrado: boolean; { Idem } {Cuerpo del programa principal} begin cantidad := 0; repeat WriteLn('Agenda'); WriteLn; WriteLn('1- Añadir una nueva persona'); WriteLn('2- Ver nombres de todos'); WriteLn('3- Buscar una persona'); WriteLn('0- Salir'); Write('Escoja una opción: '); ReadLn(opcion); WriteLn; case opcion of 1: { Añadir datos de una persona } if (cantidad < capacidad) then begin inc(cantidad); WriteLn('Introduciendo la persona ', cantidad); Write('Introduzca el nombre: '); ReadLn(gente[cantidad].nombre); Write('Introduzca el correo electrónico: '); ReadLn(gente[cantidad].email); Write('Introduzca el año de nacimiento: '); ReadLn(gente[cantidad].anyoNacimiento); WriteLn(); end else WriteLn('Base de datos llena'); 2: { Ver nombres de todos } begin if cantidad = 0 then WriteLn('No hay datos') else for i := 1 to cantidad do WriteLn(i, ' ', gente[i].nombre); WriteLn; end; 3: { Buscar una persona } begin Write('¿Qué texto busca? '); ReadLn( textoBuscar ); encontrado := false; for i := 1 to cantidad do if pos (textoBuscar, gente[i].nombre) > 0 then begin encontrado := true; WriteLn( i,' - Nombre: ', gente[i].nombre, ', Email: ', gente[i].email, ', Nacido en: ', gente[i].anyoNacimiento); end; if not encontrado then WriteLn('No se ha encontrado.'); WriteLn; end; 0: { Salir de la aplicación } begin WriteLn; WriteLn('Saliendo...'); WriteLn; end; else begin WriteLn; WriteLn('Opción incorrecta!'); WriteLn; end; end; { Fin de "case" } until opcion = 0; end.
Resultado:
Agenda 1- Añadir una nueva persona 2- Ver nombres de todos 3- Buscar una persona 0- Salir Escoja una opción: 1 Introduciendo la persona 1 Introduzca el nombre: Juan Introduzca el correo electrónico: 1@1.1 Introduzca el año de nacimiento: 1900 Agenda 1- Añadir una nueva persona 2- Ver nombres de todos 3- Buscar una persona 0- Salir Escoja una opción: 1 Introduciendo la persona 2 Introduzca el nombre: Jaime Introduzca el correo electrónico: 2@.2.2 Introduzca el año de nacimiento: 1910 Agenda 1- Añadir una nueva persona 2- Ver nombres de todos 3- Buscar una persona 0- Salir Escoja una opción: 2 1 Juan 2 Jaime Agenda 1- Añadir una nueva persona 2- Ver nombres de todos 3- Buscar una persona 0- Salir Escoja una opción: 3 ¿Qué texto busca? a 1 - Nombre: Juan, Email: 1@1.1, Nacido en: 1900 2 - Nombre: Jaime, Email: 2@.2.2, Nacido en: 1910 Agenda 1- Añadir una nueva persona 2- Ver nombres de todos 3- Buscar una persona 0- Salir Escoja una opción: 0 Saliendo...