Kezdőoldal » Számítástechnika » Programozás » Az objektumhivatkozás nincs...

Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra [2016-os emelt szintű informatika érettségi] Hogyan oldjam meg?

Figyelt kérdés

Sziasztok. A 2016-os emelt infó érettségi programzás feladatával próbálkozok. Van egy txt fájl, amiben minden sorban egyetlen egy adat szerepel. Ez az adat lehet vagy termék vagy egy F betű. Ha F betű szerepel, akkor ez a vásárló már nem vesz mást, így más vásárló következik.

Struktúrával próbáltam megoldani a feladatot, de már az elején elakadtam. Úgy terveztem hogy lesz egy struktúrám és azon belül egy tömböm. És a struktúra tömbjébe fogom bepakolgatni a vásárolt. Így el lennének különítve a vásárlók és még a vásárolt termékeikre is tudnék hivatkozni.

Itt a programkód:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.IO;


namespace otszaz

{

class Program

{

struct kosar

{

public string[] termekek;

}

static void Main(string[] args)

{

kosar[] adatok = new kosar[1000];


StreamReader olvas = new StreamReader("penztar.txt");


string[] termekek = new string[20];

int i = 0;

int j = 0;


while (!olvas.EndOfStream)

{

string egysor = olvas.ReadLine();

if (egysor=="F")

{

i++;

j = 0;

;

}

else

{

adatok[i].termekek[j] = egysor;

j++;

}

}

Console.ReadKey();


}

}

}



A j++; sornál írja ki az "Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra." hibát.

Egyszerűen nem jövök rá mit rontottam el.

Tudnátok segíteni?



2019. máj. 9. 12:24
 1/7 A kérdező kommentje:
Azt elfelejtettem hogy C# nyelven programozok.
2019. máj. 9. 12:25
 2/7 anonim ***** válasza:
Most vissza nem követem ezt a behúzások nélküli ömlesztvényt (pastebin!), de valószínűleg túllépted azt az indexet valahol, ameddig a new utáni index ér, vagyis ott már nincs példányosítva a következő elem.
2019. máj. 9. 12:29
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

Valószínűleg nem, mert a feladatban külön kérték, hogy maximum ekkora legyen a tömb. De azért leteszteltem sokkal nagyobb tömbbel is, és úgysem működik.

Ha esetleg még visszanéznél, feltöltöttem Pastebin-re is: pastebin.com [PERJEL] D4QGuBFX

2019. máj. 9. 12:34
 4/7 anonim ***** válasza:

- Amennyit látni belőle, nekem az fura, hogy a struktúrában lévő termekek-nek és a "string[20]" ként létrehozott termekek-nek mi köze egymáshoz? Ez két külön tömb. Szerintem ez lesz a hiba, mert a struktúrában lévő termekek nincs definiálva.

- Praktikus lett volna i és j helyett valami beszédesebb indexeket használni.

- Az i indexelése 1-től indul. (i++ után használod fel.)

...

2019. máj. 9. 14:31
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:

Kedves utolsó válaszoló!

Valóban az volt a hiba, hogy a struktúrában és a főprogramban lévő tömböm nem ugyanaz volt.

Köszönöm szépen a segítséget.

További szép napot!

2019. máj. 9. 15:21
 6/7 anonim ***** válasza:
new kosar[...] != new kosar()
2019. máj. 9. 15:28
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
#6: ez igaz, de nincs sok köze a problémához, mivel az amúgyis érték típus.
2019. máj. 9. 16:23
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!