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

[c++] Wczytanie danych

Ostatnio zmodyfikowano 2014-07-07 19:40
Autor Wiadomość
grzeso
Temat założony przez niniejszego użytkownika
» 2014-07-05 22:41:43
Dzięki za pomoc, ale nie do końca twoje rozwiązanie jest ok bo to ogranicza ilość danych do 50

rozwiązałem to tak:
C/C++
string linia;
std::fstream plik2( "AAApkt.txt", ios::out );
ifstream plik( "dane.txt" );
int i = 0;
while( i !=- 1 )
{
    plik >> n[ i ] >> comma >> x[ i ] >> comma >> y[ i ];
   
    if( plik.fail() )
    { cout << "KONIEC PLIKU LUB BLAD" << endl;
        break; }
   
    cout << n[ i ] << "  " << x[ i ] << "  " << y[ i ] << endl;
    plik2 << n[ i ] << comma << x[ i ] << comma << y[ i ] << endl;
    ++i;
}
plik2.close();
plik.close();

ponieważ i zaczyna się od 0 i leci w górę to nigdy nie będzie -1
P-113351
pekfos
» 2014-07-05 22:46:53
ponieważ i zaczyna się od 0 i leci w górę to nigdy nie będzie -1
Jak chcesz pętli nieskończonej, to nie wymyślaj na siłę warunków, które może zawsze są prawdziwe.
P-113353
Monika90
» 2014-07-05 22:47:22
ogranicza ilość danych do 50
Twoje tablice mają jakiś rozmiar, wpisz ten rozmiar zamiast 50, bo inaczej jest ryzyko wyjścia poza zakres tablic.
P-113354
grzeso
Temat założony przez niniejszego użytkownika
» 2014-07-05 22:53:24
monika90 co do tablic to ja wiem, wcześniej to tylko taki przykład był z tym 50 (docelowo rozmiar tablicy będzie się zmieniał w zależności od ilości danych)

pekfos nie wiem czy chodzi mi o pętle nieskończoną , ale każde przedyskutowane i zaproponowane rozwiązanie nie do końca odpowiada temu czego oczekuje od programu i przez to szukam jak mogę zrobić żeby pętla się kręciła i nie dodała na końcu niczego i przy okazji nie ucięła niczego. Szukając rozwiązania mojego problemu wyszło ze trzeba stworzyć pętle która kręci się bez końca i dać warunek na zakończenie wewnątrz

P-113355
pekfos
» 2014-07-05 23:12:52
nie wiem czy chodzi mi o pętle nieskończoną [..] wyszło ze trzeba stworzyć pętle która kręci się bez końca
Jak bez końca, to chyba nieskończona, nie..?
C/C++
while( 666 ) { }
C/C++
for(;; ) { }
Nie prościej tak? Czy koniecznie gdzieś musisz upchnąć jakieś sprawdzenie zmiennej..?

(docelowo rozmiar tablicy będzie się zmieniał w zależności od ilości danych)
struct Dane
{
    double n, x, y;
};

std::vector<Dane> dane;

i dodajesz elementy do wektora za pomocą push_back
P-113358
grzeso
Temat założony przez niniejszego użytkownika
» 2014-07-06 00:08:54
Nie muszę upychać, ale jakiś warunek musi być i wpadłem na pomysł ze taki, twoje są tak samo dobre.

a co do wektorów to nie mam o nich za dużego pojęcia więc nie używam, ale poczytam, popatrzę
P-113361
pekfos
» 2014-07-06 14:16:23
twoje są tak samo dobre.
Są lepsze. Nie ma niepotrzebnego porównania i tworzą prawdziwą pętle nieskończoną. W tym przypadku nie ma to większego znaczenia, ale jeśli tak byś zrobił pętlę główną np gry, to po dłuższym czasie działania dziwiłbyś się, dlaczego pętla nieskończona się nagle skończyła..
P-113385
michal11
» 2014-07-07 15:23:24
Trochę nie rozumiem twojej logiki. Po co robić pętlę nieskończoną skoro dane kiedyś się skończą ? Powinieneś wczytywać dane dopóki można coś wczytać i już.
P-113423
1 2 3 « 4 » 5
Poprzednia strona Strona 4 z 5 Następna strona