#include<iostream.h>
#include<conio.h>
class hostel_mangt
{
public:
int x,h,id,rc,hd;
char name[15],dol[10];
void oprt_1()
{
cout<<"do u want to see or update room's ?"<<endl;
cout<<"enter 1 to see and 0 to do operations = "<<endl;
cin>>h;
}
void display_1()
{
if(h==1)
{
if (name==NULL)
{
cout<<"room is empty "<<endl;
}
else
{
cout<<"id = "<<id<<endl;
cout<<"name = "<<name<<endl;
cout<<"date of leaving = "<<dol<<endl;
}
else
{
cout<<" 1. Update the room member and its data "<<endl;
cout<<" 2. delete the room member and its data "<<endl;
cout<<"enter choice = " ;
cin>>x;
switch(x)
{
case 1:
{
cout<<"what do u want to update ? ";<<endl
cout<<" 1. name "<<endl;
cout<<" 2. date of leaving"<<endl;
cin>>rc;
switch(rc)
{
case 1:
{
cout<<"enter new name = "<<endl;
cin>>name;
}
case 2:
{
cout<<"enter updated date of leaving = ";
cin >>date;
}
}
break;
}
case 2:
{
cout<<"what do you want to be deleted = ";
cout<<" 1. name "<<endl;
cout<<" 2. date of leaving "<<endl;
cin>>hd;
switch(hd)
{
case 1:
{
name==NULL;
break;
}
case 2:
{
dol==NULL;
break;
}
break;
}
}
}
int main()
{
public:
int i,c;
clrscr();
hostel_mangt hm[10];
for(i=0;i<10;i++)
{
hm.oprt_1();
hm.display_1();
cout<<"do u want to continue ? "<<endl<<"if yes enter 1"<<endl;
cin>>c;
if(c!=1)
{
break;
}
}
getch();
return 0:
}
i am using turbo c
i am making a project named hostel management using classes ,array of objects,and switch case because hostel rooms can be empty but if i used normal array,stack,queue it wont work as it does can not have null value in middle
You have a bunch of syntax errors.
if (h == 1)
statement.cout<<"what do u want to update ? ";<<endl
line (it should be at the end)else
statement in the display_1()
function.display_1()
.hostel_mangt
class.And several other errors such as using comparisons (==
) where there should be assignments (=
), using public:
in the main()
function (it shouldn't be there), and so on.
Here's your code with those errors fixed:
#include <iostream>
#include <string>
using namespace std;
class hostel_mangt {
public:
int x, h, id, rc, hd;
string name, dol; // use std::string instead of character arrays, they're much easier to use
// char name[15], dol[10];
void oprt_1() {
cout << "do u want to see or update room's ?" << endl;
cout << "enter 1 to see and 0 to do operations = " << endl;
cin >> h;
}
void display_1() {
if (h == 1) {
if (name.empty()) {
cout << "room is empty " << endl;
} else {
cout << "id = " << id << endl;
cout << "name = " << name << endl;
cout << "date of leaving = " << dol << endl;
}
} else {
cout << " 1. Update the room member and its data " << endl;
cout << " 2. delete the room member and its data " << endl;
cout << "enter choice = ";
cin >> x;
switch (x) {
case 1: {
cout << "what do u want to update ? " << endl;
cout << " 1. name " << endl;
cout << " 2. date of leaving" << endl;
cin >> rc;
switch (rc) {
case 1: {
cout << "enter new name = " << endl;
cin >> name;
}
case 2: {
cout << "enter updated date of leaving = ";
cin >> date;
}
}
break;
}
case 2: {
cout << "what do you want to be deleted = ";
cout << " 1. name " << endl;
cout << " 2. date of leaving " << endl;
cin >> hd;
switch (hd) {
case 1: {
name.clear();
// name == NULL;
break;
}
case 2: {
dol.clear();
// dol == NULL;
break;
}
break;
}
}
}
}
}
};
int main() {
int i, c;
clrscr();
hostel_mangt hm[10];
for (i = 0; i < 10; i++) {
// to access an element of an array you use the square brackets []:
hm[i].oprt_1();
hm[i].display_1();
cout << "do u want to continue ? " << endl << "if yes enter 1" << endl;
cin >> c;
if (c != 1) {
break;
}
}
getch();
return 0;
}
There are probably still issues with your code but this is what I managed to fix.