r00t Temat założony przez niniejszego użytkownika |
Program w c++ - zaczytywanie plików txt + wykres » 2017-01-16 09:07:46 Witam, otrzymałem zadanie, by napisać program w c++, który będzie zaczytywał dane (jest ich sporo i są porozdzielane np. znakami interpunkcyjnymi czyt. :, ;, itp.) Po zaczytaniu ma je wrzucić to tablicy, a następnie ma go pokazać na wykresie. Dodatkową opcją, ma być funkcja : po najechaniu myszką na dany punkt wykresu ma pokazywać informację o danych.
Prosiłbym o pomoc w tej sprawie, w sensie jak się do tego zabrać i z czego najlepiej skorzystać.
Pozdrawiam r00t |
|
michal11 |
» 2017-01-16 11:16:38 Jedyny problem widzę tutaj z prezentacją i interaktywnością prezentowanych danych, ja bym to zrobił pewnie w SFML'u bo w tym ma największe doświadczenie ale podejrzewam, że Qt też się do tego dobrze nada. |
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-16 12:09:00 ja pomyślałem, że dane można zaprezentować za pomocą fucnkji lineTo. Będzie wtedy taki prosty wykres liniowy. Ale problem może być z zaczytaniem danych - mógłbym to zrobić po prostu za pomoca fopen, getline itp, ale chciałbym docelowo móc wybierać plik tekstowy w moim programie za pomocą eksploratora windows. |
|
michal11 |
» 2017-01-16 12:18:44 Musisz to pisać w c++? Wydaje mi się, że łatwiej by ci to było zrobić w c#.
Jeżeli chcesz mieć okienko wyboru pliku to pozostaje ci jakaś biblioteka okienkowa, Qt, wxWidgets, winapi itp. Plik i tak będziesz musiał wczytać ifstream'em bo takie okienko odczytu pliki zwraca ci tylko ścieżkę do pliku a nie jego zawartość. |
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-16 12:57:00 Tak, niestety w cpp. Okienko wyboru zrobię chyba w winapi, bedzie najprosciej, i będzie wrzucać po prostu sciezke do fstreamu. Potem pewnie jakaś pętla, co będzie po kolei zaczytywać linie do odpowiednich wierszy i kolumn w tabelii. |
|
RazzorFlame |
» 2017-01-16 16:48:06 Skoro danych jest sporo to nie wczytuj linia po linii tylko zrób jakiś większy bufor, znacznie przyspieszy to działanie. |
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-16 21:44:14 tak wyglada jedna przykladowa linia :
:2015:07:01:00:00:t1:32.25:t2:47.81:t3:85.00:t4:85.00:p:98:em:480:e1:3:e2:0:e3:481:e4:481::
I teraz chciałbym za pomocą pętli zaczytać te dane, ale za pomocą znaku " : " chciałbym każde odseparować i powrzucac do danej kolumny w tablicy dwuwymiarowej.
Miałem pomysł zrobić to regexem ale nie mam czasu bawić się z instalacją biblioteki.
Macie pomysł jak rozdzielić w pliku te dane ? Substr ? Vectorem ? a może jest jakiś dużo prostszy sposób ? |
|
karambaHZP |
» 2017-01-16 21:50:32 std::string str; while( std::getline( file, str, ':' ) ) { } Oczywiście musisz jeszcze dopisać wykrywanie końca linii. @down: masz rację michal11. ;) |
|
« 1 » 2 3 4 5 6 |