Seminario de estructura de datos
Enviado por El Rancho Gameplays • 12 de Octubre de 2020 • Apuntes • 1.638 Palabras (7 Páginas) • 115 Visitas
Universidad de Guadalajara[pic 1]
Centro Universitario de Ciencias Exactas e Ingenierías
Practica 1
Materia: Seminario de estructura de datos
Introducción:
Un registro, en programación, es un tipo de dato estructurado formado por la unión de varios elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos elementales (entero, real, carácter,...), o bien otras estructuras de datos. A cada uno de esos elementos se le llama campo.
Código fuente:
#include
#include
#include
#include
using namespace std;
#define TAMANO_NOMBRE 50
#define MAX_ALUMNOS 7
struct fecha
{
int dia;
int mes;
int anio;
};
struct alumno
{
unsigned int codigo;
char nombre[TAMANO_NOMBRE+1];
char apellido[TAMANO_NOMBRE+1];
int edad;
struct fecha fechaNacimiento;
char genero[10];
};
alumno alumnos[MAX_ALUMNOS];
bool registroVacioDeAlumnos[MAX_ALUMNOS];
void limpiarRegistroAlumno(int indice);
void inicializarPrograma();
void modificarregistroDeAlumno(int indice);
void agregarAlumno();
bool hayDatosEnElRegistro(int indice);
void mostrarListaDeAlumnos(int indice);
void darDeBajaAlumno();
void consultarAlgunAlumno();
void cambiarDatosDeAlumno();
void listarAlumnos();
int seleccionarOpcion();
int main()
{
bool salidaDePrograma=true;
inicializarPrograma();
setlocale(LC_ALL,"");
do
{
switch(seleccionarOpcion())
{
case 1:
agregarAlumno();
break;
case 2:
consultarAlgunAlumno();
break;
case 3:
darDeBajaAlumno();
break;
case 4:
cambiarDatosDeAlumno();
break;
case 5:
listarAlumnos();
break;
case 6:
salidaDePrograma=false;
break;
default:
cout<<"Opcion no valida!"<< endl;
}
salidaDePrograma?system("PAUSE"):0;
}
while(salidaDePrograma);
return 0;
}
void limpiarRegistroAlumno(int indice)
{
int i= indice;
alumnos[i].codigo=0;
strcpy(alumnos[i].nombre, "");
strcpy(alumnos[i].apellido, "");
alumnos[i].edad=0;
alumnos[i].fechaNacimiento.anio=0;
alumnos[i].fechaNacimiento.mes =0;
alumnos[i].fechaNacimiento.dia =0;
registroVacioDeAlumnos[i]=true;
}
void inicializarPrograma()
{
int i;
for(i=0; i
{
limpiarRegistroAlumno(i);
}
}
void modificarregistroDeAlumno(int indice)
{
int i=indice;
cout << "Ingrese los datos para el registro " << i+1 << endl;
cout << "Codigo: " ;
cin >> alumnos[i].codigo;
cout << "Nombre: " ;
cin >> alumnos[i].nombre;
cout << "Apellido: " ;
cin >> alumnos[i].apellido;
cout << "Edad: " ;
cin >> alumnos[i].edad;
cout << "Fecha nacimiento dd: " ;
cin >> alumnos[i].fechaNacimiento.dia;
cout << "Fecha nacimiento mm: ";
cin >> alumnos[i].fechaNacimiento.mes;
cout << "Fecha nacimiento aaaa: ";
cin >> alumnos[i].fechaNacimiento.anio;
registroVacioDeAlumnos[i]= false;
}
void agregarAlumno()
{
bool existeEspacioLibre;
int i;
cout << "AGREGAR ALUMNO NUEVO" << endl;
existeEspacioLibre=false;
for(i=0; i
{
if (registroVacioDeAlumnos[i])
{
existeEspacioLibre=true;
break;
}
}
if (existeEspacioLibre)
{
modificarregistroDeAlumno(i);
}
else
{
cout << "No hay espacio alguno para capturar "<< endl;
}
}
bool hayDatosEnElRegistro(int indice)
{
bool hayDatos = false;
if ((0<=indice)&&(indice
{
if (registroVacioDeAlumnos[indice])
{
cout << "\nRegistro sin datos\n"<< endl;
}
else
{
hayDatos=true;
...