Você está na página 1de 8

TRABAJO COLABORATIVO 1 ESTRUCTURA DE DATOS

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA. YOPAL 2013

2. Aplicacin de las estructuras. Las estructuras son colecciones de elementos, los cuales pueden ser de diferente tipo. Una estructura es un tipo de dato compuesto que permite almacenar un conjunto de datos que pueden ser de diferente tipo. Los datos que contiene una

estructura pueden ser de tipo simple (caracteres, nmeros enteros o de coma flotante etc.) o a su vez de tipo compuesto (vectores, estructuras, listas, etc.). A cada uno de los datos o elementos almacenados dentro de una estructura se les denomina miembros de esa estructura y stos pertenecern a un tipo de dato determinado.UNIVERSIDAD NACIONAL ABIERTA Y ADISTANCIA UNAD Escuela de Ciencias Bsicas Tecnologa E Ingeniera Curso: 301305-ESTRUCTURA DE DATOS Ing. Hermes Mosquera Angulo De acuerdo a la definicin conceptual de las estructuras, se requiere implementar un programa como aplicacin, que permita almacenar en una estructura llamada estudiante el cdigo del estudiante, el nombre y el telfono de contacto. El programa debe permitir insertar los datos del estudiante y posteriormente visualizarlos. Se tiene plena libertad para escoger la implementacin que considere de solucin al requerimiento. Como resultado se espera el cdigo fuente debidamente documentado y la captura de pantalla de las imgenes de la salida en pantalla de cada opcin. Recuerde: Para este punto no se pide hacer uso de funciones u operadores para la gestin dinmica de memoria. 3. Aplicacin de las estructuras de datos y gestin dinmica de memoria con las funciones Malloc() y Free(). Se requiere implementar un programa codificado en C++ que haga uso de la gestin dinmica de memoria con las funciones malloc() y free(), que por medio de un men de opciones permita insertar y visualizar la informacin de cursos acadmicos en una estructura llamada Cursos que almacenar el cdigo del curso, el nombre del curso y el nmero de crditos del curso. Como resultado se espera el cdigo fuente debidamente documentado y la captura de pantalla de las imgenes de la salida en pantalla de cada opcin.

4. Aplicacin de las estructuras y gestin dinmica de memoria con los operadores New y Delete. Implemente un programa en C++ que haga uso de la gestin dinmica de memoria a travs de los operadores New y Delete, que permita insertar y visualizar los datos bsicos de programas acadmicos de la UNAD, haciendo uso de una estructura llamada Programas que almacenar el cdigo del programa, el nombre del programa. Como resultado se espera el cdigo fuente debidamente documentado y la captura de pantalla de las imgenes de la salida en pantalla de cada opcin. Procedimiento A travs del foro habilitado para el desarrollo del trabajo colaborativo, cada integrante del grupo har sus aportes correspondientes que contribuirn a la consolidacin del trabajo final, debe evidenciarse los aportes individuales ya que estos sern tenidos en cuenta para la valoracin del trabajo y para diligenciar la tabla No.1 de la coevaluacin que harpa el lder del grupo. Es importante que UNIVERSIDAD NACIONAL ABIERTA Y ADISTANCIA UNAD Escuela de Ciencias Bsicas Tecnologa E Ingeniera Curso: 301305-ESTRUCTURA DE DATOS Ing. Hermes Mosquera Angulo desde el inicio de la actividad el grupo plantee una estrategia de participacin individual de tal manera que antes de los ltimos tres das previos a finalizar la actividad en consenso con todos los integrantes del grupo se seleccionen los mejores programas para presentarlos como producto final despus de la consolidacin. ACTIVIDAD 4. APLICACIN DE LAS ESTRUCTURAS Y GESTIN DINMICA DE MEMORIA CON LOS OPERADORES NEW Y DELETE. #include <cstdlib> #include <iostream>

using namespace std;

struct programa{ int codigo; char nombre[20]; };

int menu(); // Funcion con menu Textual de opciones. void agregarPrograma(programa *p,int indice); // Funcion para agregar un nuevo programa, se pasa como parametro un puntero con la posicion actual del indice en el arreglo. void mostrarPrograma(programa *p, int indice); // Funcion para mostrar desde el primer programa, hasta por donde valla el indice dentro del arreglo de cursos. void msjErrorMenu(); // Funcion con mensaje de error en caso de que el usuario introduzca un numero de opcion no permitido. void msjErrorBuffer(); // Funcion con mensaje de error para comunicar al usuario que se llego al limite del arreglo. void cerrarFuncion(); // Esta funcion ayuda con el perfomance del programa. void msjSalida(); // Funcion que muestra un mensaje de despedida al cerrar el programa.

int main(int argc, char *argv[]) { int indice=0; // Esta variable es utilizada como indice para conocer la posicion dentro del arreglo de la estructura. programa *p; // Se declara puntero a la estructura p = (programa*) malloc(20*sizeof(programa)); // se asigna un arreglo de 20 posiciones al puntero. int opcionMenu; // Esta variable es utilizada para recoger la opcin digitada por el usuario.

do{ opcionMenu=menu(); // Se recoge el numero de opcion selecionado por el usuario. system("cls"); cout << endl;

switch(opcionMenu){ // Se analizan las opcines del usuario.

case 1: // Opcion Agregar usuario. if(indice>=20){ // Condicional para no sobrepasar el limite de longitud del arreglo. msjErrorBuffer(); // Funcion con mensaje de error para comunicar al usuario que se llego al limite del arreglo. break; } else{ // Si no se ha sobre pasado dicho limite, se procede a agregar el curso. agregarPrograma(p,indice); // funcion para agregar curso indice++; // Se incrementa el indice break; }

case 2: mostrarPrograma(p,indice); // se muestras todos los cursos introducidos hasta el momento. cerrarFuncion(); break;

case 9:

delete p; // Se libera la memoria. msjSalida(); // Se muestra un mensaje de despedida. break;

default: msjErrorMenu(); // En caso de que el usuario introduzca un numero de opcion no permitido. break; } }while(opcionMenu!=9);

system("pause"); return 0; }

int menu(){ // Funcion con menu Textual de opciones. int resp; cout << "***Menu***" << endl << endl; cout << "Selecione la opciones: " << endl; cout << "1. Agregar Programa" << endl; cout << "2. Mostrar Programas" << endl; cout << "9. Salir del Programa" << endl; cout << endl << " Selecione la opcion numero: "; cin >> resp; cerrarFuncion(); return resp; // Devuelve el numero de opcion selecionado por el usuario. }

void agregarPrograma(programa *p,int indice){ // Funcion para agregar un nuevo curso, se pasa como parametro un puntero con la posicion actual del indice en el arreglo. cout << "Introduzca el codigo del programa: "; cin >> p[indice].codigo;

cout << "Introduzca el nombre del programa: "; cin >> p[indice].nombre;

cerrarFuncion(); }

void mostrarPrograma(programa *p,int indice){ // Se muetra desde el primer programa, hasta por donde valla el indice dentro del arreglo de programas. for(int i=0;i<indice;i++){ cout << endl << "******" << endl; cout << endl << "El codigo del programa es: " << p[i].codigo; cout << endl << "El nombre del programa es: " << p[i].nombre; } cerrarFuncion(); }

void msjErrorMenu(){ // Funcion con mensaje de error en caso de que el usuario introduzca un numero de opcion no permitido. system("cls"); cout << "El numero de opcion introducido no es valido, por favor selecione las opciones 1,2 o 9. Muchas Gracias." << endl; cerrarFuncion(); }

void msjErrorBuffer(){ // Funcion con mensaje de error para comunicar al usuario que se llego al limite del arreglo. system("cls"); cout << "Imposible crear programa. Se ha superado el lmite de crear programas." << endl; cerrarFuncion(); }

void cerrarFuncion(){ // Esta funpion ayuda pon el perfomanpe del programa. cout << endl << endl; system("pause"); system("cls"); }

void msjSalida(){ // Funpion que muestra un mensaje de despedida al perrar el programa. cout << "Muphas Grapias por utilizar pe programa." << endl << endl; cout << "*** Chao! ***" << endl << endl; cerrarFuncion(); }

Você também pode gostar