C++ 将字符串输入与类数组值C++;(Unix环境)(家庭作业)
任务: 编写一个C++程序,从菜单中读取菜单信息。项目代码中的第一个字母指定它是开胃菜(A)、主菜(e)、甜点(D)还是饮料(S) 然后提示用户输入订单。对于每个订单,您应该计算并输出总金额。每行中的项目可以按任何顺序列出 A1 E1 D1 S1 S2 D3 E4 A4 E3 E5 A2 A4 S2 S1 D2 D2 E2 X 一旦用户输入“X”,程序应输出最受欢迎的开胃菜、主菜、甜点、饮料。如果存在平局,则可以输出其中任何一个 我遇到的问题是获取输入(例如,A1),然后解析数组中的适当项和位置(例如,A1将是test2[1],E1有望是test2[5])。我知道数组已正确填充。我尝试使用以下内容搜索数组:C++ 将字符串输入与类数组值C++;(Unix环境)(家庭作业),c++,arrays,unix,C++,Arrays,Unix,任务: 编写一个C++程序,从菜单中读取菜单信息。项目代码中的第一个字母指定它是开胃菜(A)、主菜(e)、甜点(D)还是饮料(S) 然后提示用户输入订单。对于每个订单,您应该计算并输出总金额。每行中的项目可以按任何顺序列出 A1 E1 D1 S1 S2 D3 E4 A4 E3 E5 A2 A4 S2 S1 D2 D2 E2 X 一旦用户输入“X”,程序应输出最受欢迎的开胃菜、主菜、甜点、饮料。如果存在平局,则可以输出其中任何一个 我遇到的问题是获取输入(例如,A1),然后解析数组中的适当项和位置
for(int l = 0; l<SIZE; l++)
{ //I get an operator error every time here
if(s == (test2[l]))
{ //Just a test to see if I am pulling
//any information
cout << test2[l].getCode() << endl;
}
}
for(int l=0;l如果您正在比较MenuItem类型的对象,那么您还没有完全实现==运算符
这里请看C++中的运算符重载。< /P>
我想知道以下代码中变量s的类型是什么:
if(s == (test2[l]))
s是包含用户输入的字符串,例如“A1”?
还是s是MenuItem对象
如果它是一个字符串,那么条件就是
if(s == test[l].getCode())
如果s是一个MenuItem对象,那么应该为MenuItem对象实现操作符==
它的签名可能如下所示:
bool operator== (const MenuItem&, const MenuItem&);
实现时需要检查两个MenuItem对象是否具有相同的代码、名称和价格。我将使用从char到double数组的映射。
if(s == test[l].getCode())
bool operator== (const MenuItem&, const MenuItem&);