订单表(结构体)
题目:定义一个表示商品订单的结构体Order,成员包括:商品名(trade/字符串)、单价(price/实型)、数量(num/整型)。
定义一个Order结构体数组,向里面输入订单信息(不超过10条)。
输出订单表,计算商品总数和总价格。
输入格式:
先输入订单条数n
再输入n条订单信息:
商品名1(不允许有空格)
单价
数量
商品名2(不允许有空格)
单价
数量
…
输出格式:
商品名 单价(保留2位小数) 数量(每行输出一条订单信息,用一个空格隔开)
商品总数量
商品总价格(保留2位小数)
输入样例:
3
Jacket
99.8
2
T-shirt
31.5
1
Book
23.0
40
输出样例:
Jacket 99.80 2
T-shirt 31.50 1
Book 23.00 40
43
1151.10
#include <iostream>
#include <iomanip> // 保留2位小数 << fixed << setprecision(2) << 所需头文件
using namespace std;
// 声明了一个结构体类型 Order
struct Order
{
string trade; // 商品名
double price; // 单价
int num; // 数量
};
int main()
{
int n;
cin >> n;
// 定义结构体类型变量 ————结构数组 order[n]
struct Order order[n];
int total_num = 0; // 商品总数量
double total_price = 0.0; // 商品总价格
for (int i = 0; i < n; i++)
{
cin >> order[i].trade
>> order[i].price
>> order[i].num;
total_num += order[i].num;
total_price += order[i].num * order[i].price;
}
for (int i = 0; i < n; i++)
cout << order[i].trade << " "
<< fixed << setprecision(2) << order[i].price << " "
<< order[i].num << endl;
cout << total_num << endl;
cout << fixed << setprecision(2) << total_price << endl;
return 0;
}