Zapis do pliku wszystkich wyników z pętli
Ostatnio zmodyfikowano 2020-06-08 22:20
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? #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; plik.close(); return 0; }
|
|
DejaVu |
» 2020-06-08 17:11:53 Utwórz plik przed pętlą i w pętli zapisuj każdą wartość do pliku. |
|
Rashmistrz |
» 2020-06-08 17:13:27 Wpisywanie do pliku zarzuć w pętli. Zmienne przechowują jedną wartość, czyli ostatnią do niej przypisaną. |
|
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. #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; }
|
|
pekfos |
» 2020-06-08 21:13:05 plik.open( "plik.txt", ios::out ); plik.close(); Tych dwóch ma nie być w pętli, tylko odpowiednio przed pętlą i po. |
|
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: #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 |
|
« 1 » |