Cześc, Mam problem z projektem. Chcę aby przy dodawaniu wydarzenia na bieżąco tworzyło obiekty typu sala. W wydarzeniu ma sprawdzać czy istnieje (aby nie tworzyć sal o tym samym numerze) jeśli nie to tworzy nowy obiekt typu sala i ustawia numer sali na ten obiekt. Wolałbym żeby sprawdzało/dodawało sale przy tworzeniu wydarzenia a nie przed wywołaniem metody utworzwydarzenie
#include <iostream>
#include "Wydarzenie.h"
#include "Sala.h"
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
Wydarzenie nowe;
nowe.rezerwuj();
nowe.rezerwuj();
return 0;
}
#ifndef SALA_H
#define SALA_H
class Sala
{ int numer;
bool zajeta;
int ostatniasala;
Sala *s;
public:
void utworzsale();
void rezerwujsale();
void anulujrezerwacjesali();
void wyswietlsale();
bool czyzajeta();
bool czyistniejesala(int sprawdzanynumer);
Sala();
Sala(int n);
~Sala();
protected:
};
#endif
#include "Sala.h"
#include <iostream>
using namespace std;
Sala::Sala(){
numer=0;
zajeta=false;
s=new Sala[ostatniasala];
}
Sala::Sala(int n){
numer=n;
zajeta=false;
s=new Sala[ostatniasala];
}
Sala::~Sala(){
delete [] s;
}
void Sala::utworzsale(){
cout<<"Podaj numer sali";
cin>>numer;
}
void Sala::rezerwujsale(){
zajeta=true;
}
void Sala::anulujrezerwacjesali(){
zajeta=false;
}
void Sala::wyswietlsale(){
cout<<numer<<" "<<czyzajeta();
}
bool Sala::czyzajeta(){
if(zajeta)
return zajeta;
}
bool Sala::czyistniejesala(int sprawdzanynumer){
for(int i=0;i<ostatniasala;i++){
if(s[i].numer==sprawdzanynumer)
return true;
}
}
#ifndef WYDARZENIE_H
#define WYDARZENIE_H
#include "Sala.h"
#include <string.h>
#include <iostream>
using namespace std;
class Wydarzenie
{
string nazwa;
int numersali;
Sala s;
public:
void rezerwuj();
void anulujrezerwacje();
void wyswietl();
Wydarzenie();
~Wydarzenie();
protected:
};
#endif
#include "Wydarzenie.h"
#include <iostream>
using namespace std;
Wydarzenie::Wydarzenie()
{
}
Wydarzenie::~Wydarzenie()
{
}
void Wydarzenie::rezerwuj(){
cout<<"Podaj nazwe wydarzenia:";
cin>>nazwa;
cout<<"Podaj numer sali:";
cin>>numersali;
if(s.czyistniejesala(numersali))
cout<<"Sala juz istnieje"<<endl;
else s.utworzsale() ;
}
void Wydarzenie::anulujrezerwacje(){
}
void Wydarzenie::wyswietl(){
}