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

Zapisanie do pliku

Ostatnio zmodyfikowano 2015-01-11 19:32
Autor Wiadomość
FranekDolas
Temat założony przez niniejszego użytkownika
Zapisanie do pliku
» 2015-01-11 16:31:25
Cześć. Mam prosty program w którym użytkownik podaj liczbe osób wprowadza ich dane i zapisuje do pliku ale gdy wybiore wprowadzenie 2 osób to do pliku zapisuje mi sie tylko ta ostatnia. Oto kod

C/C++
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    int a;
    string imie, nazwisko, brutto;
   
    cout << "Podaj liczbe osob:" << endl;
   
    cin >> a;
   
    for( int i = 0; i < a; i++ )
    {
        cout << "Podaj imie: " << endl;
        cin >> imie;
        cout << "Podaj nazwisko: " << endl;
        cin >> nazwisko;
        cout << "Podaj brutto: " << endl;
        cin >> brutto;
        cout << endl;
       
        ofstream NowyPlik;
        NowyPlik.open( "C:\\plik.txt" );
        NowyPlik << "Imie: " << imie << endl;
        NowyPlik << "Nazwisko: " << nazwisko << endl;
        NowyPlik << "Brutto: " << brutto << endl;
        NowyPlik.close();
    }
}
P-124660
stryku
» 2015-01-11 16:39:27
C/C++
ofstream NowyPlik;
NowyPlik.open( "C:\\plik.txt" );
takie coś wywoływane z każdym obiegiem pętli nadpisuje plik o tej nazwie, więc na koniec programu będziesz miał zawsze tylko ostatnią osobę.

Otwórz ten plik przed pętlą for
P-124661
FranekDolas
Temat założony przez niniejszego użytkownika
» 2015-01-11 19:17:54
Chodzi o coś takiego? Nawet jeśli to to zapisuje pierwszą wprowadzoną osobę a drugiej nie.

C/C++
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    int a;
    string imie, nazwisko, brutto;
   
    cout << "Podaj liczbe osob:" << endl;
   
    cin >> a;
   
    ofstream NowyPlik;
    NowyPlik.open( "C:\\plik.txt" );
   
    for( int i = 0; i < a; i++ )
    {
        cout << "Podaj imie: " << endl;
        cin >> imie;
        cout << "Podaj nazwisko: " << endl;
        cin >> nazwisko;
        cout << "Podaj brutto: " << endl;
        cin >> brutto;
        cout << endl;
       
       
        NowyPlik << "Imie: " << imie << endl;
        NowyPlik << "Nazwisko: " << nazwisko << endl;
        NowyPlik << "Brutto: " << brutto << endl;
        NowyPlik.close();
       
    }
P-124676
stryku
» 2015-01-11 19:25:52
no bo masz jeszcze
NowyPlik.close()
 w pętli, więc co pętlę zamykasz plik i nie da rady już nic do niego wpisać.

Przenieś to z kolei za pętlę.
P-124679
FranekDolas
Temat założony przez niniejszego użytkownika
» 2015-01-11 19:32:38
Dzięki już wszystko działa jak należy :)
P-124681
« 1 »
  Strona 1 z 1