Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/08/2011, 17:13
soulblazer
 
Fecha de Ingreso: agosto-2011
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Llamada de funciones/métodos en otras clases

Este es Menu.cpp

#include <iostream>
#include <string.h>
#include "Menu.h"
#include "Evento.h"
#include "Concierto.h"
#include "ObraTeatro.h"
#include "Partido.h"

using namespace std;

int Menu::ContadorIDs = 1;
int Menu::ContadorInstancias = 0;

Menu::Menu()
{
Menu::ContadorInstancias++;
Menu::ContadorIDs++;
}

Menu::~Menu()
{
Menu::ContadorInstancias--;
}

void Menu::menuPrincipal(Registro *registro)
{
int respond = 0;
int ID = 0;
system("cls");
cout << endl;
cout << "Bienvenido al sistema de boleteria digital" << endl;
cout << endl;
cout << "Nota: Solo el administrador tiene derecho a crear modulos"
<< "y el cliente solo se limita a comprar" << endl;
cout << endl;
system("pause");
system("cls");
cout << endl;
cout << "Es usted el administrador o el cliente?" << endl;
cout << "1. Administrador" << endl;
cout << "2. Cliente" << endl;
cout << "3. Salir del sistema" << endl;
cout << endl;
cout << "Su opcion: ";
cin >> respond;

switch (respond)
{
case 1:
moduloEvento(registro);
break;

case 2:
cout << endl;
break;
case 3:
return;
default:
{
cout << endl;
cout << "Opcion erronea" << endl;
cout << endl;
system("pause");
exit(0);
}
}
}

void Menu::moduloEvento(Registro *registro)
{
system("cls");
short op = 0;
float precio = 0;
cout << endl;
cout << "OPCIONES DEL ADMINISTRADOR:" << endl;
cout << endl;
cout << "MODULO EVENTOS:" << endl;
cout << endl;
cout << "Seleccione opcion" << endl;
cout << "1. Crear Evento" << endl;
cout << "2. Imprimir cantidad de eventos" << endl;
cout << "3. Salir del sistema" << endl;
cout << endl;
cout << "Su opcion: ";
cin >> op;

switch(op)
{
case 1:
CrearEvento(registro);
break;
case 2:
{
cout << endl;
cout << "El sistema cuenta con " << registro->Eventos.ContarNodos() << " eventos por el momento" << endl;
cout << endl;
system("pause");
menuPrincipal(registro);
break;
}
case 3:
return;
default:
{
cout << endl;
cout << "Opcion erronea" << endl;
cout << endl;
system("pause");
exit(0);
}
}
}

void Menu::CrearEvento(Registro *registro)
{
float precio = 0;
system("cls");
cout << endl;
cout << "Establezca el evento que desea crear:" << endl;
cout << endl;
cout << "1. Concierto" << endl;
cout << "2. ObraTeatro" << endl;
cout << "3. Partido" << endl;
cout << "4. Volver al menu principal" << endl;
cout << "5. Salir del sistema" << endl;
cout << endl;
int (descripcion_int) = this->CapturarEntero("Su opcion");
enum DESCRIPCION descripcion;

switch(descripcion_int)
{
case 1:
descripcion = DESCRIPCION::CONCIERTO;
break;
case 2:
descripcion = DESCRIPCION::OBRA_TEATRO;
break;
case 3:
descripcion = DESCRIPCION::PARTIDO;
break;
case 4:
menuPrincipal(registro);
break;
case 5:
return;
default:
{
cout << endl;
cout << "Opcion erronea" << endl;
cout << endl;
system("pause");
exit(0);
}
}

system("cls");
cout << endl;
cout << "DATOS:" << endl;
setPrecio();
cout << endl;
int ID = ContadorIDs++;
cout << "ID: " << ID << endl;
char productora [1000];
this->CapturarString("Productora", productora);
Evento *evento = NULL;

switch(descripcion)
{
case DESCRIPCION::CONCIERTO:
{
char artista[500];
this->CapturarString("Artista principal", artista);
char telonero[500];
this->CapturarString("Artista telonero", telonero);
char gmusical[100];
this->CapturarString("Genero musical", gmusical);
evento = new Concierto(productora, artista, telonero, gmusical, precio, descripcion, ID);
break;
}
case DESCRIPCION::OBRA_TEATRO:
{
char company[1000];
this->CapturarString("Nombre de la compania de teatro", company);
char gteatral[100];
this->CapturarString("Genero teatral", gteatral);
evento = new ObraTeatro(productora, company, gteatral, precio, descripcion, ID);
break;
}
case DESCRIPCION::PARTIDO:
{
cout << endl;
system("pause");
system("cls");
cout << endl;
cout << "Escoja el tipo de partido:" << endl;
cout << endl;
cout << "1. Amistoso" << endl;
cout << "2. Eliminatoria" << endl;
cout << "3. Volver al menu principal" << endl;
cout << "4. Salir del sistema" << endl;
cout << endl;
int (tipo_int) = this->CapturarEntero("Su opcion");
enum TIPO tipo;

switch (tipo_int)
{
case 1:
tipo = TIPO::AMISTOSO;
break;
case 2:
tipo = TIPO::ELIMINATORIA;
break;
case 3:
menuPrincipal(registro);
break;
case 4:
return;
default:
cout << endl;
cout << "Opcion erronea" << endl;
cout << endl;
system("pause");
exit(0);
}

char home[200];
this->CapturarString("Equipo casa", home);
char visitor[200];
this->CapturarString("Equipo visitante", visitor);
evento = new Partido(productora, home, visitor, precio, descripcion, tipo, ID);
break;
}
}
registro->Eventos.Agregar(evento);
}

int Menu::CapturarEntero(char *param)
{
int entero = 0;
cout << endl;
cout << param << ": ";
cin >> entero;
return entero;
}


~~~~~~~~~~~~~~~~~~~~~~
Tira un error que setPrecio no esta declarado =S