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

[c++] Lista obiektów

Ostatnio zmodyfikowano 2013-11-19 21:09
Autor Wiadomość
ice25
Temat założony przez niniejszego użytkownika
[c++] Lista obiektów
» 2013-11-16 16:56:29
Witam
Mam niewielki problemik mianowicie mam do napisania program który ma stworzyć listę obiektów (każdy obiekt zawiera imie i nr osoby). Przy kompilacji nie wykrywa błędów niestety gdy chcę zakończyć dodawanie to Visual Studio wywala mi "break", tak jakby moja ostatnia pętla nie działała poprawnie. Czy ma ktoś pomysł co zrobiłem źle  ?
Pozdrawiam
C/C++
#include "stdafx.h"


#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

class osoba {
public:
    int numer;
    string imie;
   
    osoba() {
        imie = "";
        numer = 0;
    }
   
    osoba( string x, int y ) {
        imie = x;
        numer = y;
    }
};


typedef struct lista {
    osoba key;
    struct lista * next, * prev; } listaD;


void wstaw( listaD ** head, osoba x ) {
    listaD * nowy = new listaD;
    nowy->key = x;
    nowy->next =* head;
    nowy->prev = NULL;
    if( * head )( * head )->prev = nowy;
   
    * head = nowy;
}

void show( listaD * head ) {
    osoba ktos;
   
    while( head ) {
        ktos = head->key;
       
        cout << ktos.imie << " " << ktos.numer << endl;
        if( head->next )
             head = head->next;
       
    }
}


int main( void ) {
    listaD * head = new listaD;
    char pyt = 'n';
    int y;
    string x;
    osoba ktos;
   
    do {
        cout << "Podaj imie: ";
        cin >> x;
        cout << "\nPodaj numer: ";
        cin >> y;
        cout << endl;
        ktos = osoba( x, y );
        wstaw( & head, ktos );
       
        cout << "Czy chcesz dodac kolejna osobe? t/n ";
        cin >> pyt;
        cout << endl;
    } while( pyt == 't' );
   
    show( head );
   
    getchar();
    getchar();
    return 0;
}
P-96345
DejaVu
» 2013-11-19 21:09:55
Strzelam, że w Twoim przypadku chodzi o to, że nie ustawiłeś żadnemu wskaźnikowi wartości NULL czy tam nullptr i tym samym próbujesz czytać dane pod jakimś nieistniejącym adresem pamięci. W każdym razie my raczej tu nie jesteśmy chętni do debugowania za kogoś kodu :P
P-96722
« 1 »
  Strona 1 z 1