C ++ - Файловый ввод-вывод, чтение одной строки текста с повторяющимися категориями данных систематическим способом - использование многомерных массивов? - PullRequest
0 голосов
/ 23 марта 2019

нам дали текстовый файл с строковая дата; струнный город; двойная температура; погодные условия; но файл .txt форматирует это в одну непрерывную строку для 4 разных экземпляров.

Я знаю, как читать данные из файла, если данные в файле .txt идут построчно, но этот файл, по сути, представляет собой длинную строку.

это то, что я сделал, чтобы просто попытаться прочитать данные файла и посмотреть, смогу ли я сделать это правильно.

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main ()
{
    ifstream input("weather.txt");
    string date;
    string cITY; //compare to input city string
    double temp;
    string wEATHER;//compare to input weather string
    while (!input.eof())//while not end of line
    {
        input>>date>>cITY>>temp>>wEATHER;
        if (input.eof()) break;
        cout<<date<<" "<<cITY<<" "<<temp<<" "<<wEATHER;
        input.close();
    }
    return 0;
}

но файл выглядит так

2/28/2019 Boston 27 Snow 2/28/2019 Miami 72 Sun 3/1/2019 London 62 Rain 
3/2/2019 Boston 34 Clouds

и я получил этот вывод

-bash-4.2$ g++ -std=c++11 readtest.cpp -o pr
-bash-4.2$ ./pr
2/28/2019 Boston 27 Snow-bash-4.2$

не должен ли работать! Input.eof (), хотя? потому что ввод >> дата >> город >> темп >> погода; определяет категории данных?

Кроме того, если я хочу рассчитать вероятность возникновения погодных условий, должен ли я хранить все данные о городе и погоде в многомерном массиве, а затем вычислять вероятности путем индексации по массивам? то есть. есть массив для каждого города.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...