我需要编写一个程序,为加油站实现一个小型信息系统。带有汽油类型,价格和商品编号的数组。该程序需要具有一个菜单,其中包含添加新类型的汽油并按商品编号搜索项目。该程序必须带有函数和指针
char tyofpetrol;
int price;
int artnumber;
int searchartnumber;
char gastation [3]={tyofpetrol,price,artnumber};
void showMenu(){
cout<<"Add new Type of Petrol";
cin>>tyofpetrol;
cout<<"Search article by article number";
cin>>searchartnumber;
}
void gasStation(){
cout<<"Enter price for Petrol";
cin>>price;
cout<<"Enter the type of Petrol";
cin>>tyofpetrol;
cout<<"enter the article number";
cin>>artnumber;
}
int main(){
gasStation();
showMenu();
cout<<gastation;
}
,我收到以下错误:
main.cpp:7:32: error: non-constant-expression cannot be narrowed from type 'int' to 'char' in
initializer list [-Wc++11-narrowing]
char gastation [3]={tyofpetrol,price,artnumber};
你能帮我吗?
答案 0 :(得分:1)
您意识到命令式语言的程序是自上而下执行的吗?然后,price
,artnumber
和searchartnumber
未初始化。最后,您尝试使用它们来初始化一个char数组,该数组需要缩小对话范围,这是不允许的。您可能希望使用结构而不是char
。
struct gastation_t
{
char tyofpetrol; // bullshit type, though
int price;
int artnumber; // negative article numbers? hell yeah.
};