本文整理汇总了C++中Stat::reset方法的典型用法代码示例。如果您正苦于以下问题:C++ Stat::reset方法的具体用法?C++ Stat::reset怎么用?C++ Stat::reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Stat
的用法示例。
在下文中一共展示了Stat::reset方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: query_data_by_others
/* 测量项目other在min和max之间的人找出来,统计他们的item的值 */
void Query::query_data_by_others(Stat &stat, QString item, QString other, float min, float max)
{
stat.reset();
for (int i = 0; i < npeople; i++) {
float other_data = get_data_by_item(&people[i], other);
if (other_data <= max && other_data >= min) {
float data = get_data_by_item(&people[i], item);
if (data != -1) {
stat.add_element(data);
}
}
}
}
示例2: query_data
void Query::query_data(Stat &stat, QString item, QString nativeplace,
QString district, QString armtype, QString education, QString militaryrank)
{
int pm;
QList<int> parameters;
stat.reset();
if (item == "") return;
parameters << get_value_by_key(nativeplace_map, nativeplace);
parameters << get_value_by_key(district_map, district);
parameters << get_value_by_key(armtype_map, armtype);
parameters << get_value_by_key(education_map, education);
parameters << get_value_by_key(militaryrank_map, militaryrank);
pm = 0;
while (pm < PARAMETER_SIZE && parameters[pm] == -1) {
pm++;
}
if (pm == PARAMETER_SIZE) {
for (int i = 0; i < this->npeople; i++) {
People *p = &people[i];
float item_data = get_data_by_item(p, item);
if (item_data > 0) {
stat.add_element(item_data);
}
}
} else {
List *l = find_list(parameters[pm], pm);
People *p = l->first;
while (p) {
bool all_parameter_match = true;
for (int ii = pm + 1; ii < PARAMETER_SIZE; ii++) {
if (parameters[ii] != -1 && !match_parameter(p, ii, parameters[ii])) {
all_parameter_match = false;
break;
}
}
float item_data = get_data_by_item(p, item);
if (all_parameter_match && item_data > 0) {
stat.add_element(item_data);
}
p = p->next[pm];
}
}
}