2
Lo más leído
3
Lo más leído
5
Lo más leído
Á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
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;
}
};
/*
* MarcAyModelO.cpp
*
* Created on: 05/12/2013
* Author: Cristhian Rosales.
*/
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <conio.h>
#include "Nodo.h"
using namespace std;
class MarcAyModelO
{
private:
Nodo *PrimerMarca;
public:
MarcAyModelO(){
PrimerMarca=NULL;
}
void InsertarMarca(string marca){
Nodo *nuevo;
nuevo=new Nodo;
nuevo->nombre=marca;
if(PrimerMarca==NULL){
PrimerMarca=nuevo;
}else{
Nodo *aux;
aux=PrimerMarca;
while(aux->sig!=NULL){
aux=aux->sig;
}
aux->sig=nuevo;
}
}
void InsertarModelo(string marca2, string modelo){
if(PrimerMarca!=NULL){
Nodo*aux;
aux=PrimerMarca;
while(aux->nombre!=marca2 && aux->sig!=NULL){
aux=aux->sig;
}
if(aux->nombre==marca2){
Nodo*nuevo;
nuevo=new Nodo;
nuevo->nombre=modelo;
if(aux->inferior==NULL){
aux->inferior=nuevo;
aux->Primero=nuevo;
}else{
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;
}
}
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();
}

Más contenido relacionado

PPT
5.manejo de excepciones
PPTX
Pilas, colas, y listas estructura de datos
PPTX
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
PDF
8b Curso de POO en java - paso de diagrama clases a java 1
PPTX
Programacion Orientada a Objetos
PPTX
Ordenamiento con árbol binario
PPTX
Casos de Uso ejercicios
PPTX
Reglas de Codd
5.manejo de excepciones
Pilas, colas, y listas estructura de datos
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
8b Curso de POO en java - paso de diagrama clases a java 1
Programacion Orientada a Objetos
Ordenamiento con árbol binario
Casos de Uso ejercicios
Reglas de Codd

La actualidad más candente (20)

PDF
Arreglos bidimensionales
PPTX
Dependencias Funcionales en Bases de Datos
PDF
matrices con-pse int
PPTX
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
PDF
Estructura de Datos - árboles y grafos
PDF
Manual sql server parte 1
PPT
diagrama de casos de uso del negocio y del sistema
PPT
Modelo de datos
PPTX
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
PDF
Leyes De Conjuntos
PPT
Pilas En C++
PPT
Sql presentacion
PDF
Clases y objetos de java
PPTX
Programación orientada a objetos presentacion
PPTX
Fundamentos de Programación - Unidad III Control de Flujo
PDF
Matemáticas discretas- Teoría de Conjuntos
PPTX
Manual de conexion a una base de datos con gambas
DOCX
Listas como estructura de datos..
Arreglos bidimensionales
Dependencias Funcionales en Bases de Datos
matrices con-pse int
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Estructura de Datos - árboles y grafos
Manual sql server parte 1
diagrama de casos de uso del negocio y del sistema
Modelo de datos
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Leyes De Conjuntos
Pilas En C++
Sql presentacion
Clases y objetos de java
Programación orientada a objetos presentacion
Fundamentos de Programación - Unidad III Control de Flujo
Matemáticas discretas- Teoría de Conjuntos
Manual de conexion a una base de datos con gambas
Listas como estructura de datos..
Publicidad

Destacado (13)

PPTX
Listas enlazadas doble exposicion
PPTX
Listas Encadenadas Jose Tannous
PPTX
Estructura de datos_Listas encadenadas presentacion
DOC
Lista Doblemente Enlazada
PPTX
Listas doblemente enlazadas
PPTX
Listas
PPT
Listas Doblemente Enlazadas y Listas Circulares
PPTX
Estructura de datos listas, pilas y colas
PPT
Arboles Binarios
PPTX
Estructura de datos: lista, pilas y colas
PPTX
concepto de estructuras de datos
PPTX
Tipos de listas en estructura de datos
Listas enlazadas doble exposicion
Listas Encadenadas Jose Tannous
Estructura de datos_Listas encadenadas presentacion
Lista Doblemente Enlazada
Listas doblemente enlazadas
Listas
Listas Doblemente Enlazadas y Listas Circulares
Estructura de datos listas, pilas y colas
Arboles Binarios
Estructura de datos: lista, pilas y colas
concepto de estructuras de datos
Tipos de listas en estructura de datos
Publicidad

Similar a Estructura de Datos, Multilistas (20)

PPT
Presentación Base de Datos Slideshare
PPT
Bd oo presentacion
DOCX
Taller # 14 grado 6 creación de carpetas
PDF
Aplicacion
PDF
Reporte de practica 9 funciones y graficas
DOCX
Glosario completo
PPTX
LABORATORIO DE PROGRAMACIÓN I
DOCX
Ajax - Pablo Almeida Haro
PDF
U3-ACT02-TBD-ISC-MSG.pdf
PDF
DOCX
Glosario
PPT
Posgres Sql2
DOCX
base de datos orientado a dispositivos moviles
DOCX
Te enamoraste jeje
DOCX
Glosario
PPTX
Fases para la creación de una base de datos
PPT
presentacion modelo entidad relacion ppt
PPT
Modelo Entiendad Relación Base de Datoss
PDF
Guiapractica de bd completa
PDF
Acceso a datos con ado.net en visual basic
Presentación Base de Datos Slideshare
Bd oo presentacion
Taller # 14 grado 6 creación de carpetas
Aplicacion
Reporte de practica 9 funciones y graficas
Glosario completo
LABORATORIO DE PROGRAMACIÓN I
Ajax - Pablo Almeida Haro
U3-ACT02-TBD-ISC-MSG.pdf
Glosario
Posgres Sql2
base de datos orientado a dispositivos moviles
Te enamoraste jeje
Glosario
Fases para la creación de una base de datos
presentacion modelo entidad relacion ppt
Modelo Entiendad Relación Base de Datoss
Guiapractica de bd completa
Acceso a datos con ado.net en visual basic

Último (20)

PPTX
PPT SESIÓN 6 Los Injertos.- Micropropagación e Injertos Clonales.pptx
PDF
SESION 10 SEGURIDAD EN TRABAJOS CON ELECTRICIDAD.pdf
PPTX
PPT PE 7 ASOCIACIONES HUAMANGA_TALLER DE SENSIBILIZACIÓN_20.04.025.pptx
PDF
Seguridad vial en carreteras mexico 2003.pdf
PPTX
EQUIPOS DE PROTECCION PERSONAL - LEY LABORAL.pptx
PDF
Presentacion_Resolver_CEM_Hospitales_v2.pdf
PPTX
Investigacioncientificaytecnologica.pptx
PPTX
376060032-Diapositivas-de-Ingenieria-ESTRUCTURAL.pptx
PPTX
Identificacion de Peligros mediante GTC 45
PDF
Clase 2 de abril Educacion adistancia.pdf
PPTX
Expo petroelo 2do ciclo.psssssssssssssptx
PDF
Módulo V. Tema 2. Disruptive & Transformation 2024 v.0.4.pdf
PDF
METODOLOGÍA DE INVESTIGACION ACCIDENTES DEL TRABAJO.pdf
PDF
Diseño y Utiliación del HVAC Aire Acondicionado
PDF
Presentación Ejecutiva Minimalista Azul.pdf
PPT
flujo de caja paa la evaluacion de proyectos
PPTX
DEBL Presentación PG 23.pptx [Autoguardado].pptx
PPTX
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
PPTX
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
PPTX
TECNOLOGIA EN CONSTRUCCION PUBLICO Y PRIVADA
PPT SESIÓN 6 Los Injertos.- Micropropagación e Injertos Clonales.pptx
SESION 10 SEGURIDAD EN TRABAJOS CON ELECTRICIDAD.pdf
PPT PE 7 ASOCIACIONES HUAMANGA_TALLER DE SENSIBILIZACIÓN_20.04.025.pptx
Seguridad vial en carreteras mexico 2003.pdf
EQUIPOS DE PROTECCION PERSONAL - LEY LABORAL.pptx
Presentacion_Resolver_CEM_Hospitales_v2.pdf
Investigacioncientificaytecnologica.pptx
376060032-Diapositivas-de-Ingenieria-ESTRUCTURAL.pptx
Identificacion de Peligros mediante GTC 45
Clase 2 de abril Educacion adistancia.pdf
Expo petroelo 2do ciclo.psssssssssssssptx
Módulo V. Tema 2. Disruptive & Transformation 2024 v.0.4.pdf
METODOLOGÍA DE INVESTIGACION ACCIDENTES DEL TRABAJO.pdf
Diseño y Utiliación del HVAC Aire Acondicionado
Presentación Ejecutiva Minimalista Azul.pdf
flujo de caja paa la evaluacion de proyectos
DEBL Presentación PG 23.pptx [Autoguardado].pptx
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
TECNOLOGIA EN CONSTRUCCION PUBLICO Y PRIVADA

Estructura de Datos, Multilistas

  • 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; } };
  • 3. /* * MarcAyModelO.cpp * * Created on: 05/12/2013 * Author: Cristhian Rosales. */ #include <iostream> #include <stdio.h> #include <cstring> #include <conio.h> #include "Nodo.h" using namespace std; class MarcAyModelO { private: Nodo *PrimerMarca; public: MarcAyModelO(){ PrimerMarca=NULL; } void InsertarMarca(string marca){ Nodo *nuevo; nuevo=new Nodo; nuevo->nombre=marca; if(PrimerMarca==NULL){ PrimerMarca=nuevo; }else{ Nodo *aux; aux=PrimerMarca; while(aux->sig!=NULL){ aux=aux->sig; } aux->sig=nuevo; } } void InsertarModelo(string marca2, string modelo){ if(PrimerMarca!=NULL){ Nodo*aux; aux=PrimerMarca; while(aux->nombre!=marca2 && aux->sig!=NULL){ aux=aux->sig; } if(aux->nombre==marca2){ Nodo*nuevo; nuevo=new Nodo; nuevo->nombre=modelo; if(aux->inferior==NULL){ aux->inferior=nuevo; aux->Primero=nuevo; }else{
  • 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(); }