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

[C++] Lista - branie z pliku(bez biblioteki)

Ostatnio zmodyfikowano 2016-12-14 17:08
Autor Wiadomość
dakruzz
Temat założony przez niniejszego użytkownika
[C++] Lista - branie z pliku(bez biblioteki)
» 2016-12-14 16:35:26
Mógłby ktoś lekko zmodyfikować ten kod, żeby dodał do listy studenta pliku wejściowego i wyświetlił listę?
m.in w strukturze student, string zamienił na char.
Proszę :)


C/C++
#include <iostream>
#include <string>
#include <fstream>


using namespace std;

ifstream wejscie( "dane.txt" );

struct student {
    string nazwisko;
    string imie;
    double srednia;
    int nr_indeksu;
    student * nastepny; // wskaznik na nastepny element
    student * ostatni;
    student(); // konstruktor
};

student::student() {
    nastepny = 0; // konstruktor
    ostatni = 0;
}

struct lista {
    student * pierwszy; // wskaznik na poczatek listy
    void dodaj_studenta( string nazwisko, string imie, double srednia, int nr_indeksu );
    void usun_studenta( int nr );
    void wyswietl_liste();
    lista();
};

lista::lista() {
    pierwszy = 0; // konstruktor
}

void lista::dodaj_studenta( string nazwisko, string imie, double srednia, int nr_indeksu )
{
    student * nowy = new student; // tworzy nowy element listy
   
    // wypelniamy naszymi danymi
    nowy->nazwisko = nazwisko;
    nowy->imie = imie;
    nowy->srednia = srednia;
    nowy->nr_indeksu = nr_indeksu;
   
    if( pierwszy == 0 ) // sprawdzamy czy to pierwszy element listy
    {
        // jezeli tak to nowy element jest teraz poczatkiem listy
        pierwszy = nowy;
    }
   
    else
    {
        // w przeciwnym wypadku wêdrujemy na koniec listy
        student * temp = pierwszy;
       
        while( temp->nastepny )
        {
            // znajdujemy wskaŸnik na ostatni element
            temp = temp->nastepny;
        }
       
        temp->nastepny = nowy; // ostatni element wskazuje na nasz nowy
        nowy->nastepny = 0; // ostatni nie wskazuje na nic
    }
}



int main()
{
    lista * baza = new lista; //tworzymy liste
   
    //dodajemy rekordy do bazy
    baza->dodaj_studenta( "maciej", "pierwszy", 3.45, 23 );
   
   
    // wyswietlamy 1 osobê - macieja
    cout << baza->pierwszy->nazwisko << endl;
    cout << baza->pierwszy->imie << endl;
    cout << baza->pierwszy->srednia << endl;
    cout << baza->pierwszy->nr_indeksu << endl;
   
   
   
    return 0;
}
P-154913
mokrowski
» 2016-12-14 17:02:16
Zbiór "ktoś" zawiera również Ciebie? :-)
Wiem że do innych jest interfejs "proszę" :-)
P-154917
dakruzz
Temat założony przez niniejszego użytkownika
» 2016-12-14 17:08:08
na początku zawierał tylko mnie, więc nie prosiłem, ale jakoś nie daje sobie rady, więc... proszę o pomoc

P-154919
« 1 »
  Strona 1 z 1