Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program w c++ - zaczytywanie plików txt + wykres

Ostatnio zmodyfikowano 2017-02-04 10:30
Autor Wiadomość
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
P-156486
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.
P-156488
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.
P-156490
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ść.
P-156491
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.
P-156492
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.
P-156496
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 ?
P-156511
karambaHZP
» 2017-01-16 21:50:32
C/C++
std::string str;
while( std::getline( file, str, ':' ) ) {
    // tutaj wstaw od kontenera
}
Oczywiście musisz jeszcze dopisać wykrywanie końca linii.

@down: masz rację michal11. ;)
P-156512
« 1 » 2 3 4 5 6
  Strona 1 z 6 Następna strona