ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Seminario de estructura de datos


Enviado por   •  12 de Octubre de 2020  •  Apuntes  •  1.638 Palabras (7 Páginas)  •  115 Visitas

Página 1 de 7

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;

...

Descargar como (para miembros actualizados) txt (7 Kb) pdf (115 Kb) docx (335 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com