programa listas circular
DESCRIPTION
Juego que borra al jugador...TRANSCRIPT
Zapatito………………
#include<iostream>
#include<string.h>
#include<fstream.>
#include<stdlib.h>
using namespace std;
struct nodo{
char *nom;
int anyos;
nodo*sig,*ant;
nodo()
{
sig=ant=NULL;
}
nodo(char* n, int a)
{
nom = new char[strlen(n)+1];
strcpy(nom,n);
anyos=a;
}
};
class zapatito{
private:
nodo *inicio;
fstream caramelo;
public:
void insertarI();
void jugando();
void imprimir();
int contar();
void escribir();
void inicializar();
void finalizar();
zapatito(){
inicio=NULL;
}
};
void zapatito::inicializar()
{
caramelo.open("abigail.txt",ios::out | ios::app);
}
void zapatito::escribir()
{
if(!inicio)
{
cout<<"lista vacia"<<endl;
}
else
{
nodo *A=inicio;
while(A!=NULL)
{
caramelo<<A->anyos;
A=A->sig;
}
}
}
void zapatito::finalizar()
{
caramelo.close();
}
int zapatito::contar()
{
if(inicio==NULL)
return 0;
else
{
nodo *cdc=inicio;
int i=0;
do
{
cdc=cdc->sig;
i++;
}
while(cdc!=inicio);
return i;
}
}
void zapatito::insertarI()
{
char hey[50];
int i;
if(inicio==NULL)
{
cout<<"lee nombre ";
cin>>hey;
cout<<endl<<"cuantos años tiene ";
cin>>i;
inicio = new nodo(hey,i);
inicio->ant=inicio->sig=inicio;
}
else
{ cout<<"lee nombre: ";
cin>>hey;
cout<<endl<<"cuantos años tiene ";
cin>>i;
nodo*cohete=new nodo(hey,i);
cohete->ant=inicio->ant;
inicio->ant->sig=cohete;
cohete->sig=inicio;
inicio->ant=cohete;
inicio=cohete;
}
}
void zapatito::imprimir()
{
if(inicio==NULL)
cout<<"Lista vacia";
else
{
nodo *sonyando=inicio;
do
{
cout<<sonyando->nom<<endl;
sonyando=sonyando->sig;
}
while(sonyando!=inicio);
}
cout<<endl;
}
void zapatito::jugando()
{
int a; int i=1;
while(a!=1){
int b=1;
nodo *hola=inicio;
while (b<=21)
{
hola=hola->sig;
b++;
}
b=hola->anyos;
while(b>=1)
{
hola=hola->ant;
b--;
}
inicio=hola->sig;
hola->ant->sig=hola->sig;
hola->sig->ant=hola->ant;
hola->ant=hola->sig=NULL;
cout<<i++<<"°)En salir......... ";
cout<<hola->nom<<endl;
delete hola;
a=contar();
}
cout<<"EL GANDOR ES:......";
cout<<inicio->nom<<endl;
}
void menu()
{
cout<<"1) jugar"<<endl;
cout<<"2) salir"<<endl;
}
int main()
{
zapatito A,B;
int N,i,o;
int y=0;
while(y==0)
{
menu();
int g;
cin>>g;
system("cls");
switch(g)
{
case 1:
cout<<"Nombres a ingresar";
cin>>N;
system("cls");
for(i=0;i<N;i++){
A.insertarI();
system("cls");
}
cout<<"1)iniciar"<<endl;
cout<<"2)Guardar Archivo"<<endl<<endl;
cin>>o;
switch(o){
case 1:
system("cls");
A.imprimir();
A.jugando();
break;
case 2:
A.escribir();
A.inicializar();
A.finalizar();
A.jugando();
system("pause");
break;
}
case 2:
exit(0);
break;
}
}
system("pause");
}
…………………….
18……………………..
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <fstream>
using namespace std;
struct nodo
{
nodo *sig;
char *nom;
nodo()
{
sig=NULL;
}
nodo(char* n)
{
nom = new char[strlen(n)+1];
strcpy(nom,n);
}
};
class diezyocho{
private:
nodo*inicio;
nodo *fin;
fstream caramelo;
public:
void insertarI();
void borrar18();
void imprimir();
void escribir();
void inicializar();
void finalizar();
diezyocho(){
fin=inicio=NULL;
}
};
void diezyocho::inicializar()
{
caramelo.open("abigail.txt",ios::out | ios::app);
}
void diezyocho::escribir()
{
if(!inicio)
{
cout<<"lista vacia"<<endl;
}
else
{
nodo *A=inicio;
do
{
caramelo<<A->nom<<endl;
A=A->sig;
}
while(A!=inicio);
cout<<"inicializado"<<endl;
}
}
void diezyocho::finalizar()
{
caramelo.close();
}
void diezyocho::insertarI()
{
char x[100];
cin>>x;
if(inicio==NULL)
{
inicio=new nodo(x);
inicio->sig=inicio;
}
else
{
nodo *extincion=inicio;
while(extincion->sig!=inicio)
{
extincion=extincion->sig;
}
nodo *soledad=new nodo(x);
extincion->sig=soledad;
soledad->sig=inicio;
}
}
void diezyocho::imprimir()
{
if(inicio==NULL)
{
cout<<"lista vacia"<<endl;
}
else
{
nodo *tim=inicio;
do
{
cout<<tim->nom;
cout<<endl;
tim=tim->sig;
}
while(tim!=inicio);
}
system("pause");
}
void diezyocho::borrar18()
{
if(inicio==NULL)
{
cout<<"no hay elementos a borrar"<<endl;
}
else
{
nodo *bares=inicio->sig;
nodo *tango=inicio;
for(int i=1;i<17;i++)
{
bares=bares->sig;
tango=tango->sig;
}
tango->sig=bares->sig;
bares->sig=NULL;
delete bares;
cout<<"borrado"<<endl;
system("pause");
}
}
void menu()
{
cout<<"1) Leer Nombre"<<endl;
cout<<"2) Imprimir Lista"<<endl;
cout<<"3)Borrar 18 en la lista"<<endl;
cout<<"4)Inicializar archivo"<<endl;
cout<<"5) Salir"<<endl;
}
int main() {
int a=0,b;
char x[100];
diezyocho A;
while(a!=1)
{
menu();
cin>>b;
system("cls");
switch(b)
{
case 1:
cout<<"1) insertar lista"<<endl;
cout<<"2)salir"<<endl;
int c;
cin>>c;
system("cls");
switch(c){
case 1:
cout<<"ingresa dato"<<endl;
A.insertarI();
system("cls");
break;
case 2:
exit(0);
break;
}
break;
case 2:
A.imprimir();
system("cls");
break;
case 3:
A.borrar18();
system("cls");
break;
case 4:
A.inicializar();
A.escribir();
system("pause");
A.finalizar();
break;
case 5:
exit(0);
break;
}
}
return 0;
}