Sei sulla pagina 1di 3

#include <iostream>

#include <conio.h> //
#include <stdlib.h>

Para usar el getchce()

using namespace std;


struct Interprete {
char nombre [30];
Interprete *primero; //apunta al primer interprete de la lista
Interprete *ultimo; //al ultimo intereprete de la lista
Interprete *siguiente; //al siguiente de la lista
};
struct Disquera {
char nombre [30];
Disquera *siguiente;
};
struct CD {
char nombre [30];
Disquera *disquera;
CD *siguiente;
};
void Menu (){
cout<< "DISQUERA TEMPTATIONS"<<endl;
cout<< " \tMENU "<< endl;
cout<< "\n1. Agregar un nuevo interprete"<<endl;
cout<< "\n2. Mostrar la lista de interpretes"<<endl;
cout<< "\n3. Eliminar interpretes"<<endl;
cout<< "\n4. Salir"<<endl;
cout<< "\nElija una opcion: ";
fflush(stdin);
}
void Nuevo_Interprete (){
Interprete *nuevo;
CD *nuevo1;
Disquera *nuevo2;
nuevo = (Interprete *) malloc (sizeof(Interprete));
para el nuevo elemento
nuevo1 = (CD *) malloc (sizeof(CD));
nuevo2 = (Disquera *) malloc (sizeof(Disquera));
if (nuevo == NULL){
cout<<"No hay memoria disponible!!! \n"<< endl;
}
else {
cout<< "\nNUEVO ELEMENTO \n"<<endl;
cout<< "Nombre del Interprete: ";
fflush (stdin);
gets (nuevo->nombre);
cout<< "Nombre del CD ";
fflush (stdin);
gets (nuevo1 -> nombre);
cout<< "Nombre de la disquera: ";
fflush (stdin);
gets (nuevo2->nombre);
nuevo -> siguiente = NULL;
nuevo1 -> siguiente = NULL;

//reservamos memoria

nuevo2 -> siguiente = NULL;


if (nuevo->primero == NULL){
cout<< "Primer elemento \n"<<endl;
nuevo->primero = nuevo;
nuevo->ultimo = nuevo;
}
else {
nuevo->ultimo -> siguiente = nuevo;
nuevo->ultimo = nuevo;
}
}
}
void Mostrar_Interpretes(){
Interprete *aux;
CD *aux1;
int i=0;
aux = aux->primero;
cout<<"\n Lista completa de Interpretes registrados en la disquera\n"<<endl;
while (aux!=NULL){
cout<< "Interprete: "<<aux->nombre;
cout<< "CD: "<< aux1->nombre;
cout<< "Disquera: "<< aux1->disquera;
aux= aux->siguiente;
aux1= aux1->siguiente;
aux1->disquera->siguiente;
i++;
}
if(i==0){
cout<<"\nNo hay ningun interprete registrado!!\n"<<endl;
}
}
void Eliminar () {
Interprete *aux, *auxiliar, *auxiliar1, *aux4, *aux2;
CD *aux1;
Disquera *aux3;
int j, elimina;
aux = aux->primero;
j=1;
if(aux,aux1==NULL) {
cout<<"No hay ningun interprete en la lista\n"<<endl;
}
else {
while(aux,aux1!=NULL) {
cout<< "\nInterprete:"<< j,aux->nombre;
cout<< "CD:\n"<<j,aux1->nombre;
cout<< "Disquera: "<<j,aux3->nombre;
aux=aux->siguiente;
aux1=aux1->siguiente;
aux3=aux3->siguiente;
j++;
}
cout<<"Cual es el interprete que desea eliminar:\n";
cin>> elimina;
auxiliar=aux->primero;
for(j=1;j<elimina-1;j++){
auxiliar=auxiliar->siguiente;
}

if(elimina==1) {
aux->primero=aux4->siguiente;
aux4->siguiente=NULL;
}
else {
auxiliar1=aux2;
aux2=aux2->siguiente;
auxiliar1->siguiente=aux2->siguiente;
aux2->siguiente=NULL;
}
}
}
int main (){
char opc;
do {
Menu ();
opc=getche();
switch (opc){
case '1': Nuevo_Interprete ();
break;
case '2': Mostrar_Interpretes ();
break;
case '3': Eliminar();
break;
case '4': exit(1);
default: cout<< "ERROR: Opcion no valida"<<endl;
break;
}
} while (opc != '4');
system ("PAUSE");
system ("cls");
}

Potrebbero piacerti anche

  • Daniela Padilla
    Daniela Padilla
    Documento8 pagine
    Daniela Padilla
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Site W
    Site W
    Documento12 pagine
    Site W
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Progrmas Sobre Estructuras de Datos
    Progrmas Sobre Estructuras de Datos
    Documento3 pagine
    Progrmas Sobre Estructuras de Datos
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Punteros A Funciones
    Punteros A Funciones
    Documento4 pagine
    Punteros A Funciones
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Trabajo Gestion 2
    Trabajo Gestion 2
    Documento10 pagine
    Trabajo Gestion 2
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Sistema de La Vida Real
    Sistema de La Vida Real
    Documento6 pagine
    Sistema de La Vida Real
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Programacion 3-Clases
    Programacion 3-Clases
    Documento3 pagine
    Programacion 3-Clases
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Colas
    Colas
    Documento1 pagina
    Colas
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Series de Tiempo y Predicción
    Series de Tiempo y Predicción
    Documento14 pagine
    Series de Tiempo y Predicción
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Ordenamiento en C++
    Ordenamiento en C++
    Documento16 pagine
    Ordenamiento en C++
    Beastieux Zeroo
    100% (80)
  • Simulacion
    Simulacion
    Documento2 pagine
    Simulacion
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Difusion PDF
    Difusion PDF
    Documento10 pagine
    Difusion PDF
    Lino Eduardo Vilchez Deza
    Nessuna valutazione finora
  • El Cuerrpo
    El Cuerrpo
    Documento1 pagina
    El Cuerrpo
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Conceptos de Programacion
    Conceptos de Programacion
    Documento2 pagine
    Conceptos de Programacion
    Aros Claudia
    Nessuna valutazione finora
  • Monografia IHC
    Monografia IHC
    Documento1 pagina
    Monografia IHC
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Limite
    Limite
    Documento30 pagine
    Limite
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Cuantas Noches en Vela
    Cuantas Noches en Vela
    Documento2 pagine
    Cuantas Noches en Vela
    Neiry Anais Padilla
    Nessuna valutazione finora
  • Manual de Programacion Lenguaje C
    Manual de Programacion Lenguaje C
    Documento75 pagine
    Manual de Programacion Lenguaje C
    Anonymous HPFUTT
    100% (102)
  • Clase 03...
    Clase 03...
    Documento3 pagine
    Clase 03...
    Neiry Anais Padilla
    Nessuna valutazione finora