【发布时间】:2021-07-08 09:14:38
【问题描述】:
我的尝试: 我创建了一个具有成员函数(显示商店中可用产品的函数)和成员变量的类。然后在主函数中初始化所有成员变量并将控制权传递给用户定义的函数以提供输出。 我提供了一些代码 sn-ps 来支持我的想法。
class product
{
public:
//Characteristics of products
string batchid;
string dateofmanu; //dd-mm-yy format
string name;
float rate;
int quantity;
//User-defined functions
void add_products();
void mod_products();
void del_products();
void display_productdetails();
};
在主函数中初始化:
int main()
{
//Initially we have 5 products
p[0].batchid = "Bc11256";
p[0].dateofmanu = "08-01-2021";
p[0].name = "Parle-G";
p[0].rate = 25;
p[0].quantity = 100;
p[1].batchid = "Ad12506";
p[1].dateofmanu = "16-01-2021";
p[1].name = "Sun-Flakes";
p[1].rate = 58;
p[1].quantity = 25;
p[2].batchid = "Af10325";
p[2].dateofmanu = "25-01-2021";
p[2].name = "Lays-Blue(PartyPack)";
p[2].rate = 40;
p[2].quantity = 100;
p[3].batchid = "Yk63785";
p[3].dateofmanu = "12-02-2021";
p[3].name = "Denim T-shirt(M)";
p[3].rate = 500;
p[3].quantity = 50;
p[4].batchid = "Bc11256";
p[4].dateofmanu = "08-01-2021";
p[4].name = "Parle-G";
p[4].rate = 25;
p[4].quantity = 100;
p[4].batchid = "Hj16254";
p[4].dateofmanu = "19-02-2021";
p[4].name = "Tupperware WaterBottle(500ml)";
p[4].rate = 125;
p[4].quantity = 15;
}
然后将控制权传递给所需的用户定义的成员函数:
cout<<"The products available in the store are:\n";
cout<<setw(15)<<"\t\tProduct Name"<<setw(30)<<"BatchID"<<setw(30)<<"DateOfManufacturing"<<setw(15)<<"Rate"<<setw(10)<<endl;
for(i=0;i<5;i++)
p[i].display_productdetails();
向用户显示内容的用户定义函数:
void product::display_productdetails()
{
cout<<setw(15)<<"\t"<<this->name<<setw(30)<<this->batchid<<setw(30)<<this->dateofmanu<<setw(30)
<<this->rate<<endl;
}
【问题讨论】:
-
无关:有更简单的方法来初始化您的产品列表。 example
-
你打算用
\t-characters 做什么?不是setw负责打印填充字符吗? -
最后两个代码 sn-ps 很难阅读,你应该更好地格式化它并学习如何将长行拆分为多个语句。这将增加任何人愿意查看您的代码的机会。