mirko2413 Temat założony przez niniejszego użytkownika |
Jak to poukładać? » 2009-04-05 02:03:26 Witam ponownie!mam teraz taki problem; czy do tego kodu na obliczanie pola: #include <cstdlib> #include <math.h> #include <iostream> #include <cstdio>
using namespace std;
double liczenie( double a, double h ) { double pol_pow; pol_pow = 0.5 * a + 0.5 * h; return pol_pow; } void wczytywanie() { int a, h; double wynik; cout << "Wprowadz dlugosc boku (a):"; cin >> a; cout << "Wprowadz wysokosc (h)"; cin >> h; wynik = liczenie( a, h ); cout << "Pole Powierzchni:" << wynik << "\n"; }
int main() { wczytywanie(); system( "pause" ); return 0; } mam wkleić ten ciąg który dostałem: #include <fstream>
fstream zapisz; zapisz.open( "nazwa_pliku.txt", ios::out );
zapisz << "tekst..." << liczba;
zapisz.close();
fstream odczyt; odczyt.open( "nazwa_pliku.txt", ios::in ); if( odczyt.good() ) { string wiersz; while( getline( odczyt, wiersz ) ) { cout << wiersz << endl; } odczyt.close(); }
czy też każda opcja zapisu,odczytu ma swoje dokładne miejsce aby to wszystko działało jak trzeba? |
|
DejaVu |
» 2009-04-05 02:12:54 Musisz pomyśleć jak to dodać do własnego programu. Dostałeś przykład jak prosto zapisać / odczytać dane z pliku. Przeczytaj lekcję http://kursy.ddt.pl/?LessonId=110 jeśli nie rozumiesz kodu, który otrzymałeś odnośnie obsługi plików. |
|
mirko2413 Temat założony przez niniejszego użytkownika |
:-/ » 2009-04-05 02:18:53 Okey, no dobra.Udało mi się wkleić dobrze opcję zapisu, tylko czemu otrzymałem coś takiego w pliku tekstowym???
Pole trojkata4.22507e+277 |
|
mirko2413 Temat założony przez niniejszego użytkownika |
» 2009-04-05 09:05:32 Po wielu mękach i cierpieniach poukładałem to wszystko w całość i wygląda to tak: #include <cstdlib> #include <math.h> #include <iostream> #include <cstdio> #include <fstream>
using namespace std;
double liczenie( double a, double h ) { double pol_pow; pol_pow = 0.5 * a + 0.5 * h; return pol_pow; } void wczytywanie() { int a, h; double liczba, wynik; cout << "Wprowadz dlugosc boku (a):"; cin >> a; cout << "Wprowadz wysokosc (h)"; cin >> h; wynik = liczenie( a, h ); cout << "Pole Powierzchni:" << wynik << "\n"; fstream zapisz; zapisz.open( "Pole_trojkata.txt", ios::out ); zapisz << "Pole trojkata" << liczba; zapisz.close(); fstream odczyt; odczyt.open( "Pole_trojkata.txt", ios::in ); if( odczyt.good() ) { string liczba; while( getline( odczyt, liczba ) ) { cout << wynik << endl; } odczyt.close(); } }
int main() { wczytywanie(); system( "pause" ); return 0; }
niby wszystko jest dobrze ale nie podoba mi się format odczytu z pliku który wygląda tak: Wprowadz dlugosc boku (a):2 Wprowadz wysokosc (h)3 Pole Powierzchni:2.5 2.5 Aby kontynuować, naciśnij dowolny klawisz...
Czemu jest tylko sama liczba 2.5 a nie ma jakiegoś opisu co to jest? Pomocy! |
|
lynx |
» 2009-04-05 11:28:08 Z bardzo prostego powodu tak się dzieje. Zapisujesz dane do pliku, odczytujesz lecz później wyświetlasz zmienną wynik która jest Ci już znana wcześniej. (czyli nie to co wczytałeś z pliku) Popraw to: while( getline( odczyt, liczba ) ) { cout << wynik << endl; }
na to: while( !odczyt.eof() ) { getline( odczyt, liczba ); cout << liczba << endl; }
Teraz powinno działać tak jak chcesz. :) |
|
mirko2413 Temat założony przez niniejszego użytkownika |
» 2009-04-05 18:34:40 Dzięki za info,zaraz tą opcję wypróbuję. Chcę tylko powiedzieć, że znalazłem inny sposób: fstream zapisz; zapisz.open( "Pole_trojkata.txt", ios::out );
zapisz << "Odczyt pliku tekstowego to: " << wynik;
zapisz.close();
fstream odczyt; odczyt.open( "Pole_trojkata.txt", ios::in ); if( odczyt.good() ) { string liczba; while( getline( odczyt, liczba ) ) { cout << liczba << endl;
Serdecznie pozdrawiam wszystkie osoby które ofiarowały mi pomoc, mam nadzieję iż w przyszłości również zostanę potraktowany "wyrozumiale" przez bardziej zaawansowanych forumowiczów ;-) |
|
« 1 » |