首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为什么这个程序编译 通不过 哪儿错了?该如何解决

2012-02-19 
为什么这个程序编译 通不过哪儿错了?#includeiostream#includemap#includestringusingnamespacestd

为什么这个程序编译 通不过 哪儿错了?
#include   <iostream>
#include   <map>
#include   <string>

using   namespace   std;

struct   Stat{
Stat():sum(0.0),count(0){}
double   sum;
int   count;
};

//using   std::string;

typedef   std::map <string,Stat>   Data;

void   collect_data(Data   &stats)
{
string   name;
while(cin> > name)
{
double   datum;
std::cin> > datum;
stats[name].sum   +=   datum;
++stats[name].count;
}
}

void   print_stats(Data   const   &stats)
{
double   global_sum   =   0.0;
int   global_count   =   0;
for(Data::iterator   p   =   stats.begin();   p   !=   stats.end();   ++p)
{
std::cout < <(*p).first
          < < "sum= " < <(*p).second.sum
                  < < "mean= " < <(*p).second.sum/(*p).second.count < < '\n ';

global_sum   +=   (*p).second.sum;
global_count   +=   (*p).second.count;
}
std::cout < < "all: " < <global_sum
          < < "all_mean: " < <global_sum/global_count < <std::endl;
}

void   main()
{
Data   stats;
collect_data(stats);
print_stats(stats);
}

[解决办法]
编译器给出出错提示了。
[解决办法]
一个错
Data::cosnt_iterator p = stats.begin();
=======================================
Data::iterator p = stats.begin();

热点排行