DirtZ Opublikowano 24 Marca 2006 Zgłoś Opublikowano 24 Marca 2006 Witam! Mam drobny problem, moje programy odmawiają posłuszeństwa :P Chodzi mi o zrzucanie wartości zmiennych do plików tekstowych. Zawsze po wykonaniu operacji przez program do pliku trafia ta sama wartość, nie zaleznie od parametrów na jakich były przeprowadzane operacje. Jako przykład moge podać taki oto kod: #include <cstdlib>#include <iostream>#include <cmath>#include <fstream>using namespace std;int main(int argc, char *argv[]){ int x,pierwiastek; ofstream outputfile ("wynik.txt"); outputfile << pierwiastek; outputfile.close(); cout << "Podaj liczbe ktora chcesz spierwiastkowac: "; cout << "\n"; cin >> x; if (x>0) cout << ""; else cout << "Pierwiastek kwadratowy z liczby ujemnej nie istnieje!"; cout << "\n"; pierwiastek = sqrt(x); cout << "Pierwiastkiem podanej liczby jest: " << pierwiastek << endl; system("PAUSE"); return EXIT_SUCCESS;}Do pliku wynik.txt zawsze trafia wartość: 210960 nie ważne czy licze pierwiastek z 4 czy 100 czy 169. Po zmianie rodzaju zmiennej na float nic nie zyskuje, bo zawsze program w pliku zostawia glupia wartosc, mianowicie:2.95618e-040. Ma ktoś jakis pomysł? :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
arx Opublikowano 24 Marca 2006 Zgłoś Opublikowano 24 Marca 2006 W momencie zapisu pierwiastka do plik zmienna pierwiastek jest niezainicjowana i to dlatego zapisują ci się jakieś smieci. Zapisuj do pliku dopiero jak pierwiastek ma jakąś określoną wartośc czyli po linii: pierwiastek = sqrt(x); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
DirtZ Opublikowano 24 Marca 2006 Zgłoś Opublikowano 24 Marca 2006 No tak! Ale debil jestem ^^'' jaki błąd.....o ja ale mi wstyd ;/ Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Nargil Opublikowano 25 Marca 2006 Zgłoś Opublikowano 25 Marca 2006 choc cout << "Podaj liczbe ktora chcesz spierwiastkowac: ";cout << "\n"; dziala, to standard iso nakazuje cout << "Podaj liczbe ktora chcesz spierwiastkowac: " << endl;\n to bardziej c niz c++ Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...