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

Zapis do pliku wszystkich wyników z pętli

Ostatnio zmodyfikowano 2020-06-08 22:20
Autor Wiadomość
Steampunk0
Temat założony przez niniejszego użytkownika
Zapis do pliku wszystkich wyników z pętli
» 2020-06-08 17:09:44
Witam jestem totalnym laikiem i nie mam pojęcia jak poradzić sobie z tym problemem. Ten prosty program losuje 10 liczb pseudolosowych po czym ma zapisać je w pliku. Problem w tym, że zapisuje on jedynie ostatni wynik z pętli. Jak sprawić by zapisywał on wszystkie liczby?

C/C++
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
int a;
int liczby;
int main()


{
    a = 0;
    srand( time( NULL ) );
    while( a < 10 )
    {
        liczby = rand() % 30 + 1;
        cout << liczby << endl;
        a++;
    }
   
   
    fstream plik;
   
    plik.open( "plik.txt", ios::out );
   
    plik << liczby << endl; // <----problem
   
    plik.close();
   
    return 0;
}
P-177012
DejaVu
» 2020-06-08 17:11:53
Utwórz plik przed pętlą i w pętli zapisuj każdą wartość do pliku.
P-177013
Rashmistrz
» 2020-06-08 17:13:27
Wpisywanie do pliku zarzuć w pętli.
Zmienne przechowują jedną wartość,
czyli ostatnią do niej przypisaną.
P-177014
Steampunk0
Temat założony przez niniejszego użytkownika
» 2020-06-08 21:05:41
okej wpisywałem do pętli ale dalej nie mam pojęcia jak zapisać do pliku każdą wartość z osobna.

C/C++
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
int a;
int liczby;
int main()



{
   
    fstream plik;
   
    a = 0;
    srand( time( NULL ) );
    while( a < 10 )
    {
        liczby = rand() % 30 + 1;
        cout << liczby << endl;
       
        a++;
       
        plik.open( "plik.txt", ios::out );
        plik << liczby << endl;
        plik.close();
       
    }
   
   
   
    return 0;
}
P-177019
pekfos
» 2020-06-08 21:13:05
C/C++
plik.open( "plik.txt", ios::out );
plik.close();
Tych dwóch ma nie być w pętli, tylko odpowiednio przed pętlą i po.
P-177020
Steampunk0
Temat założony przez niniejszego użytkownika
» 2020-06-08 22:20:02
tak też próbowałem jednak i to nie podziałało, ani żadna inna kombinacja więc napisałem od nowa w zupełnie inny sposób i zadziałało:
C/C++
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()


{
   
    ofstream liczby( "plik.txt" );
    if( !liczby.is_open() )
    {
        cout << "error";
    }
   
    srand( time( NULL ) );
    for( int i = 1; i <= 10; i++ )
    {
        liczby << 1 + rand() %( 30 - 1 + 1 ) << endl;
    }
   
   
    return 0;
}

dziękuję za wszystkie odpowiedzi, temat zamykam
P-177021
« 1 »
  Strona 1 z 1