程序设计,设计一个商品信息管理程序。 用结构体数组存放某超市商品销售情况,每个商品销售记录由商品代码 dm (字符型4位),商品名称 mc (字符型10位),单价 dj (实型),数量 sl (整型),金额 je (实型)5部分组成。其中,金额=单价*数量计算得出。编写一个程序输入20条销售记录并存入结构体数组中,然后按金额从小到大进行排列。若金额相等,则按商品代码从小到大进行排列,最后将排列结果输出。 算法及程序设计分析:用 struct 定义商品的结构体,包括商品代码、商品名称、单价、数量、金额。用循环结构来实现对商品信息的输入和计算。 }
时间: 2024-02-21 07:57:33 浏览: 78
以下是一个简单的商品信息管理程序的实现:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
// 商品结构体定义
struct Commodity {
string code; // 商品代码
string name; // 商品名称
double price; // 单价
int quantity; // 数量
double amount; // 金额
};
// 比较函数,用于排序
bool cmp(Commodity a, Commodity b) {
if(a.amount == b.amount) {
return a.code < b.code;
}
return a.amount < b.amount;
}
int main() {
const int n = 20; // 商品数
Commodity commodities[n]; // 商品数组
// 输入商品信息
for(int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个商品的信息:\n";
cout << "商品代码:";
cin >> commodities[i].code;
cout << "商品名称:";
cin >> commodities[i].name;
cout << "单价:";
cin >> commodities[i].price;
cout << "数量:";
cin >> commodities[i].quantity;
commodities[i].amount = commodities[i].price * commodities[i].quantity;
}
// 排序
sort(commodities, commodities+n, cmp);
// 输出排序结果
cout << "按金额从小到大排序后的商品信息为:\n";
for(int i = 0; i < n; i++) {
cout << "商品代码:" << commodities[i].code << ",";
cout << "商品名称:" << commodities[i].name << ",";
cout << "单价:" << commodities[i].price << ",";
cout << "数量:" << commodities[i].quantity << ",";
cout << "金额:" << commodities[i].amount << "\n";
}
return 0;
}
```
程序中使用了 `struct` 定义了一个商品的结构体,包括商品代码、商品名称、单价、数量、金额。使用循环结构来输入商品信息,并通过计算得到金额。使用 `sort` 函数对商品数组进行排序,排序时按照金额从小到大排序,如果金额相等,则按照商品代码从小到大排序。最后将排序结果输出。
阅读全文