Witam,
Stworzyłem kod posiadający dwie struktury (Osobę i Samochód). Samochody i osoby są sczytywane z pliku w którym są te dane podane, oddzielone średnikami, a następnie te dane są wklejane do listy jednokierunkowej. Przy próbie wyświetlenia tej listy dane o samochodach wyświetlają się dobrze, ale zamiast danych o osobach (imie i nazwisko) mam wypis : "moje4.Program+Osoba" moje4 - nazwa mojego projektu
Program - klasa w której mam wszystko
Osoba - nazwa struktury osoby
Nie wiem nawet jak szukać informacji o tym błędzie, bo nie wyświetla się to jako błąd, kod się normalnie wykonuje i nie wiem w czym tkwi problem. Wiem na pewno że problem następuje gdzieś w okolicy gdy nowo utworzoną osobę próbuję zaimplementować w strukturze samochodu jako jeden z parametrów.
Proszę o jakieś wskazówki, albo o informację o tym dlaczego wypisuje się coś takiego. Poniżej kod całego programu, z podkreśleniem gdzie zaczyna się błąd (moim zdaniem).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace moje4
{
class Program
{
public struct Osoba
{
public string imie, nazwisko;
public Osoba(string imie, string nazwisko)
{
this.imie = imie;
this.nazwisko = nazwisko;
}
public string infoOsoba()
{
return imie + " " + nazwisko;
}
}
public struct Samochod
{
public string marka;
public string model;
public int rocznik;
Osoba wlasciciel;
public Samochod(string marka, string model, int rocznik, Osoba wlasciciel)
{
this.marka = marka;
this.model = model;
this.rocznik = rocznik;
this.wlasciciel = wlasciciel;
}
public string infoSamochod()
{
return marka + " " + model + " " + rocznik+" "+wlasciciel;
}
}
public class Lista
{
public class Element
{
public Element następny;
public Samochod Samochod;
}
public Element głowa;
public Element ogon;
public bool CzyPusta()
{
return głowa == null;
}
public void DodajElement(Samochod s)
{
Element e = new Element();
e.Samochod = s;
e.następny = głowa;
głowa = e;
if (ogon == null)
{
ogon = e;
}
}
public void Wyswietl()
{
if (CzyPusta())
{
Console.WriteLine("Lista pusta");
return;
}
Element e = głowa;
while(e!=null)
{
Console.WriteLine(e.Samochod.infoSamochod());
e = e.następny;
}
}
}
static void DodawanieDoListyZPliku(string plik, Lista Lista)
{
StreamReader sr = new StreamReader(plik);
while(!sr.EndOfStream)
{
string[] linijka = sr.ReadLine().Split(';');
** Osoba wlasciciel = new Osoba(linijka[3],linijka[4]);
Samochod s = new Samochod(linijka[0], linijka[1], Convert.ToInt32(linijka[2]), wlasciciel);**
Lista.DodajElement(s);
}
sr.Close();
}
static void Main(string[] args)
{
string plik = @"C:\Users\Adam\Desktop\dane.txt";
Lista Lista = new Lista();
DodawanieDoListyZPliku(plik, Lista);
Lista.Wyswietl();
Console.ReadKey();
}
}
}