• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program, który z pliku wczyta tylko liczby

0 głosów
723 wizyt
pytanie zadane 29 stycznia 2017 w C i C++ przez Alex.Cooper Początkujący (280 p.)
Dobry Wieczór mam za zadanie napisać program, który otrzymuje plik w takiej formie:

# 6
screen 800 600
linia 10,10 100,10
linia 100,10 100,100
linia 100,100 10,100
linia 10,100 10,10

i miałby np. wyświetlić tylko liczby lub je później wykorzystać. Czy ktoś wie jak rozwiązać taki problem, byłabym wdzięczna za wskazówki.

Pozdrawiam

1 odpowiedź

0 głosów
odpowiedź 29 stycznia 2017 przez fenq80 Bywalec (2,940 p.)
Wczytuj po prostu kolejne elementy z pliku do zmiennej int/double  i jeśli wczytasz tekst zostanie ustawiony bit błędu dla obiektu którym wczytywales dane wiec sprawdzaj za pomocą if czy udało się odczytać czy nie jeśli tak to zapisujesz bo jest to liczba,  jeśli nie to zerujesz bity błędów i wczytujesz kolejna wartość.
komentarz 29 stycznia 2017 przez Alex.Cooper Początkujący (280 p.)

Nie wiem gdzie popełniam błąd, bo w ogóle mi się nie wyświetla: 

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

int main()
{
    ifstream t;
    t.open("C:/Users/Aleksandra/Documents/C++/zadanie/t.txt");
    char txt[100];
    while(t.good())
    {
        t.getline(txt,100);

        cout<<txt<<endl;
    }
    t.close();
    cout<<"**********************";
    t.open("C:/Users/Aleksandra/Documents/C++/zadanie/t.txt");
    double x;
    while(t.good())
    {
        t>>x;
        if(t.good()==false)
        {
            cout<<"";
        }
        else{
                cout<<x<<endl;
}    }
    t.close();
    return 0;
}

 

komentarz 29 stycznia 2017 przez fenq80 Bywalec (2,940 p.)
edycja 29 stycznia 2017 przez fenq80
W ostatnim ifie napisz if(t)  i tyle.  Spróbuj metoda good()  zwraca false m.in gdy nie uda się otworzyć pliku bo np go nie ma,  albo jest koniec pliku.  Natomiast obiektem którego używasz do odczytywania z pliku jest obiekt t typu ifstream i podczas niepowodzenia operacji wczytywania to jego bity błędu zostaną ustawione.

Podobne pytania

93,720 zapytań

142,648 odpowiedzi

323,266 komentarzy

63,270 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...