W
whitehatmiracle
Hi all...
Im getting some errors, and have no clue, as to what could be wrong...
SOS... anybody ??
heres the code:
// The elevator simulation
//4 errors of 2 of same type
//error, type qualifier 'elevator' must be a struct or clas name
// error declaration terminated incorrectly
#include "include.h"
class button
{
enum button_status {off, on};
button_status status;
public:
button(button_status = off);
void set_state(button_status);
button_status get_state();
};
inline void button::set_state(button_status n){
status= n;
}
inline button::button_status button::get_state() {
return status;
}
//error, type qualifier 'elevator' must be a struct or clas name
// error declaration terminated incorrectly
elevator::button *b(int n) : button_array(0), number(n)
{
button_array= new button*[number + 1];
for(int i = 0; i < number + 1; ++i)
button_array = new button;
}
elevator::~elevator()
{
for(int i = number; i >= 0; --i)
delete button_array;
delete [] button_array;
}
class elevator
{
public:
elevator(int = 1, int = 0);
~elevator();
void prompt();
private:
button *b;
int current_floor;
const int top_floor;
bool button_active(int) const;
bool is_off (int n); // return button pressed as off
bool is_on (int n); /// return button preesed for floor
void press(int);
void reset(int n); returns off state
void close_doors();
bool floor_is_valid(int) const; //// bool ->enum
elevator(const elevator&);
};
// type qualifier 'elevator' must be a struct or class name
//declaration terminated incorrectly
elevator::elevator(int n, int w) : buttons(n), current_floor(1),
top_floor(n) {}
elevator::~elevator()
{
cout << "Elevator will self destruct\n";
}
void elevator:rompt()
{
cout << "Key in the floor you would like to visit, from 1 to " <<
top_floor << ", 0 to close doors, EOF to exit: ";
int floor;
while ( !(cin >> floor).eof())
{
if(floor == 0)
{
if(!button_active(1) && current_floor != 1)
press(1);
if(button_active(1))
close_doors();
}
else if(floor < 1 || floor > top_floor)
cout << "***Floor " << floor << " is not valid\n";
else if(floor == current_floor)
cout << "***You have reached your floor now\n";
else
press(floor);
cout << "Next floor: ";
}
}
void elevator:ress(int n)
{
buttons.press(n);
}
void elevator:ress(int n)
{
if(!is_valid(n))
cout << "Wrong entry of floor!\n";
else
button[n]->is_on();
}
void elevator::close_doors()
{
cout << "Doors are closing\n";
cout << "\a\a\a\a\a";
// If a button is pushed on a floor higher than the current floor,
then the elevator //always moves up.
if(button_active(current_floor))
cout << "Elevator accending\n";
else
cout << "Elevator decending\n";
sleep(1);
// Keep looping until floor buton is off
while(buttons.is_off(current_floor))
{
if(button_active(current_floor))
++current_floor;
else
--current_floor;
if(buttons.is_off(current_floor) && floor_is_valid(current_floor))
{
cout << "\tPassing floor " << current_floor << '\a' << '\n';
sleep(1);
}
}
cout << "\tNow on floor " << current_floor << "\a\a\a" << '\n';
sleep(1);
buttons.reset(current_floor); //reset is to put button off
cout << "Doors are open\n";
sleep(1);
}
bool elevator::button_active(int f) const
{
for(int i = f; i <= top_floor; ++i)
if(buttons.is_on(i))
return true;
return false;
}
bool elevator::floor_is_valid(int q) const
{
return buttons.is_valid(q);
}
int main()
{
const int top = 9;
elevator otis(top);
otis.prompt();
return 0;
}
Im getting some errors, and have no clue, as to what could be wrong...
SOS... anybody ??
heres the code:
// The elevator simulation
//4 errors of 2 of same type
//error, type qualifier 'elevator' must be a struct or clas name
// error declaration terminated incorrectly
#include "include.h"
class button
{
enum button_status {off, on};
button_status status;
public:
button(button_status = off);
void set_state(button_status);
button_status get_state();
};
inline void button::set_state(button_status n){
status= n;
}
inline button::button_status button::get_state() {
return status;
}
//error, type qualifier 'elevator' must be a struct or clas name
// error declaration terminated incorrectly
elevator::button *b(int n) : button_array(0), number(n)
{
button_array= new button*[number + 1];
for(int i = 0; i < number + 1; ++i)
button_array = new button;
}
elevator::~elevator()
{
for(int i = number; i >= 0; --i)
delete button_array;
delete [] button_array;
}
class elevator
{
public:
elevator(int = 1, int = 0);
~elevator();
void prompt();
private:
button *b;
int current_floor;
const int top_floor;
bool button_active(int) const;
bool is_off (int n); // return button pressed as off
bool is_on (int n); /// return button preesed for floor
void press(int);
void reset(int n); returns off state
void close_doors();
bool floor_is_valid(int) const; //// bool ->enum
elevator(const elevator&);
};
// type qualifier 'elevator' must be a struct or class name
//declaration terminated incorrectly
elevator::elevator(int n, int w) : buttons(n), current_floor(1),
top_floor(n) {}
elevator::~elevator()
{
cout << "Elevator will self destruct\n";
}
void elevator:rompt()
{
cout << "Key in the floor you would like to visit, from 1 to " <<
top_floor << ", 0 to close doors, EOF to exit: ";
int floor;
while ( !(cin >> floor).eof())
{
if(floor == 0)
{
if(!button_active(1) && current_floor != 1)
press(1);
if(button_active(1))
close_doors();
}
else if(floor < 1 || floor > top_floor)
cout << "***Floor " << floor << " is not valid\n";
else if(floor == current_floor)
cout << "***You have reached your floor now\n";
else
press(floor);
cout << "Next floor: ";
}
}
void elevator:ress(int n)
{
buttons.press(n);
}
void elevator:ress(int n)
{
if(!is_valid(n))
cout << "Wrong entry of floor!\n";
else
button[n]->is_on();
}
void elevator::close_doors()
{
cout << "Doors are closing\n";
cout << "\a\a\a\a\a";
// If a button is pushed on a floor higher than the current floor,
then the elevator //always moves up.
if(button_active(current_floor))
cout << "Elevator accending\n";
else
cout << "Elevator decending\n";
sleep(1);
// Keep looping until floor buton is off
while(buttons.is_off(current_floor))
{
if(button_active(current_floor))
++current_floor;
else
--current_floor;
if(buttons.is_off(current_floor) && floor_is_valid(current_floor))
{
cout << "\tPassing floor " << current_floor << '\a' << '\n';
sleep(1);
}
}
cout << "\tNow on floor " << current_floor << "\a\a\a" << '\n';
sleep(1);
buttons.reset(current_floor); //reset is to put button off
cout << "Doors are open\n";
sleep(1);
}
bool elevator::button_active(int f) const
{
for(int i = f; i <= top_floor; ++i)
if(buttons.is_on(i))
return true;
return false;
}
bool elevator::floor_is_valid(int q) const
{
return buttons.is_valid(q);
}
int main()
{
const int top = 9;
elevator otis(top);
otis.prompt();
return 0;
}