En el presente se muestra la solución de un ejercicio de multilistas del libro: Estructura de Datos Orientada a Objetos, Algoritmos con C++ de Silvia Guardatti, en el capitulo de Listas.
1. ÁREA DE ENERGÍA, INDUSTRIAS Y RECURSOS NATURALES NO RENOVABLES
CARRERA DE INGENIERÍA EN SISTEMAS
Trabajo de:
V Módulo “A”
Pertenece a:
Docente: Ing. Alex Padilla
LOJA-ECUADOR
2013-2014
2. MULTILISTAS
Observe el siguiente esquema, diseñe una estructura de datos que pueda representar los datos y
las relaciones entre ellos de manera adecuada. Defina una clase para las marcas y otra para
modelos.
/*
* Nodo.h
*
* Created on: 05/12/2013
* Author: Cristhian Rosales.
*/
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <conio.h>
using namespace std;
class Nodo
{
private:
Nodo*sig;
Nodo*inferior;
Nodo*Primero;
string nombre;
public:
friend class MarcAyModelO;
Nodo(){
sig=NULL;
inferior=NULL;
nombre="";
Primero=NULL;
}
};
4. Nodo *aux2;
aux2=aux->Primero;
while(aux2->sig!=NULL){
aux2=aux2->sig;
}
aux2->sig=nuevo;
}
}else{
cout<<"No existe la marca ingresada!!"<<endl;
}
}else{
cout<<"Antes de ingresar un modelo, ingrese una marca"<<endl;
}
}
void Presentar(){
if(PrimerMarca!=NULL){
Nodo*aux;
aux=PrimerMarca;
while(aux->sig!=NULL){
cout<<"<<MARCA>>"+aux->nombre<<"n";
if(aux->Primero!=NULL && aux->inferior!=NULL){
Nodo *aux2;
aux2=aux->Primero;
while(aux2->sig!=NULL){
cout<<" <<MODELO>>"+aux2->nombre<<"n";
aux2=aux2->sig;
}
cout<<" <<MODELO>>"+aux2->nombre<<"n";
}else{
cout<<aux->nombre+" No tiene modelos"<<endl;
}
aux=aux->sig;
}
cout<<"<<MARCA>>"+aux->nombre<<"n";
if(aux->Primero!=NULL && aux->inferior!=NULL){
Nodo *aux2;
aux2=aux->Primero;
while(aux2->sig!=NULL){
cout<<" <<MODELO>>"+aux2->nombre<<"n";
aux2=aux2->sig;
}
cout<<" <<MODELO>>"+aux2->nombre<<"n";
}else{
cout<<aux->nombre+" No tiene modelos"<<endl;
}
}else{
cout<<"No hay datos para presentar"<<endl;
}
}
5. void menu()
{
int menu;
string marca;
string marca2;
string modelo;
do{
cout<<"-------------------------------------"<<endl;
cout<<"==========[[[[[[MENÚ]]]]]]==========="<<endl;
cout<<"-------------------------------------"<<endl;
cout<<"****[1] INSERTAR MARCA****"<<endl;
cout<<"****[2] INSERTAR MODELO DE UNA MARCA****"<<endl;
cout<<"****[3] PRESENTAR***"<<endl;
cout<<"****[4] SALIR ****"<<endl;
cout<<"-------------------------------------"<<endl;
cout<<" =======> Ingrese una opción:"<<endl;
cin>>menu;
switch(menu)
{
case 1:
cout<<"Escriba el nombre de la marca: "<<endl;
cin>>marca;
InsertarMarca(marca);
break;
case 2:
cout<<"Escriba el nombre de la marca a la que asignará
un modelo: "<<endl;
cin>>marca2;
cout<<"Escriba el nombre del modelo: "<<endl;
cin>>modelo;
InsertarModelo(marca2, modelo);
break;
case 3:
Presentar();
break;
default:
cout<<"FIN DEL PROGRAMA"<<endl;
break;
}
}while(menu<=3);
}
};
int main(){
MarcAyModelO lista;
lista.menu();
}