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

zadanie 35

Ostatnio zmodyfikowano 2014-08-13 15:55
Autor Wiadomość
snajperek130
Temat założony przez niniejszego użytkownika
zadanie 35
» 2014-08-09 00:12:53
Mam problem z wczytaniem co trzeciej liczby w pliku. Jesli jest cyfr np. 6[1,2,3,4,5,6]  to w tedy normalnie wypisuje mi 3,6, ale jak mam np 7 albo 8 cyfr to zawsze wypisuje mi dwa razy ostatnia liczbe. Powie ktos, dlaczego?
C/C++
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
using namespace std;

bool czyNapotkanoZnakNowegoWiersza( std::ifstream & plik )
{
    char cZnak;
    for(;; ) //nieskoñczona pêtla
    {
        plik.clear();
        cZnak = plik.peek(); //sprawdzamy jaki kolejny znak zostanie zwrócony przez operacjê odczytu
        if( plik.fail() || plik.bad() )
             return false; //wyst¹pi³ b³¹d odczytu danych
       
        if( !isspace( cZnak ) )
             return false; //pobrany znak nie jest bia³ym znakiem
       
        plik.get( cZnak ); //odczytujemy bia³y znak z pliku
        if( plik.fail() || plik.bad() )
             return false; //wyst¹pi³ b³¹d odczytu danych
       
        if( cZnak == '\n' )
             return true;
       
    } //for
}

int odczytaj( string zad )
{
    ifstream plik;
    char liczba;
    plik.open( zad.c_str() );
    if( !plik.good() )
    { return false; }
   
    ////////////////////////////////////////////////////
    cout << "No to jedziemy:" << endl;
    while( !plik.eof() )
    {
        plik.seekg( 2, ios::cur );
        plik >> liczba;
        cout << liczba << "  ";
       
        if( czyNapotkanoZnakNowegoWiersza( plik ) )
        { return true; }
       
       
    }
   
    return true;
}
int main()
{
    if( !odczytaj( "zadanie.txt" ) )
         cout << "Plik nie zostal otworzony, koniec!";
   
    return 0;
}
P-115232
pekfos
» 2014-08-12 11:08:55
Nie sprawdzasz, czy udało się wczytać liczbę.
P-115350
1aam2am1
» 2014-08-12 12:24:14
C/C++
plik >> liczba
Czyta do znaku następnej linii (tak mi się wydaje)

Edit. Do końca poprawnych znaków dla danego typu.
P-115351
pekfos
» 2014-08-12 12:39:01
C/C++
plik >> liczba
Czyta do znaku następnej linii (tak mi się wydaje)
Nie.
P-115352
Jacob99
» 2014-08-12 14:22:37
plik >> liczba
 Czyta do znaku następnej linii (tak mi się wydaje) Edit. Do końca poprawnych znaków dla danego typu.
Nie. Czyta do pierwszego białego znaku, lub błędu.
P-115354
1aam2am1
» 2014-08-12 14:29:40
Biały znak?
P-115356
Jacob99
» 2014-08-12 15:01:52
P-115359
pekfos
» 2014-08-12 15:01:56
Biały znak?
..
Frazy, które należy wpisać w wyszukiwarkę google:
P-115360
« 1 » 2
  Strona 1 z 2 Następna strona