读书人

为什么这个程序编译 通不过 哪儿错了

发布时间: 2012-02-19 19:43:39 作者: rapoo

为什么这个程序编译 通不过 哪儿错了?
#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();

读书人网 >C++

热点推荐