/ // 运行 cpl.bat 编译,生成 a.exe 文件,运行它。 // Write by MMT Studio // 2005.01.14 / #include <iostream> #include <string> #include <fstream> #include <map> using namespace std; typedef map <string, double>::const_iterator CIT; void main() { map <string, double> bonuses; string agent; double bonus=0; ifstream bonusfile("bonuses.dat"); if(!bonusfile) { // 报告出错信息并终止程序 cout<<"open file error!"<<endl; exit(-1); } while (bonusfile >> agent >> bonus) { bonuses[agent]+=bonus;// 累加每个代理的奖金 } // 显示 map 中的值,已经汇总 for(CIT p=bonuses.begin(); p!=bonuses.end(); ++p) { cout << p->first <<'/t' << p->second <<endl; } } bonuses.dat中的数据为: Bob 35 Bob 90 Jane 80.25 Sue 100 Jane 65.5 cpl.bat的内容如下: cl agtbouns.cpp del a.exe rename agtbouns.exe a.exe