[C++] Wczytywanie pliku i sprawdzanie czy dana linia jest parzysta.
Ostatnio zmodyfikowano 2014-03-23 11:39
LuqazPL Temat założony przez niniejszego użytkownika |
[C++] Wczytywanie pliku i sprawdzanie czy dana linia jest parzysta. » 2014-03-23 10:09:47 Witam! Napisałem program, który ma z pliku txt sczytywać kolejne linie i sprawdzać czy jest ona parzysta, lecz przy kompilacji wyskakuje błąd: mingw32-g++.exe -std=c++11 -g -c "C:\Users\Łukasz\Desktop\Program Napisy\napisy.cpp" -o "C:\Users\Łukasz\Desktop\Program Napisy\napisy.o" C:\Users\Łukasz\Desktop\Program Napisy\napisy.cpp: In function 'int main()': C:\Users\Łukasz\Desktop\Program Napisy\napisy.cpp:33:13: error: 'licznik' was not declared in this scope Process terminated with status 1 (0 minutes, 0 seconds) 1 errors, 0 warnings (0 minutes, 0 seconds)
#include <iostream> #include <fstream> #include <string>
using namespace std;
int main()
{ ifstream napisy; ofstream parzyste; napisy.open( "napisy.txt" ); parzyste.open( "parzyste.txt" ); if( napisy ) { string linia; int dlugosc; while( getline( napisy, linia ) ) { dlugosc = linia.size(); int licznik = 0; if( dlugosc % 2 == 0 ) licznik = licznik + 1; } } parzyste << licznik; napisy.close(); parzyste.close(); }
|
|
alixir |
» 2014-03-23 10:18:12 Przesuń deklarację int licznik = 0; na początek programu |
|
LuqazPL Temat założony przez niniejszego użytkownika |
» 2014-03-23 10:25:37 nadal występuje ten sam błąd, dodam że miejsce błędu zostaje wskazane przy 34 lini przy części parzyste << licznik; |
|
OczkoSX |
» 2014-03-23 11:12:42 Musi działać. Przenieś int licznik; zaraz po using namespace. |
|
LuqazPL Temat założony przez niniejszego użytkownika |
» 2014-03-23 11:22:55 Przeniosłem zaraz po using namespace std; i teraz ten sam błąd występuje przy dlugosc = linia.size(); |
|
OczkoSX |
» 2014-03-23 11:28:36 Skompilowałem to: #include <iostream> #include <fstream> #include <string>
using namespace std;
int licznik = 0;
int main()
{ ifstream napisy; ofstream parzyste; napisy.open( "napisy.txt" ); parzyste.open( "parzyste.txt" ); if( napisy ) { string linia; int dlugosc; while( getline( napisy, linia ) ) { dlugosc = linia.size(); if( dlugosc % 2 == 0 ) licznik = licznik + 1; } } parzyste << licznik; napisy.close(); parzyste.close(); } i działa... |
|
leon_w |
» 2014-03-23 11:29:27 Jak nic innego nie przestawiłeś to powinno działać. Wcześniej "licznik" był zadeklarowany w pętli i tylko w tej pętli był widoczny. Nie trzeba go deklarować poza funkcją, wystarczy poza pętlą. |
|
LuqazPL Temat założony przez niniejszego użytkownika |
» 2014-03-23 11:39:54 OK! Wielkie dzięki! |
|
« 1 » |