[C++]sales-reporter
来源:互联网 发布:淘宝上衣服没有吊牌吗 编辑:程序博客网 时间:2024/06/06 03:06
1.使用前需要把数据文件放置在exe程序同一文件夹内。2.数据文件内容可修改,有且仅有8对数据,否则会报错(已预置sales.txt文件,格式可参照修改,第一列为itemNumber,第二列为对应的unitePrice)3.双击exe运行,根据提示输入数据文件名称,存放结果数据文件名称,salesperson lastname(内置z1-z10),item number,quantity。4.salesperson lastname不得超出z1-z10,否则报错。5.程序作用:<span style="white-space: pre;"></span>根据销售项目及单价(文件形式),输入相应的销售项目和数量,自动生成每个人的销售报告(文件形式)。
#include<iostream>#include<string>#include<fstream>using namespace std;enum lastname/*声明salesperson的姓名*/{z1,z2,z3,z4,z5,z6,z7,z8,z9,z10};void main(){/*提示终止方式*/cout << "********************the program is used to generate sales-reporter***********************" << endl;cout << " ------------please press \"enter\" twice to stop" << endl; ifstream salesFile;ofstream outFile;string filename;/*获得输入的文件名*/cout << "please enter the filename(attention:don't use space to seperate)" << endl;getline(cin, filename, '\n');salesFile.open(filename);if (!salesFile)/*判断文件是否存在*/{cout << "please correct the file has been set in the same content with the program" << endl;return;}int PN[8], i = 0;/*读取文件数据*/double UP[8];while (salesFile){salesFile >> PN[i] >> UP[i];i++;}string outFileName;/*获取输出文件名*/cout << "please enter the outFileName(attention:don't use space to seperate)" << endl;getline(cin, outFileName, '\n');outFile.open(outFileName);if (!outFile)/*判断文件名是否合法*/{cout << "please correct the file name is league" << endl;return;}string LN;/*读取用户姓名*/cout << "please enter the lastname of the salesperson" << endl;cin >> LN;if (LN != "z1"&& LN != "z2"&& LN != "z3"&& LN != "z4"&& LN != "z5"&& LN != "z6"&& LN != "z7"&& LN != "z8"&& LN != "z9"&& LN != "z10")/*判断姓名是否存在*/{cout << "please correct the name is extence" << endl;return;}outFile << LN << "'s sales reporter" << endl;/*打印标头*/outFile << "itemNum" << '\t' << "quantity" << endl<<'\t';char item1,item2;int qua,item;double sum=0;int temp = 8;do{cout << "please enter the item number" << endl;/*接收数据*/cin.get();item1=cin.get();item2 = cin.get();if (item1 == '\n')break;else if (item2 != '\n')item = (item1 - '0') * 10 + (item2 - '0');elseitem = (item1-'0');cout << "please enter the quantity" << endl;cin >> qua;outFile << item;/*数据处理*/outFile << '\t';outFile << qua;outFile << endl;outFile << '\t';for (int i = 0; i <8; i++)/*匹配item*/{if (item == PN[i]){temp = i;sum += UP[temp]*qua;break;}}if (temp == 8)/*判断输入item是否存在*/{cout << "please correct the item number" << endl;return;}if (qua<0)/*判断输入quantity是否合法*/{cout << "please correct the qua is league" << endl;return;}temp = 8;} while (item != 0);outFile << endl;outFile << sum << endl;salesFile.close();outFile.close();}
0 0
- [C++]sales-reporter
- port reporter
- ET Reporter
- Implementing SAP ERP Sales & Distribution_Glynn C. Williams
- QTP10的Reporter对象
- Bug reporter 开发目的
- HTML模式自定义reporter
- System Activity Reporter (sar)
- Hadoop:MapReduce Reporter参数
- Market-Sales
- Sales 案例
- Sales Document
- Sales Order
- app sales
- UVa1260 - Sales
- Sales Engineer
- 《揭秘QTP之Reporter对象》
- 重写QTP的Reporter方法
- LINUX下的SD卡分区
- 第9条:覆盖equals时总要覆盖hashCode
- 旧版Xcode官方下载地址
- Google支付订单真伪的验证方式
- 解决ie8及以下图片出现蓝色边框的问题
- [C++]sales-reporter
- 安全杂凑算法(SHA)
- oc知识点总结
- Android 6.0 运行时权限处理
- STL中 copy 的结构图
- 出现以下错误的解决方案 Assigning to ‘id<UINavigationControllerDelegate,UIImagePickerControllerDelegate…
- 【github】Syncing a fork
- Unity Sharder墙面应用
- Obfuscating Android Applications using O-LLVM and the NDK