Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Setprecision w pliku tekstowym

Ostatnio zmodyfikowano 2015-12-23 22:34
Autor Wiadomość
cichy3993
Temat założony przez niniejszego użytkownika
Setprecision w pliku tekstowym
» 2015-12-23 21:34:58
Witam,

Pisałem sobie ostatnio kalkulator i postanowiłem do niego dodać funkcję, która zapisuje ostatnio otrzymany wynik i wyświetla go,
problem tkwi w tym, że kalkulator ma też funkcję potęgowania, a jak to z potęgowaniem bywa, liczby czasami wychodzą horrendalnie duże...
Do pokazania całej liczby używam "cout << setprecision()", tylko że to działa wyłącznie w programie... program wyświetla całą liczbę, ale do pliku tekstowego trafia, np.: "8.74069e+024", a kiedy program pobiera zawartość pliku tekstowego to pokazuje tylko znaki przed kropką, w tym przypadku "8". Czy jest jakieś polecenie/funkcja, które/a powoduje spisanie całej liczby do notatnika, a nie tylko skróconego zapisu?
P-142284
carlosmay
» 2015-12-23 21:46:30
Robisz tak samo jak dla cout .
C/C++
int main()
{
    double d = 10 / 3.0;
    ofstream fout( "testowy.txt" );
    fout << setprecision( 4 ) << d << endl;
    fout.close();
   
    return 0;
}
 
P-142286
cichy3993
Temat założony przez niniejszego użytkownika
» 2015-12-23 22:04:53
C/C++
void zapis()
{
    cout << setprecision( 10000 );
    long double wynik;
    fstream plik;
    plik.open( "zapis.txt", ios::out );
   
    plik << wynik << endl;
   
    plik.clear();
    plik.close();
}

void wczyt()
{
    cout << setprecision( 10000 );
    long double wynik;
    fstream plik;
    plik.open( "zapis.txt", ios::in );
   
    if( plik.good() == false )
    {
        exit( 0 );
    }
    int nr_linii = 1;
    string linia;
    while( getline( plik, linia ) )
    {
        switch( nr_linii )
        {
        case 1: wynik = atoi( linia.c_str() ); break;
        }
        nr_linii++;
    }
    plik.close();
   
    cout << "Poprzedni wynik: " << wynik << endl;
    cout << endl;
}
Tak wyglądają funkcje wczytu i zapisu, nie bardzo rozumiem gdzie mam umieścić twój kod i jak go zmodyfikować.
P-142288
carlosmay
» 2015-12-23 22:34:44
Jak w przykładzie
plik << fixed << setprecision( 10 ) << wynik << endl;
 
Obsługa strumienia
P-142291
« 1 »
  Strona 1 z 1