Hi, i'm doing a project in Visual C++....in Portuguese....i'm hoping you can help figure out the problem eventhough it's not in english...
here is the whole code....incomplete in the int main and it's missing some functions but i wanted to solve this errors before i keep going
CNoFila.h:
include <iostream>
class CNoFila{
public:
int evento;
int tempo;
CNoFila *Proximo;
};
class CFilaLavagem{
CNoFila *InicioLav;
CNoFila *FimLav;
public:
CFilaLavagem(void); //constructor por defeito
~CFilaLavagem(void); //Destructor
void ApagaItemLav(int);
int lugareslavagem(void);
friend void spot(int n1, CNoFila &Carro, int tempo, int evento);
void EstacParaLavagem(const CNoFila &L);
void InsereItemLav(int evento, int tempo);
};
class CFilaEstacionamento{
CNoFila *InicioEstac;
CNoFila *FimEstac;
public:
CFilaEstacionamento(); //constructor por defeito
CFilaEstacionamento(const CNoFila & L);
~CFilaEstacionamento(void); //Destructor
void ApagaItemEstac(int);
int lugaresestacionamento(void);
friend void spot(int n1, CNoFila &Carro, int tempo, int evento);
void InsereItemEstac(int evento, int tempo);
};
CFilaLavagem.cpp
#include "CNoFila.h"
CFilaLavagem::CFilaLavagem(void)
{
InicioLav = FimLav = NULL;
}
CFilaLavagem::~CFilaLavagem(void)
{
delete this;
}
int CFilaLavagem::lugareslavagem(void)
{
int lavagem = 0;
CNoFila *Actual = InicioLav;
if (Actual==NULL) return 0;
else{
while(Actual!=NULL)
{
lavagem++;
Actual = Actual->Proximo;
}
}
return (lavagem);
}
void CFilaLavagem::EstacParaLavagem(const CNoFila &L)
{
CNoFila *Novo = new CNoFila;
Novo->evento = L.evento;
Novo->tempo = L.tempo;
Novo->Proximo=NULL;
if( InicioLav == NULL ) InicioLav = Novo;
else{
FimLav->Proximo = Novo;
}
FimLav = Novo;
}
void CFilaLavagem::InsereItemLav(int evento, int tempo)
{
CNoFila *Novo = new CNoFila;
Novo->evento =evento;
Novo->tempo = tempo;
Novo->Proximo=NULL;
if( InicioLav == NULL ) InicioLav = Novo;
else{
FimLav->Proximo = Novo;
}
FimLav = Novo;
}
CFilaEstacionamento:
#include "CNoFila.h"
CFilaEstacionamento::~CFilaEstacionamento()
{
delete this;
}
CFilaEstacionamento::CFilaEstacionamento()
{
InicioEstac = FimEstac = NULL;
}
int CFilaEstacionamento::lugaresestacionamento(void)
{
int estac = 0;
CNoFila *Actual = InicioEstac;
if (Actual==NULL) return 0;
else{
while(Actual!=NULL)
{
estac++;
Actual = Actual->Proximo;
}
}
return (estac);
}
void CFilaEstacionamento::InsereItemEstac(int evento, int tempo) {
CNoFila *Novo = new CNoFila;
Novo->evento = evento;
Novo->tempo = tempo;
Novo->Proximo=NULL;
if( InicioEstac == NULL ) InicioEstac = Novo;
else{
FimEstac->Proximo = Novo;
}
FimEstac = Novo;
}
main.cpp:
#include <iostream>
#include "CNoFila.h"
#include "time.h"
#include <fstream>
using namespace std;
void spot(int n1, CNoFila Carro, int tempo, int evento, int &carrosout)
{
int lugaresestac= 2 * (8-n1);
int lavagemocupado = lugareslavagem();
int estacocupado = lugaresestacionamento();
if (lavagemocupado < n1){
if (estacocupado ==0){
InsereItemLav(evento, tempo);
}
else {
EstacParaLavagem(Carro);
InsereItemEstac(evento, tempo);
}
}
if (lavagemocupado == n1){
if (estacocupado < lugaresestac){
InsereItemEstac(evento, tempo);
}
else{
carrosout++;
}
}
}
void Imprime(int numerocarro, int numlugar, int situacao, clock_t tempo){
ofstream fout;
fout.open("Registo.txt");
switch (situacao){
case 0: fout << tempo << " - Chegada de um novo cliente (#" << numerocarro << "). Ocupa o lugar de lavagem #" << numlugar << ". Executa a opcao escolhida." << endl;
break;
case 1: fout << tempo << " - Chegada de um novo cliente (#" << numerocarro << "). Ocupa o lugar de estacionamento #" << numlugar << ". Aguarda a sua vez." << endl;
break;
case 2: fout << tempo << " - Chegada de um novo cliente (#" << numerocarro << "). Os lugares estao todos ocupados e o carro vai-se embora" << endl;
break;
case 3: fout << tempo << " - O cliente #" << numerocarro << " que se encontrava no estacionamento desloca-se para o lugar de lavagem #" << numlugar << endl;
}
fout.close();
}
int main()
{
int n1;
do{
cout << "Introduza o numero de zonas de lavagem a simular(1 a 8): ";
cin >> n1;
}while(1 > n1 && n1 > 8);
cout << "\nO numero total de lugares de estacionamento e': " << 2 * (8-n1) << endl;
return 0;
}
this are the errors:
1>main.cpp
1>c:\users\tiago\documents\visual studio 2008\projects\projectoeda\projectoeda\main.cpp(14) : error C3861: 'lugareslavagem': identifier not found
1>c:\users\tiago\documents\visual studio 2008\projects\projectoeda\projectoeda\main.cpp(15) : error C3861: 'lugaresestacionamento': identifier not found
1>c:\users\tiago\documents\visual studio 2008\projects\projectoeda\projectoeda\main.cpp(19) : error C3861: 'InsereItemLav': identifier not found
1>c:\users\tiago\documents\visual studio 2008\projects\projectoeda\projectoeda\main.cpp(23) : error C3861: 'EstacParaLavagem': identifier not found
1>c:\users\tiago\documents\visual studio 2008\projects\projectoeda\projectoeda\main.cpp(24) : error C3861: 'InsereItemEstac': identifier not found
1>c:\users\tiago\documents\visual studio 2008\projects\projectoeda\projectoeda\main.cpp(30) : error C3861: 'InsereItemEstac': identifier not found
thanks for any help