求解C++题目,如下,谢谢! 10
某商店已有10种商品,商品信息包括商品名称、型号、数量、单价,这些商品信息已储存在计算机中,现在需要加入一种商品,请把该产品的信息添加进去。我需要编写好的可以再VC++6...
某商店已有10种商品,商品信息包括商品名称、型号、数量、单价,这些商品信息已储存在计算机中,现在需要加入一种商品,请把该产品的信息添加进去。
我需要编写好的可以再VC++ 6.0中运行的程序,要代码 展开
我需要编写好的可以再VC++ 6.0中运行的程序,要代码 展开
4个回答
展开全部
我给你写了一个,程序已经很完完美了。你如果对STL不熟悉的话,可以用数组来代替。代码如下:
//作者:段晓辉
//时间:2011.5.10
#include <vector>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
//先定义一个商品类
class CGoods
{
public:
CGoods():m_name("noName"),m_id(0), m_count(0), m_price(0){}
CGoods(const string name, int id, int count, float price)
:m_name(name),m_id(id), m_count(count), m_price(price){}
string GetGoodsName() const
{
return m_name;
}
int GetGoodsID() const
{
return m_id;
}
int GetGoodsCount() const
{
return m_count;
}
float GetGoodsPrice() const
{
return m_price;
}
protected:
private:
// CGoods(){}
// CGoods(const CGoods &){}
// CGoods &operator = (const CGoods &);
// void *operator new(size_t){}
// void operator delete(void *){}
private:
string m_name;
int m_id;
int m_count;
float m_price;
};
void main()
{
string inchar;
string goodsName;
int goodsID;
int goodsCount;
float goodsPrice;
int goodsNum=0;//商品总数
//定义一个类数组来初始化刚开始的10个商品信息
CGoods arrGoods[10];
string classname;
for (int i=0; i<10; i++)//这个没有支持C++0x标准,因为i是一个局部变量,下面如果再次定义不会重复定义
{
classname = "Goods";
char buf[2];
classname += itoa(i, buf, 10);
CGoods classname(classname, i, i+10, 199);
arrGoods[i] = classname;
}
vector<CGoods> Goods;
Goods.reserve(20);
for (i=0; i<10; i++)
{
Goods.push_back(arrGoods[i]);
goodsNum++;
}
while (1)
{
cout<<"输入1,进行新增加商品的操作"<<endl;
cout<<"输入2,进行新查找商品的操作"<<endl;
cout<<"输入0,结束程序"<<endl;
cin>>inchar;
if(0==inchar.compare("1") )//增加商品
{
cout<<"请输入商品名称:";
cin>>goodsName;
cout<<endl;
cout<<"请输入商品ID:";
cin>>goodsID;
cout<<endl;
cout<<"请输入商品数量:";
cin>>goodsCount;
cout<<endl;
cout<<"请输入商品价格:";
cin>>goodsPrice;
cout<<endl;
//下面再加入一个商品的信息
CGoods newGoods(goodsName, goodsID, goodsCount, goodsPrice);
Goods.push_back(newGoods);
goodsNum++;
cout<<"商品已成功添加"<<endl;
cout<<endl;
}
else if (0==inchar.compare("2"))//查询商品信息
{
cout<<"请输入要查询的商品名:";
cin>>goodsName;
cout<<endl;
for (i=0; i<goodsNum; i++)
{
if (0==Goods.at(i).GetGoodsName().compare(goodsName))
{
cout<<"商品名:"<<Goods.at(i).GetGoodsName().c_str()<<endl;
cout<<endl;
cout<<"商品ID:"<<Goods.at(i).GetGoodsID()<<endl;
cout<<endl;
cout<<"商品数量:"<<Goods.at(i).GetGoodsCount()<<endl;
cout<<endl;
cout<<"商品价格:"<<Goods.at(i).GetGoodsPrice()<<endl;
cout<<endl;
break;//跳出for循环
}
}//end for
if (i==goodsNum)
{
cout<<"没有你要查找的商品信息"<<endl;
cout<<endl;
}
}
else if (0==inchar.compare("0"))
{
break;
}
}//end while
}
//作者:段晓辉
//时间:2011.5.10
#include <vector>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
//先定义一个商品类
class CGoods
{
public:
CGoods():m_name("noName"),m_id(0), m_count(0), m_price(0){}
CGoods(const string name, int id, int count, float price)
:m_name(name),m_id(id), m_count(count), m_price(price){}
string GetGoodsName() const
{
return m_name;
}
int GetGoodsID() const
{
return m_id;
}
int GetGoodsCount() const
{
return m_count;
}
float GetGoodsPrice() const
{
return m_price;
}
protected:
private:
// CGoods(){}
// CGoods(const CGoods &){}
// CGoods &operator = (const CGoods &);
// void *operator new(size_t){}
// void operator delete(void *){}
private:
string m_name;
int m_id;
int m_count;
float m_price;
};
void main()
{
string inchar;
string goodsName;
int goodsID;
int goodsCount;
float goodsPrice;
int goodsNum=0;//商品总数
//定义一个类数组来初始化刚开始的10个商品信息
CGoods arrGoods[10];
string classname;
for (int i=0; i<10; i++)//这个没有支持C++0x标准,因为i是一个局部变量,下面如果再次定义不会重复定义
{
classname = "Goods";
char buf[2];
classname += itoa(i, buf, 10);
CGoods classname(classname, i, i+10, 199);
arrGoods[i] = classname;
}
vector<CGoods> Goods;
Goods.reserve(20);
for (i=0; i<10; i++)
{
Goods.push_back(arrGoods[i]);
goodsNum++;
}
while (1)
{
cout<<"输入1,进行新增加商品的操作"<<endl;
cout<<"输入2,进行新查找商品的操作"<<endl;
cout<<"输入0,结束程序"<<endl;
cin>>inchar;
if(0==inchar.compare("1") )//增加商品
{
cout<<"请输入商品名称:";
cin>>goodsName;
cout<<endl;
cout<<"请输入商品ID:";
cin>>goodsID;
cout<<endl;
cout<<"请输入商品数量:";
cin>>goodsCount;
cout<<endl;
cout<<"请输入商品价格:";
cin>>goodsPrice;
cout<<endl;
//下面再加入一个商品的信息
CGoods newGoods(goodsName, goodsID, goodsCount, goodsPrice);
Goods.push_back(newGoods);
goodsNum++;
cout<<"商品已成功添加"<<endl;
cout<<endl;
}
else if (0==inchar.compare("2"))//查询商品信息
{
cout<<"请输入要查询的商品名:";
cin>>goodsName;
cout<<endl;
for (i=0; i<goodsNum; i++)
{
if (0==Goods.at(i).GetGoodsName().compare(goodsName))
{
cout<<"商品名:"<<Goods.at(i).GetGoodsName().c_str()<<endl;
cout<<endl;
cout<<"商品ID:"<<Goods.at(i).GetGoodsID()<<endl;
cout<<endl;
cout<<"商品数量:"<<Goods.at(i).GetGoodsCount()<<endl;
cout<<endl;
cout<<"商品价格:"<<Goods.at(i).GetGoodsPrice()<<endl;
cout<<endl;
break;//跳出for循环
}
}//end for
if (i==goodsNum)
{
cout<<"没有你要查找的商品信息"<<endl;
cout<<endl;
}
}
else if (0==inchar.compare("0"))
{
break;
}
}//end while
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
#include <string>
using namespace std;
class goods
{
private:
string name;
string type;
int num;
int price;
public:
goods()
{}
goods(string nam,string t,int n,int p)
{
name = nam;
type = t;
num = n;
price = p;
}
void insert();
};
void goods::insert()
{
cin>>name>>type>>num>>price;
}
int main()
{
int i;
class goods s[11];
for(i = 0;i < 10;i++)
{
s[i].insert();//初始化 10种商品 ,也可以在初始化时写
}
s[i].insert();//第十一种商品
system("pause");
return 0;
}
#include <string>
using namespace std;
class goods
{
private:
string name;
string type;
int num;
int price;
public:
goods()
{}
goods(string nam,string t,int n,int p)
{
name = nam;
type = t;
num = n;
price = p;
}
void insert();
};
void goods::insert()
{
cin>>name>>type>>num>>price;
}
int main()
{
int i;
class goods s[11];
for(i = 0;i < 10;i++)
{
s[i].insert();//初始化 10种商品 ,也可以在初始化时写
}
s[i].insert();//第十一种商品
system("pause");
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造出一个商品类来,再在类里面写一个添加信息的方法(insert),再用类初始化一个实例对象之后,如果要添加信息的话,直接调用你的商品类提供的insert方法就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询