C++商品房信息管理问题求教...........................
题目商品房信息管理
数据描述:户型 楼号 楼层 面积 价格
程序完成功能:
(1) 浏览数据 (2) 增加数据 (3) 修改数据
(4) 查询数据(按户型,按面积) (5) 退出
代码如下::
问题是怎么可以把goto loop语句换成其他语句 谢谢
#include<iostream>
#include<stdlib.h>
#include<iomanip>
using namespace std;
class apartment
{
char model[100];
int number;
int floor;
double size;
double price;
public:
void set(char *a,int b,int c,double d,double e); //增加和修改
void show();
char *getmodel();
double getsize();
};
void apartment::set(char *a,int b,int c,double d,double e)
{
strcpy(model,a);
number=b;
floor=c;
size=d;
price=e;
}
void apartment::show()
{
cout<<model<<setw(20-strlen(model))<<number<<setw(15)<<floor<<setw(15)<<size<<setw(15)<<
price<<endl;
}
char *apartment::getmodel()
{
return model;
}
double apartment::getsize()
{
return size;
}
int main()
{
char a[100];
int b,c,i,choice,count=0,judge=0;
double d,e;
apartment ap[100];
cout<<"欢迎使用商品房信息管理"<<endl;
loop: cout<<"1 浏览数据 "<<endl;
cout<<"2 增加数据 "<<endl;
cout<<"3 修改数据 "<<endl;
cout<<"4 查询数据(按户型,按面积) "<<endl;
cout<<"5 退出 "<<endl;
cout<<"请输入操作序号,按回车确认:"<<endl;
cin>>choice;
if(choice==1)
{
if(count==0)
{
cout<<"还没有信息录入...."<<endl;
system("pause");
system("cls");
goto loop;
}
cout<<"商品房信息如下:"<<endl;
cout<<"户型"<<setw(17)<<"楼号"<<setw(15)<<"楼层"<<setw(15)<<"面积(m*m)"<<setw(15)<<
"价格"<<endl;
for(i=0;i<count;i++)
ap[i].show();
system("pause");
system("cls");
goto loop;
}
if(choice==2)
{
cout<<"下面开始增加数据:"<<endl;
cout<<"户型: ";
cin>>a;
cout<<"楼号: ";
cin>>b;
cout<<"楼层: ";
cin>>c;
cout<<"面积: ";
cin>>d;
cout<<"价格: ";
cin>>e;
ap[count++].set(a,b,c,d,e);
cout<<"信息录入成功"<<endl;
system("pause");
system("cls");
goto loop;
}
if(choice==3)
{
char X;
cout<<"请输入欲修改的户型: ";
cin>>a;
for(i=0;i<count;i++)
{
if(strcmp(ap[i].getmodel(),a)==0)
{
cout<<"此房信息如下:"<<endl;
cout<<"户型"<<setw(17)<<"楼号"<<setw(15)<<"楼层"<<setw(15)<<"面积(m*m)"<<setw(15)<<
"价格"<<endl;
ap[i].show();
cout<<"确认修改? y(Y)/n(N)...";
cin>>X;
if(X=='y'||X=='Y')
{
cout<<"下面开始修改数据:"<<endl;
cout<<"户型: ";
cin>>a;
cout<<"楼号: ";
cin>>b;
cout<<"楼层: ";
cin>>c;
cout<<"面积: ";
cin>>d;
cout<<"价格: ";
cin>>e;
ap[i].set(a,b,c,d,e);
cout<<"信息修改成功"<<endl;
system("pause");
system("cls");
goto loop;
}
else
{
system("pause");
system("cls");
goto loop;
}
}
}
cout<<"您查找的商品房不存在"<<endl;
system("pause");
system("cls");
goto loop;
}
if(choice==4)
{
cout<<"1 按户型"<<endl<<"2 按面积"<<endl;
cin>>choice;
if(choice==1)
{
cout<<"请输入户型..."<<endl;
cin>>a;
for(i=0;i<count;i++)
if(strcmp(ap[i].getmodel(),a)==0)
{
judge=1;
cout<<"户型"<<setw(17)<<"楼号"<<setw(15)<<"楼层"<<setw(15)<<"面积(m*m)"<<setw(15)<<
"价格"<<endl;
ap[i].show();
}
if(judge==0)
{
cout<<"您所查找的户型不存在"<<endl;
judge=0;
}
system("pause");
system("cls");
goto loop;
}
if(choice==2)
{
cout<<"请输入面积..."<<endl;
cin>>d;
for(i=0;i<count;i++)
if(ap[i].getsize()==d)
{
judge=1;
cout<<"户型"<<setw(17)<<"楼号"<<setw(15)<<"楼层"<<setw(15)<<"面积(m*m)"<<setw(15)<<
"价格"<<endl;
ap[i].show();
}
if(judge==0)
{
cout<<"您所查找的户型不存在"<<endl;
judge=0;
}
system("pause");
system("cls");
goto loop;
}
}
else
cout<<"感谢使用"<<endl;
return 0;
}
[解决办法]
goto语句,真少见啊!可以循环啊。可以加个函数啊,内容就是你的loop。