Obsługa plików .
Ostatnio zmodyfikowano 2011-01-03 11:43
Tymek Temat założony przez niniejszego użytkownika |
Obsługa plików . » 2011-01-02 23:44:23 #include <iostream> #include <fstream> #include <string> using namespace std; int szukaj( char * w, char * t ) { int i = 0, j = 0, M = strlen( w ), N = strlen( t ); int temp, licz2 = 0, licz3 = 0, licz4 = 0; while( j < M && i < N ) { if( t[ i ] != w[ j ] ) { i -= j - 1; j =- 1; } i++; j++; } if( j == M ) { if( temp < 100 ) ++licz2; else if( temp < 100 ) ++licz3; else ++licz4; } else return 0 ; }
int main() { char a[ 100 ], b[ 100 ]; fstream plik( "plik.txt", ios::in | ios::out | ios::trunc ); cout << "Podaj tekst:" << endl; cin.getline( a, 100, '\n' ); plik << a; plik.close(); cout << szukaj( a, b ) << endl; getchar(); getchar(); }
Napisz program, który zapisze do pliku tekst wpisany z klawiatury. Następnie bezpośrednio operując na pliku policzy ile jest w tekście liczb 2, 3 i 4 cyfrowych i wypisze ich ilość na ekran. Nie używamy tablic Wyskrobałem coś takiego , lecz nie działa mi to prawidłowo , czy może ktoś pomóc ??;\ |
|
BlackDante |
» 2011-01-03 00:03:08 co w tym programie robi zmienna char *b ? ;F bo ani jej nie nullujesz ani nie uzupełniasz a i tak dodajesz do funkcji... ;) z tego co pamiętam to w takiej sytuacji w zmiennej znajdują się śmieci ;) |
|
DejaVu |
» 2011-01-03 01:16:58 O ile zrozumiałem ideę prowadzącego to nie masz wczytywać danych jako tekst tylko wczytywać liczby. Twój program wywali się jak tekst będzie dłuższy niż 100 znaków w wierszu. |
|
ison |
» 2011-01-03 11:43:01 nie można używać tablic - a można użyć std::string czy też jest uznawany za tablicę? czy masz gwarancję, że w pliku znajdą się same liczby? Ty użyłeś tablic |
|
« 1 » |