实现加油站小型信息系统的程序

时间:2019-05-04 09:16:59

标签: c++ function pointers

我需要编写一个程序,为加油站实现一个小型信息系统。带有汽油类型,价格和商品编号的数组。该程序需要具有一个菜单,其中包含添加新类型的汽油并按商品编号搜索项目。该程序必须带有函数和指针

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};

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

您意识到命令式语言的程序是自上而下执行的吗?然后,priceartnumbersearchartnumber未初始化。最后,您尝试使用它们来初始化一个char数组,该数组需要缩小对话范围,这是不允许的。您可能希望使用结构而不是char

struct gastation_t
{
    char tyofpetrol;  // bullshit type, though
    int price;
    int artnumber;  // negative article numbers? hell yeah.
};