Почему когда я выписываю названия городов, выписывается лишь последнее записанное значение?
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <vector>
#include <fstream>
#include <string>
using namespace std;
struct pogoda {
string name;
double a;
double b;
double c;
double d;
double e;
double f;
double g;
double h;
double i;
double j;
double k;
double l;
};
int main()
{
vector<pogoda> records;
ifstream file("E:\\temperatury.txt");
pogoda tmp;
while (file >> tmp.name >> tmp.a >> tmp.b >> tmp.c >> tmp.d >> tmp.e >> tmp.f >> tmp.g >> tmp.h >> tmp.i >> tmp.j >> tmp.k >> tmp.l)
records.push_back(tmp);
if (file.bad()) {
cout << "I/O error\n";
return 1;
}
if (!file.eof()) {
cout << "Invalid data\n";
return 1;
}
cout << tmp.name << endl;
return 0;
}
Пример txt файла на всякий случай:
Gdansk -2.5 -2.4 0.9 5.4 10.3 14.5 16.2 15.6 12.1 7.9 3.1 -0.5
Gdynia -1.7 -2 0.9 5.2 10 14.5 16.8 16.4 12.8 8.3 3.7 0.5
Warszawa -3.5 -2.7 1.5 7.9 13.3 16.8 18.2 17.4 13.3 8.5 3.1 -1.1
NowyJork -0.6 0.5 4.9 10.6 16.5 21.5 24.5 23.8 19.5 13.5 7.9 2.2
Bangkok 25.3 25.3 25.6 25.9 25.8 25.3 24.8 25.2 26.1 26.6 26.3 25.6
Потому что вы выводите только его :)
while (file >> .....)
{
records.push_back(tmp);
cout << tmp.name << endl;
}
и будет вам счастье... :)
Замените строку с cout на
for (auto c : records) std::cout << c.name << std::endl;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как сделать сортировку вектора моего класса QVector <DbTrade>?
Пытаюсь прочитать длинный InputStream (с ~180к+ символов) Этим способом зависает в while:
Написал функции для создания и инициализации одномерного массива и матрицыКак в main вывести оба массива в консоль?
getSupposedNums(i,j) возвращает массив возможных вариантов для ячейки i,j, работает корректно