#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
void alta();
void muestra();
void muestra1();
void muestra0();
void separa();
void invertir();
void muestra_inv();
struct pila_auto
{
char placa[10];
int modelo;
pila_auto *sig;
}*cab=NULL, *ptr, *cab1=NULL, *ptr1, *cab0=NULL, *ptr0;
int main()
{
int opcion;
while(1)
{
system("cls");
cout << "MENU" << endl << endl << "1. alta" << endl << "2. muestra" << endl << "3. muestra1" << endl << "4. muestra0" << endl << "5. separa" << endl << "6. salir" << endl << endl << "opcion: ";
cin >> opcion;
switch(opcion)
{
case 1:
alta();
break;
case 2:
muestra();
break;
case 3:
muestra1();
break;
case 4:
muestra0();
break;
case 5:
separa();
break;
case 6:
return 666;
break;
default:
cout << endl << "opcion incorrecta" << endl;
break;
}
}
}
void alta()
{
ptr = new pila_auto;
cout << endl << "proporciona placa: ";
fflush(stdin);
gets(ptr -> placa);
cout << endl << "modelo: ";
cin >> ptr -> modelo;
ptr -> sig=cab;
cab=ptr;
}
void muestra()
{
ptr = cab;
cout << endl;
while(ptr!=NULL)
{
cout << endl << ptr -> placa << endl;
cout << ptr -> modelo << endl;
ptr = ptr -> sig;
}
getche();
}
void muestra1()
{
ptr = cab1;
cout << endl;
while(ptr!=NULL)
{
cout << endl << ptr -> placa << endl;
cout << ptr -> modelo << endl;
ptr = ptr -> sig;
}
getche();
}
void muestra0()
{
ptr = cab0;
cout << endl;
while(ptr!=NULL)
{
cout << endl << ptr -> placa << endl;
cout << ptr -> modelo << endl;
ptr = ptr -> sig;
}
getche();
}
void separa()
{
ptr = cab;
while(ptr!=NULL)
{
if(ptr -> modelo < 2000)
{
ptr1=new pila_auto;
strcpy(ptr1 -> placa, ptr -> placa);
ptr1 -> modelo = ptr -> modelo;
ptr1 -> sig=cab1;
cab1 = ptr1;
}
else
{
ptr0=new pila_auto;
strcpy(ptr0 -> placa, ptr -> placa);
ptr0 -> modelo = ptr -> modelo;
ptr0 -> sig=cab0;
cab0=ptr0;
}
ptr=ptr -> sig;
}
}
/*void invertir()
{
ptr = cab;
while(ptr != NULL)
{
ptr2 = new pila;
ptr2 -> num = ptr -> num;
ptr -> sig = cab2;
cab2 = ptr2;
ptr = ptr -> sig;
}
}
void muestra_inv()
{
ptr = cab2;
cout << endl;
while(ptr!=NULL)
{
cout << ptr -> num << endl;
ptr = ptr -> sig;
}
getche();
}
*/