【发布时间】:2015-12-17 09:42:59
【问题描述】:
我在做一个大学项目,它与做一个管理比萨店订单的程序有关。所以我把这一切都计划好了,但说到做到,我误解了一些东西。首先是我需要向用户询问一种成分,并且在程序中,成分是枚举类型的数据,因此我需要将键盘输入与之匹配。我试过这个
#include <iostream>
#include <array>
#include <sring>
#include <cctype>
#include <cmath>
#include <locale>
#include <algorithm>
using namespace std;
const int MAX_INGREDIENTES_PIZZA=20;
typedef array<int, MAX_INGREDIENTES_PIZZA> TIngrediente;
//enum ingredientes {TOMATE,QUESO,NATA,CEBOLLA,POLLO,HUEVO,SALAMI,ANCHOA,BACON,GAMBA};
TIngrediente leer_ingrediente(){
TIngrediente r;
enum ingredientes {TOMATE,
QUESO,
NATA,
CEBOLLA,
POLLO,
HUEVO,
SALAMI,
ANCHOA,
BACON,
GAMBA};
char ingrediente;
getline(cin,ingrediente);
for (int i=0; i<MAX_INGREDIENTES_PIZZA-1;i++){
string ingrediente[i]=tolower(ingrediente[p]);
}
if(ingrediente=="queso")
else if(ingrediente=="nata")
else if (ingrediente=="cebolla")
else if (ingrediente=="pollo")
else if (ingrediente=="huevo")
else if (ingrediente=="salami")
else if (ingrediente=="anchoa")
else if(ingrediente=="bacon")
else if (ingrediente=="gamba")
return r;
}
我不知道我是否应该将 enum{} 声明为全局,还是仅在 leer_ingredientes() 内部声明
另一件事是,正如我所说,我不知道在这里做什么(将输入与 enum() 匹配):
char ingrediente;
getline(cin,ingrediente);
for (int i=0; i<MAX_INGREDIENTES_PIZZA-1;i++){
string ingrediente[i]=tolower(ingrediente[p]);
}
if(ingrediente=="queso")
else if(ingrediente=="nata")
else if (ingrediente=="cebolla")
else if (ingrediente=="pollo")
else if (ingrediente=="huevo")
else if (ingrediente=="salami")
else if (ingrediente=="anchoa")
else if(ingrediente=="bacon")
else if (ingrediente=="gamba")
return r;
谁能帮帮我?
【问题讨论】: