Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-16 22:15:12 Masz racje ;] poprostu pruboje wszystkiego co mi wpadnie do glowy :P ale teraz mniej wiecej wiem co zle robilem ;] int b zostalo skasowane a string wyglada tak "string zdanie[a];" no ale dalej zapisuje mi tylko jedno pierwsze zdanie :( petla wyglada tak for( int i = 0; i < a; i++ ) { cout << ""; getline( cin, zdanie[ i ] ); plik.write( & zdanie[ i ][ 0 ], zdanie[ i ].length() ); } i nie mam pojecia co jest w tym nietak ze zapisuje tylko peirwsze zdanie :( |
|
DejaVu |
» 2009-06-16 22:37:16 dopisz po cin>>a; następującą linijkę: cin.sync(); |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-17 15:03:28 Ehh nie wiem co jest nie tak :( poddaje sie :( siedze nad tym programem juz 3 dzien i nic nie wymyslilem :( bede wdzieczny jak ktos napisze jak to ma byc zrobione bo mnie trafi :( kurde w nocy nie moge spac rpzez niego i caly czas mysle nad nim :P oto kod ;] #include <fstream> #include <iostream> using namespace std; int main() { fstream plik( "plik.txt", ios::in ); if( plik.good() ) { cout << "Zawartosc pliku:" << endl; int dlugosc = 0; plik.seekg( 0, ios::end ); dlugosc = plik.tellg(); plik.seekg( 0, ios::beg ); char dane[ dlugosc ]; dane[ dlugosc ] = 0; plik.read( dane, dlugosc ); cout << dane << endl; plik.close(); plik.clear(); } int a; cout << "Ile chcesz wprowadzic zdan?? "; cin >> a; cin.sync(); string zdanie[ a ]; plik.open( "plik.txt", ios::out | ios::app ); if( plik.good() ) { for( int i = 0; i < a; i++ ) { cout << ""; getline( cin, zdanie[ i ] ); cout << endl; plik.write( & zdanie[ i ][ 0 ], zdanie[ i ].length() ); } plik.close(); } getchar(); return( 0 ); }
|
|
malan |
» 2009-06-17 15:37:01 Hmm..., ale gdzie jest problem? Skompilowałem go u siebie i działa- zapisuje wszystkie zdania. |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-17 18:25:22 No tak ale wpisze ze chce 2 zdania zapisac a zapisuje 3 oraz zapisuje je w pliku caly czas w jednej linijce a nie linijka pod linijka ;/ ja juz nie mam sily do tego programu :( |
|
pekfos |
» 2009-06-17 18:55:40 hmm, pomyśle nad nim i przerobie go zaraz //edit: sprawdź to: #include <iostream> #include <fstream> using namespace std;
int convert( string c ) { int value = 0; for( int a = 0; a < c.length(); a++ ) { if(( int ) c[ a ] >= 48 &&( int ) c[ a ] <= 57 ) value = value * 10 +( int )( c[ a ] ) - 48; } return value; }
int main() { fstream plik( "plik.txt", ios::in ); if( plik.good() ) { cout << "Zawartosc pliku:" << endl; int dlugosc = 0; plik.seekg( 0, ios::end ); dlugosc = plik.tellg(); plik.seekg( 0, ios::beg ); char dane[ dlugosc ]; dane[ dlugosc ] = 0; plik.read( dane, dlugosc ); cout << dane << endl; plik.close(); } plik.clear(); plik.open( "plik.txt", ios::out | ios::app ); string zdanie, bufor = ""; int ilosc; cout << "ile zdan chcesz wprowadzic?" << endl; getline( cin, zdanie ); ilosc = convert( zdanie ); cout << "no to wprowadzaj:)" << endl; for( int a = 0; a < ilosc; a++ ) { getline( cin, zdanie ); bufor +=( bufor == "" ? "": "\n" ) + zdanie; } plik << bufor; plik.close(); cout << "zapisano, milego dnia"; getchar(); return 0; }
działa? //edit: chyba wiem jaka to wada:) |
|
malan |
» 2009-06-17 19:41:35 Hmm... może zamień: //Edit: <<Tu_były_same_bzdury> xd ...oraz dodaj przed 'plik.write()': zdanie[ i ] += "\n"; Tutaj masz ten program w 'mojej wersji': #include <iostream> #include <fstream> #include <string> using namespace std; int main() { fstream Plik; string Dane; unsigned int Ilosc = 0; Plik.open( "plik.txt", ios::in ); if( Plik.good() ) { cout << "Zawartosc pliku:\n"; while( !Plik.eof() ) { getline( Plik, Dane ); cout << Dane << endl; } Plik.close(); Plik.clear(); } cout << "Podaj ilosc zdan jaka chcesz wprowadzic: "; cin >> Ilosc; fflush( stdin ); string Tablica[ Ilosc ]; Plik.open( "plik.txt", ios::out | ios::app ); if( Plik.good() ) { for( int i = 0; i < Ilosc; i++ ) { cout << "Podaj zdanie " << i + 1 << ": "; getline( cin, Tablica[ i ] ); Tablica[ i ] += "\n"; Plik.write( & Tablica[ i ][ 0 ], Tablica[ i ].length() ); } Plik.close(); } return 0; } ;) |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-19 11:55:27 Sorki ze tak dlugo nie pisalem tutaj (egzaminy;/) oba progray dzialaja ladnie ;] chociaz program pekfos ma mala wade ;] a mam jeszcze jedno pytanko zwiazane z programem malana co to znaczy ze ta funkcja "fflush(stdin);" czysci bufor?? czy chodzi o to ze nie bedzie smieci z bufora??
Jeszcze raz dzieki za pomoc z tym programem ;] |
|
1 2 « 3 » 4 |