kopia lustrzana https://gitlab.com/tomaszg/geostat
Add most/least found caches and some columns to other tables
rodzic
e8c4c5bd3c
commit
4bf03ddfa3
57
geostat.cpp
57
geostat.cpp
|
@ -230,6 +230,7 @@ int main(int argc, char** argv) {
|
|||
Date_Caches sorted_caches_by_hidden;
|
||||
Sorted_Caches caches_by_fav;
|
||||
Sorted_Caches caches_by_fav_perc;
|
||||
Sorted_Caches caches_by_finds;
|
||||
Caches fcc;
|
||||
|
||||
std::tm tmp;
|
||||
|
@ -245,9 +246,11 @@ int main(int argc, char** argv) {
|
|||
sorted_caches_by_hidden.insert({ std::mktime(&tmp), &i });
|
||||
caches_by_fav.push_back(&i);
|
||||
caches_by_fav_perc.push_back(&i);
|
||||
caches_by_finds.push_back(&i);
|
||||
}
|
||||
std::sort(caches_by_fav.begin(), caches_by_fav.end(), [&](const Cache* a, const Cache* b) { return a->fav > b->fav; });
|
||||
std::sort(caches_by_fav_perc.begin(), caches_by_fav_perc.end(), [&](const Cache* a, const Cache* b) { return 1.0 * a->fav / a->founds > 1.0 * b->fav / b-> founds; });
|
||||
std::sort(caches_by_finds.begin(), caches_by_finds.end(), [&](const Cache* a, const Cache* b) { return a->founds > b->founds; });
|
||||
|
||||
std::cout << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n";
|
||||
std::cout << "<html>\n";
|
||||
|
@ -424,6 +427,7 @@ int main(int argc, char** argv) {
|
|||
std::cout << "<table class=\"list\">\n";
|
||||
std::cout << "<tr class=\"list_head\"><td></td>";
|
||||
std::cout << "<td>Cache</td>";
|
||||
std::cout << "<td>Type</td>";
|
||||
std::cout << "<td>Date hidden</td>";
|
||||
std::cout << "<td>Date found</td>";
|
||||
std::cout << "</tr>\n";
|
||||
|
@ -431,6 +435,7 @@ int main(int argc, char** argv) {
|
|||
for (auto i = sorted_caches_by_hidden.begin(); i != sorted_caches_by_hidden.end(); i++) {
|
||||
std::cout << "<tr><td class=\"list_head\">" << n << "</td> ";
|
||||
std::cout << "<td>" << "<a href=\"" << i->second->link() << "\">" << i->second->safe_name() << " (" << i->second->code << ")</a>" << "</td>";
|
||||
std::cout << "<td>" << i->second->type << "</td>";
|
||||
std::cout << "<td>" << i->second->date_hidden << "</td>";
|
||||
std::cout << "<td>" << i->second->date << "</td>";
|
||||
std::cout << "</tr>\n";
|
||||
|
@ -445,6 +450,7 @@ int main(int argc, char** argv) {
|
|||
std::cout << "<table class=\"list\">\n";
|
||||
std::cout << "<tr class=\"list_head\"><td></td>";
|
||||
std::cout << "<td>Cache</td>";
|
||||
std::cout << "<td>Type</td>";
|
||||
std::cout << "<td>Date hidden</td>";
|
||||
std::cout << "<td>Date found</td>";
|
||||
std::cout << "</tr>\n";
|
||||
|
@ -452,6 +458,7 @@ int main(int argc, char** argv) {
|
|||
for (auto i = sorted_caches_by_hidden.rbegin(); i != sorted_caches_by_hidden.rend(); i++) {
|
||||
std::cout << "<tr><td class=\"list_head\">" << n << "</td> ";
|
||||
std::cout << "<td>" << "<a href=\"" << i->second->link() << "\">" << i->second->safe_name() << " (" << i->second->code << ")</a>" << "</td>";
|
||||
std::cout << "<td>" << i->second->type << "</td>";
|
||||
std::cout << "<td>" << i->second->date_hidden << "</td>";
|
||||
std::cout << "<td>" << i->second->date << "</td>";
|
||||
std::cout << "</tr>\n";
|
||||
|
@ -466,6 +473,7 @@ int main(int argc, char** argv) {
|
|||
std::cout << "<table class=\"list\">\n";
|
||||
std::cout << "<tr class=\"list_head\"><td></td>";
|
||||
std::cout << "<td>Cache</td>";
|
||||
std::cout << "<td>Type</td>";
|
||||
std::cout << "<td>Rec.</td>";
|
||||
std::cout << "<td>Finds</td>";
|
||||
std::cout << "<td>%</td>";
|
||||
|
@ -474,6 +482,7 @@ int main(int argc, char** argv) {
|
|||
for (auto i : caches_by_fav) {
|
||||
std::cout << "<tr><td class=\"list_head\">" << n << "</td> ";
|
||||
std::cout << "<td>" << "<a href=\"" << i->link() << "\">" << i->safe_name() << " (" << i->code << ")</a>" << "</td>";
|
||||
std::cout << "<td>" << i->type << "</td>";
|
||||
std::cout << "<td>" << i->fav << "</td>";
|
||||
std::cout << "<td>" << i->founds << "</td>";
|
||||
std::cout << "<td>" << std::setprecision(3) << 100.0 * i->fav / i->founds << "%</td>";
|
||||
|
@ -489,6 +498,7 @@ int main(int argc, char** argv) {
|
|||
std::cout << "<table class=\"list\">\n";
|
||||
std::cout << "<tr class=\"list_head\"><td></td>";
|
||||
std::cout << "<td>Cache</td>";
|
||||
std::cout << "<td>Type</td>";
|
||||
std::cout << "<td>Rec.</td>";
|
||||
std::cout << "<td>Finds</td>";
|
||||
std::cout << "<td>%</td>";
|
||||
|
@ -497,6 +507,7 @@ int main(int argc, char** argv) {
|
|||
for (auto i : caches_by_fav_perc) {
|
||||
std::cout << "<tr><td class=\"list_head\">" << n << "</td> ";
|
||||
std::cout << "<td>" << "<a href=\"" << i->link() << "\">" << i->safe_name() << " (" << i->code << ")</a>" << "</td>";
|
||||
std::cout << "<td>" << i->type << "</td>";
|
||||
std::cout << "<td>" << i->fav << "</td>";
|
||||
std::cout << "<td>" << i->founds << "</td>";
|
||||
std::cout << "<td>" << std::setprecision(3) << 100.0 * i->fav / i->founds << "%</td>";
|
||||
|
@ -506,6 +517,52 @@ int main(int argc, char** argv) {
|
|||
}
|
||||
std::cout << "</table>\n";
|
||||
|
||||
n = 1;
|
||||
|
||||
std::cout << "<h2>Caches with most finds</h2>\n";
|
||||
std::cout << "<table class=\"list\">\n";
|
||||
std::cout << "<tr class=\"list_head\"><td></td>";
|
||||
std::cout << "<td>Cache</td>";
|
||||
std::cout << "<td>Type</td>";
|
||||
std::cout << "<td>Date hidden</td>";
|
||||
std::cout << "<td>Finds</td>";
|
||||
std::cout << "</tr>\n";
|
||||
|
||||
for (auto i : caches_by_finds) {
|
||||
std::cout << "<tr><td class=\"list_head\">" << n << "</td> ";
|
||||
std::cout << "<td>" << "<a href=\"" << i->link() << "\">" << i->safe_name() << " (" << i->code << ")</a>" << "</td>";
|
||||
std::cout << "<td>" << i->type << "</td>";
|
||||
std::cout << "<td>" << i->date_hidden << "</td>";
|
||||
std::cout << "<td>" << i->founds << "</td>";
|
||||
std::cout << "</tr>\n";
|
||||
n++;
|
||||
if (n > LIST_MAX) break;
|
||||
}
|
||||
std::cout << "</table>\n";
|
||||
|
||||
n = 1;
|
||||
|
||||
std::cout << "<h2>Caches with least finds</h2>\n";
|
||||
std::cout << "<table class=\"list\">\n";
|
||||
std::cout << "<tr class=\"list_head\"><td></td>";
|
||||
std::cout << "<td>Cache</td>";
|
||||
std::cout << "<td>Type</td>";
|
||||
std::cout << "<td>Date hidden</td>";
|
||||
std::cout << "<td>Finds</td>";
|
||||
std::cout << "</tr>\n";
|
||||
|
||||
for (auto i = caches_by_finds.rbegin(); i != caches_by_finds.rend(); i++) {
|
||||
std::cout << "<tr><td class=\"list_head\">" << n << "</td> ";
|
||||
std::cout << "<td>" << "<a href=\"" << (*i)->link() << "\">" << (*i)->safe_name() << " (" << (*i)->code << ")</a>" << "</td>";
|
||||
std::cout << "<td>" << (*i)->type << "</td>";
|
||||
std::cout << "<td>" << (*i)->date_hidden << "</td>";
|
||||
std::cout << "<td>" << (*i)->founds << "</td>";
|
||||
std::cout << "</tr>\n";
|
||||
n++;
|
||||
if (n > LIST_MAX) break;
|
||||
}
|
||||
std::cout << "</table>\n";
|
||||
|
||||
short y_min = std::min_element(cc.begin(), cc.end(), [&](const Cache& a, const Cache& b) { return a.date_hidden_tm.tm_year < b.date_hidden_tm.tm_year; })->date_hidden_tm.tm_year;
|
||||
short y_max = std::max_element(cc.begin(), cc.end(), [&](const Cache& a, const Cache& b) { return a.date_hidden_tm.tm_year < b.date_hidden_tm.tm_year; })->date_hidden_tm.tm_year;
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue