Estou a realizar um projecto para gestão de cantinas
Na primeira parte do trabalho fiz uma class Trabalhador, Pratos e Cantina.
O que eu queria fazer era atribuir uma data à cantina, e um turno. Inicialmente apenas os Trabalhadores tinham turnos de funcionamento, por isso tinha uma variavel turno na class Trabalhador, e outra na class Cantina. Assim, quando a cantina estivesse num determinado turno, ia buscar os trabalhadores.
Agora os pratos também têm turno, ou seja, posso ter um prato que apenas esteja disponíve, p.e, ao almoço. Também existem datas. Ou seja, a cantina funciona num determinado dia, num determinado turno. Os trabalhadores e os pratos também passam a terem datas. Ou seja, o trabalhador X pode apenas trabalhar no dia 22/11/2007 no turno do almoço, e o prato Y também a mesma coisa.
Para tal, resolvi criar uma class Data, que tinha dava informações da data. Também pensei em criar uma classe turno.
Depois tenho uma função, dentro da class Cantina, que permite modificar a data da cantina, e que permite chamar a função mostraData() da class Data.
Depois, se eu escolher no menu a opção para mostrar a data, tenho um problema: nao consigo chamar a função mostraData() da class Data, onde está a data actual da cantina. Eu estava a fazer data.mostraData(), só que ele diz-me que a parte esquerda de .mostraData() deve ser um objecto da class Data. Se voltar a chamar o construtor, a informação que está lá desaparece evidentemente.
Como é que resolvo isto?
Já pensei em chamar o construtor Data dentro do contrutor da classe Cantina, mas não funciona na mesma.
Isto é tipo as variaveis globais ou locais. Eu precisava de chamar o construtor globalmente, porque a ideia era saber sempre a Data, para depois a conseguir comparar com a data dos trabalhadores e pratos, para depois poder ter acesso aos trabalhadores e pratos desse dia e turno.
Acham que estou a pensar bem? Acham que devo ter uma classe Data e Turno para poder usa-la nos pratos, trabalhadores e cantina?
Eu sei que isto é bem simples de resolver, mas já começo a estar cansado e já não acerto uma
EDIT: peço desculpa se o texto não estiver bem escrito, mas infelizmente foi escrito à pressa.
Na primeira parte do trabalho fiz uma class Trabalhador, Pratos e Cantina.
O que eu queria fazer era atribuir uma data à cantina, e um turno. Inicialmente apenas os Trabalhadores tinham turnos de funcionamento, por isso tinha uma variavel turno na class Trabalhador, e outra na class Cantina. Assim, quando a cantina estivesse num determinado turno, ia buscar os trabalhadores.
Agora os pratos também têm turno, ou seja, posso ter um prato que apenas esteja disponíve, p.e, ao almoço. Também existem datas. Ou seja, a cantina funciona num determinado dia, num determinado turno. Os trabalhadores e os pratos também passam a terem datas. Ou seja, o trabalhador X pode apenas trabalhar no dia 22/11/2007 no turno do almoço, e o prato Y também a mesma coisa.
Para tal, resolvi criar uma class Data, que tinha dava informações da data. Também pensei em criar uma classe turno.
Depois tenho uma função, dentro da class Cantina, que permite modificar a data da cantina, e que permite chamar a função mostraData() da class Data.
Código:
void Cantina::dataCantina()
{
if (op == 1)
{
int dia, mes, ano;
//(fazer os cout's e cin's a pedir o dia, mes, e ano)
Data data (dia, mes, ano); //chama o construtor data
}
else if (op == 2)
{
//aqui devia chamar a função mostraData()
}
}
Como é que resolvo isto?
Já pensei em chamar o construtor Data dentro do contrutor da classe Cantina, mas não funciona na mesma.
Isto é tipo as variaveis globais ou locais. Eu precisava de chamar o construtor globalmente, porque a ideia era saber sempre a Data, para depois a conseguir comparar com a data dos trabalhadores e pratos, para depois poder ter acesso aos trabalhadores e pratos desse dia e turno.
Acham que estou a pensar bem? Acham que devo ter uma classe Data e Turno para poder usa-la nos pratos, trabalhadores e cantina?
Eu sei que isto é bem simples de resolver, mas já começo a estar cansado e já não acerto uma
EDIT: peço desculpa se o texto não estiver bem escrito, mas infelizmente foi escrito à pressa.
Última edição: