I am working with simple lists, we are inserting objects. But I have this code to show list that only prints values, I do not know how I do that I print objects.
This is the .cpp
of the class I want to print:
/*
* Takuilla.cpp
*
* Created on: 29/10/2018
* Author: Fioxin
*/
#include "Takuilla.h"
void Takuilla::setCantPuestosZona(int cantPuestosZona)
{
this->cantPuestosZona = cantPuestosZona;
}
int Takuilla::getCantPuestosZona(){
return cantPuestosZona;
}
void Takuilla::setZona(string zona)
{
this->zona = zona;
}
string Takuilla::getZona()
{
return zona;
}
void Takuilla::setPrecio(float precio)
{
this->precio = precio;
}
float Takuilla::getPrecio()
{
return precio;
}
string Takuilla::tipoBoleto(int zona){
string nombre;
switch(zona){
case 1: nombre = "Central";
break;
case 2: nombre = "CentralVIP";
break;
case 3: nombre = "Lateral";
break;
case 4: nombre = "Gradas";
break;
}
return nombre;
}
float Takuilla::precioEntrada(int zona){
float precio;
switch(zona){
case 1: // zona Central;
precio = 800;
break;
case 2: // Central VIP
precio = 1000;
break;
case 3: // Lateral
precio = 500;
break;
case 4: // Gradas
precio = 200;
break;
}
return precio;
}
Takuilla::~Takuilla() {
// TODO Auto-generated destructor stub
}
This is the cpp
of the class list:
#include "Lista.h"
#include <iostream>
#include <string>
using namespace std;
#include "Lista.h"
template <class Tipo>
nodo<Tipo>* Lista<Tipo>::ObtPrimero(){
return Primero;
};
template <class Tipo>
void Lista<Tipo>::AsigPrimero(nodo<Tipo>* p){
Primero=p;
};
template <class Tipo>
Lista<Tipo>::Lista()
{
Primero=NULL;
};
template <class Tipo>
bool Lista<Tipo>::Vacia()
{
return Primero == NULL;
};
template <class Tipo>
bool Lista<Tipo>::Llena()
{
nodo<Tipo> *p;
p=new nodo<Tipo>;
if (p==NULL)
return true;
else
{
delete p;
return false;
}
};
template <class Tipo>
bool Lista<Tipo>::InsComienzo(Tipo Valor)
{
Apuntador nuevo;
if (!Llena())
{
nuevo=new nodo<Tipo>;
nuevo->info=Valor;
nuevo->prox=Primero;
Primero=nuevo;
return true;
}
else
return false;
};
template <class Tipo>
bool Lista<Tipo>::EliComienzo(Tipo &Valor)
{
Apuntador viejo;
if (!Vacia())
{
viejo=Primero;
Valor=viejo->info;
Primero=Primero->prox;
delete viejo;
return true;
}
else
return false;
};
template <class Tipo>
bool Lista<Tipo>::InsDespues(Apuntador p,Tipo Valor)
{
Apuntador nuevo;
if (!Llena())
if (p==NULL)
return false;
else
{
nuevo=new nodo<Tipo>;
nuevo->info=Valor;
nuevo->prox=p->prox;
p->prox=nuevo;
return true;
}
else
return false;
};
template <class Tipo>
bool Lista<Tipo>::EliDespues(Apuntador p,Tipo &Valor)
{
Apuntador viejo;
if (p==NULL)
return false;
else
if (p->prox==NULL)
return false;
else
{
viejo=p->prox;
Valor=viejo->info;
p->prox=viejo->prox;
delete viejo;
return true;
};
};
template <class Tipo>
nodo<Tipo>* Lista<Tipo>::ObtProx(Apuntador p)
{
return p->prox;
};
template <class Tipo>
void Lista<Tipo>::AsigProx(Apuntador p,Apuntador q)
{
p->prox=q;
};
template <class Tipo>
Tipo Lista<Tipo>::ObtInfo(Apuntador p)
{
return p->info;
};
template <class Tipo>
void Lista<Tipo>::AsigInfo(Apuntador p,Tipo Valor)
{
p->info=Valor;
};
template <class Tipo>
Lista<Tipo>::~Lista()
{
nodo<Tipo> *p;
while (!Vacia())
{
p=Primero->prox;
delete Primero;
Primero=p;
};
};
/*template <class Tipo>
int Lista<Tipo>::Contar()
{
int cont=0;
nodo<Tipo> *ap;
if(!Vacia())
{
ap= ObtProx(Primero);
while(ap!=NULL)
{
ap=ObtProx(ap);
cont++;
};
return cont;
}
else
return 0;
}
*/
template <class Tipo>
int Lista<Tipo>::Contar(){
nodo<Tipo>* p;
int cont = 0;
p = Primero;
while(p != NULL){
cont++;
p = p->prox;
}
return cont;
}
template <class Tipo>
nodo<Tipo>* Lista<Tipo>::Buscar(Tipo Valor)
{
nodo<Tipo> *aux =NULL;
Apuntador ap;
if(ap!=NULL){
aux=ap;
while(aux !=NULL){
if (aux->info==Valor){
return aux;
}
aux = aux->prox;
}
}
}
template <class Tipo>
void Lista<Tipo>::pasarListaAux(Lista<Tipo> &listaFuente, Lista<Tipo> &listaDestino) {
Tipo valor;
int tamano = 0;
tamano = listaFuente.Contar();
for(int i = 0; i < tamano; i++){
listaFuente.EliComienzo(valor);
listaDestino.InsComienzo(valor);
}
}
template <class Tipo>
void Lista<Tipo>::mostrarLista(){
nodo<Tipo> *actual = new nodo<Tipo>;
actual = Primero;
while(actual != NULL ){
cout << actual;
actual = actual->prox;
}
}
/*
template <class Tipo>
bool Lista<Tipo>::Insertar(Tipo Valor){
Apuntador ap = new nodo<Tipo>;
nodo *aux1= Primero;
if(!Llena()){
ap->info=Valor;
ap->prox=Primero;
Primero=ap;
}
else{
ap->info=Valor;
Primero= ap;
ap->prox=aux1;
}*/
And here the main
:
#include "Lista.cpp"
#include <stdlib.h>
#include <iostream>
#include "Takuilla.h"
#include "Lista.h"
#include "VGeneral.h"
int main(){
Lista<Takuilla> tk;
Takuilla Tak;
VGeneral vg;
int opc,zona,cantEn,resp;
float precio;
string nombreZ,codigo;
do{
cout<<"\t ------Bienvenido--- \n";
cout<<"1. Incluir Takuilla\n";
cout<<"2. Consultar Takuillas\n";
cout<<"3. Modificar Takuilla\n";
cout<<"4. Eliminar Takuilla\n";
cout<<"5. Salir\n";
cin>>opc;
system("cls");
switch(opc){
case 1:
do {
if(tk.Llena()){
cout<<"\tLista llena. Elimine Elementos para insertar\n";
}
codigo = vg.LeerString("\t Hola Introduzca el codigo de la takuilla\n");
//buscar el codigo
zona = vg.LeerNro("Ingrese el tipo de entrada kue vendera \n 1. Central \n 2. Central VIP \n 3. Latera \n 4. Gradas\n");
precio = Tak.precioEntrada(zona);
nombreZ = Tak.tipoBoleto(zona);
cantEn = vg.LeerNro("Cantidad de Entrada kue vendera?");
Tak.setZona(nombreZ);
Tak.setPrecio(precio);
Tak.setCantPuestosZona(cantEn);
tk.InsComienzo(Tak);
resp = vg.LeerValidarNro("Desea Agregar otra takuilla? 1.Si 2.No",1,2);
}while(resp == 1);
break;
case 2:
if(tk.Llena()){
cout<<"No hay elementos para mostrar";
}
tk.mostrarLista();
vg.Pausa();
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
}while(opc !=6);
return 0;
}
What the professor asked to print is the list of all the lockers or a list with all the lockers.