求助大神,C++报错 LNK2001

. 水怪 2018-08-29 07:33:40
#include<iostream>
#include<fstream>
#include<string>
using namespace std;

class Dishes
{
public:
string Name;//餐品名
int Price;//单价
friend istream &operator>>(istream &input, Dishes &D)
{
input >> D.Name >> D.Price;
return input;
}
friend ostream &operator<<(ostream &output, Dishes &D)
{
output << D.Name << D.Price;
return output;
}
};
class Order_document
{
private:
Dishes _Dish[7];//餐品信息
int Number[7];//份数
int Amount_Price;//总价
public:
static Dishes dish[7];
Order_document()
{
}
void Read_menu()
{
ifstream file1("C:\\Users\\60957\\Desktop\\19170130\\data.txt");
if (!file1)
{
cout << "无法读入菜单" << endl;
}
else
{
for (int i = 0;i<7;i++)
{
file1 >> dish[i];
}
file1.close();
for (int i = 0;i<7;i++)
{
cout << dish[i] << endl;
}
}
}
void Order()
{
int i;
for (i = 0;i<7;i++)
{
cout << dish[i] << endl;
}
for (i=0;;i++)
{
int No = 0;
int Num = 0;
cout << "请输入餐品序号(如结束点单请输入0):" << endl;
cin >> No;
if (No == 0)
break;
_Dish[i].Name = dish[No + 1].Name;
cout << "请输入" << dish[No + 1].Name << "的份数:" << endl;
cin >> Num;
Number[i] = Num;
Amount_Price += (dish[No + 1].Price*Num);/////////////////////
}
cout << "------------------------------" << endl;
cout << "您的菜单为:" << endl;
for (int m = 0;m < i;m++)
{
cout << _Dish[i].Name << " " << Number[i] << "份" << endl;
}
}
};
class Queue
{
private:
Order_document customer;//顾客单据
int No;//单号
public:

};
int main()
{
Order_document order;
order.Read_menu();

Order_document customer1;
customer1.Order();
}
...全文
174 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼上的说法正确,我改了一下,只管编译通过。

#include<iostream>
#include<fstream>
#include<string>
using namespace std;

class Dishes
{
public:
string Name;//餐品名
int Price;//单价
friend istream &operator>>(istream &input, Dishes &D)
{
input >> D.Name >> D.Price;
return input;
}
friend ostream &operator<<(ostream &output, Dishes &D)
{
output << D.Name << D.Price;
return output;
}
};

class Order_document
{
private:
Dishes _Dish[7];//餐品信息
int Number[7];//份数
int Amount_Price;//总价
public:
static Dishes dish[7];
Order_document()
{

}
void Read_menu()
{
ifstream file1("C:\\Users\\60957\\Desktop\\19170130\\data.txt");
if (!file1)
{
cout << "无法读入菜单" << endl;
}
else
{
for (int i = 0;i<7;i++)
{
file1 >> dish[i];
}
file1.close();
for (int i = 0;i<7;i++)
{
cout << dish[i] << endl;
}
}
}
void Order()
{
int i;
for (i = 0;i<7;i++)
{
cout << dish[i] << endl;
}
for (i=0;;i++)
{
int No = 0;
int Num = 0;
cout << "请输入餐品序号(如结束点单请输入0):" << endl;
cin >> No;
if (No == 0)
break;
_Dish[i].Name = dish[No + 1].Name;
cout << "请输入" << dish[No + 1].Name << "的份数:" << endl;
cin >> Num;
Number[i] = Num;
Amount_Price += (dish[No + 1].Price*Num);/////////////////////
}
cout << "------------------------------" << endl;
cout << "您的菜单为:" << endl;
for (int m = 0;m < i;m++)
{
cout << _Dish[i].Name << " " << Number[i] << "份" << endl;
}
}
};

Dishes Order_document::dish[7] = {0};

//Order_document::dish[0].Name="aaa";Order_document::dish[0].Price=1;
//Order_document::dish[1].Name="bbb";Order_document::dish[1].Price=2;
//Order_document::dish[2].Name="ccc";Order_document::dish[2].Price=3;
//Order_document::dish[3].Name="ddd";Order_document::dish[3].Price=4;
//Order_document::dish[4].Name="eee";Order_document::dish[4].Price=5;
//Order_document::dish[5].Name="fff";Order_document::dish[5].Price=6;
//Order_document::dish[6].Name="ggg";Order_document::dish[6].Price=7;

class Queue
{
private:
Order_document customer;//顾客单据
int No;//单号
public:

};
int main()
{
Order_document order;
order.Read_menu();

Order_document customer1;
customer1.Order();
}
sevancheng 2018-08-29
  • 打赏
  • 举报
回复
static Dishes dish[7]; 没初始化

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧