超市总营业额分析程序要求:使用文件,结构体输出每天的销售记录,包括(1)每笔销售记录存储3个数据,例如:得力固体胶,2,2.5。它们代表品名,数量(个)单价(元)。(2)将每天的销售记录通过文件进行存储(3)每周末进行盘存,从文件读取数据,并汇总出周销售额。
时间: 2024-05-01 21:23:59 浏览: 27
下面是一个可以实现上述要求的C++程序:
```cpp
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
// 定义销售记录结构体
struct SaleRecord {
string item; // 品名
int quantity; // 数量
double price; // 单价
};
// 存储每天的销售记录到文件中
void saveSaleRecordToFile(SaleRecord record) {
ofstream fout("sales.txt", ios::app);
fout << record.item << " " << record.quantity << " " << record.price << endl;
fout.close();
}
// 从文件中读取销售记录并计算周销售额
double calculateWeeklySales() {
ifstream fin("sales.txt");
double totalSales = 0;
SaleRecord record;
while (fin >> record.item >> record.quantity >> record.price) {
double sales = record.quantity * record.price;
totalSales += sales;
cout << record.item << " " << record.quantity << " " << record.price << " " << sales << endl;
}
fin.close();
return totalSales;
}
int main() {
// 存储每天的销售记录
SaleRecord record1 = {"得力固体胶", 2, 2.5};
SaleRecord record2 = {"晨光中性笔", 5, 1.0};
SaleRecord record3 = {"花生油", 1, 20.0};
saveSaleRecordToFile(record1);
saveSaleRecordToFile(record2);
saveSaleRecordToFile(record3);
// 计算周销售额
double weeklySales = calculateWeeklySales();
cout << "本周销售额为:" << fixed << setprecision(2) << weeklySales << "元" << endl;
return 0;
}
```
程序中定义了一个名为`SaleRecord`的结构体,用于存储每笔销售记录。`saveSaleRecordToFile`函数用于将每天的销售记录存储到文件中,`calculateWeeklySales`函数用于从文件中读取销售记录并计算周销售额。在主函数中,定义了三个销售记录并调用`saveSaleRecordToFile`函数存储到文件中,然后调用`calculateWeeklySales`函数计算周销售额并输出结果。