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

Przekierowanie wpisywanych danych do pliku

Ostatnio zmodyfikowano 2014-01-04 00:44
Autor Wiadomość
ergo
Temat założony przez niniejszego użytkownika
Przekierowanie wpisywanych danych do pliku
» 2014-01-03 14:53:00
Witam,
stworzyłem strukturę w, której jest do podania imię, nazwisko, data urodzenia, PESEL i chciałbym żeby mi to zapisywało do pliku by później inna funkcja mogła to odczytać z tego pliku.
Funkcja w której wpisuje dane:
C/C++
void DodajOsobe()
{
   
    cout << "Podaj nazwisko : ";
    dane1.open( "dante.txt", ios::in | ios::out );
    if( dane1.good() )
    {
       
        dane1 << Lista[ ile ].Nazwisko;
        dane1.close();
       
    } else cout << "Błąd pliku" << endl;
   
    cout << endl << "Podaj imie : ";
    dane1.open( "dante.txt", ios::in | ios::out );
    if( dane1.good() )
    {
        dane1 << Lista[ ile ].Imie;
    } else cout << "Błąd pliku" << endl;
   
    cout << endl << "Podaj rok urodzenia : ";
    dane1.open( "dante.txt", ios::in | ios::out );
    if( dane1.good() )
    {
        while( !( dane1 << Lista[ ile ].RokUrodzenia ) )
        {
            cout << "Podaj liczbe" << endl;
            cin.clear();
            cin.sync();
        }
        ile++;
    } else cout << "Błąd pliku" << endl;
   
    cout << endl << "Podaj PESEL : ";
    dane1.open( "dante.txt", ios::in | ios::out );
    if( dane1.good() )
    {
        while( !( dane1 << Lista[ ile ].PESEL ) )
        {
            cout << "Podaj liczbe" << endl;
            cin.clear();
            cin.sync();
        }
    } else cout << "Błąd pliku" << endl;
   
    ile++;
   
}
P-101028
pekfos
» 2014-01-03 15:09:57
W czym problem?
P-101031
ergo
Temat założony przez niniejszego użytkownika
» 2014-01-03 15:24:13
Problem jest w tym, że po wybraniu z menu dodanie osoby nic się nie dzieje. Nie wyświetla mi komunikatów z cout żeby dodać osobę itp.
Może żeby rozjaśnić daje cały kod.
C/C++
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <fstream>
using namespace std;

ofstream dane1( "dane1.txt", ios::out );

struct Osoba
{
    string Nazwisko;
    string Imie;
    int RokUrodzenia;
    long long int PESEL;
    long long int NRKB;
};

int ile = 0;
Osoba Lista[ 20 ];

int PokazMenu()
{
   
    int wyb;
    system( "cls" );
    cout << "                  MENU                    " << endl << endl;
    cout << "1. Dodaj osobe do listy" << endl;
    cout << "2. Wyswietl liste" << endl;
    cout << "3. Zakoncz prace" << endl << endl;
    cout << "Wczytaj odpowiednia liczbe " << endl;
    cin >> wyb;
    return wyb;
}

void PokazListe()
{
    cout << "                Lista osob" << endl;
    for( int i = 0; i < ile; i++ )
    {
       
        cout << dane1;
    }
    getch();
}

void DodajOsobe()
{
   
    cout << "Podaj nazwisko : ";
    dane1.open( "dante.txt", ios::in | ios::out );
    if( dane1.good() )
    {
       
        dane1 << Lista[ ile ].Nazwisko;
        dane1.close();
       
    } else cout << "Błąd pliku" << endl;
   
    cout << endl << "Podaj imie : ";
    dane1.open( "dante.txt", ios::in | ios::out );
    if( dane1.good() )
    {
        dane1 << Lista[ ile ].Imie;
    } else cout << "Błąd pliku" << endl;
   
    cout << endl << "Podaj rok urodzenia : ";
    dane1.open( "dante.txt", ios::in | ios::out );
    if( dane1.good() )
    {
        while( !( dane1 << Lista[ ile ].RokUrodzenia ) )
        {
            cout << "Podaj liczbe" << endl;
            cin.clear();
            cin.sync();
        }
        ile++;
    } else cout << "Błąd pliku" << endl;
   
    cout << endl << "Podaj PESEL : ";
    dane1.open( "dante.txt", ios::in | ios::out );
    if( dane1.good() )
    {
        while( !( dane1 << Lista[ ile ].PESEL ) )
        {
            cout << "Podaj liczbe" << endl;
            cin.clear();
            cin.sync();
        }
    } else cout << "Błąd pliku" << endl;
   
    ile++;
   
}
int main()
{
    fstream dane( "dane.txt", ios::out );
    int wybor = PokazMenu();
   
    while( wybor != 3 )
    {
        switch( wybor )
        {
           
        case 1: DodajOsobe();
            break;
        case 2: PokazListe();
            break;
        }
        wybor = PokazMenu();
    }
   
   
    getch();
    return 0;
}
P-101035
Kefirek
» 2014-01-04 00:44:29
dodaj  po cout << "Podaj nazwisko: "; cin >> Lista[ile].Nazwisko; itd;
P-101082
« 1 »
  Strona 1 z 1