Kezdőoldal » Számítástechnika » Programozás » Valaki segítene-e a következő...

Valaki segítene-e a következő kódban? láncolt lista c++

Figyelt kérdés

A következő a probléma:

Prágramozás házi feladatbol elakadtunk a listáknál. Adott a következő feladat:

Van egy "adatbázis" txt file, amiben könyvek adatainak felsorolása található(Szerző neve, Cím, Kiadó, Kiadás éve,

Ár, Oldalak száma....)

A feladat pedig ugy szól, hogy ki kell íratni egy adott évben kiadott műveket. A kiíratást rendezni a szerző neve és a mű ára szerint.


Az eddig megírt kód a következő:


#include <iostream>

#include <fstream>

#include <windows.h>

#include <cstdlib>

#include <iomanip>

using namespace std;

void swaap();

struct konyv

{

string Szerzo_Neve;

string Cim;

string Kiado;

int Kiadasi_Ev;

int Ar;

int ISBN_Szam;

string Nyelv;

int Oldalak_Szama;

int Darabszam_Raktaron;

string Mufaj;

string Borito_Fajtaja;

konyv *next = NULL;

konyv *elozo = NULL;

}*start=NULL, *kov ,*jelenlegi,*New ;


int main()

{


string adat ;

ifstream open("Data.txt");

while(!open.eof())

{ New = new struct konyv;

getline(open,adat);

New->Szerzo_Neve = adat;

getline(open,adat);

New->Cim = adat;

getline(open,adat);

New->Kiado = adat;

getline(open,adat);

New->Kiadasi_Ev = atoi(adat.c_str());

getline(open,adat);

New->Ar = atoi(adat.c_str());

getline(open,adat);

New->ISBN_Szam = atoi(adat.c_str());

getline(open,adat);

New->Nyelv = adat ;

getline(open,adat);

New->Oldalak_Szama = atoi(adat.c_str());

getline(open,adat);

New->Darabszam_Raktaron = atoi(adat.c_str());

getline(open,adat);

New->Mufaj = adat;

getline(open,adat);


if (start == NULL)

start = jelenlegi = New;

else

{

New->elozo = jelenlegi;

jelenlegi->next = New ;

New = jelenlegi ;

}


}

open.close();

jelenlegi = start ;

while(jelenlegi != NULL)

{

cout << setw(20) << jelenlegi->Szerzo_Neve ;

cout << setw(10) << jelenlegi->Ar;

cout << setw(10) << jelenlegi->Kiadasi_Ev << endl;

jelenlegi = jelenlegi->next ;

}

system("pause");


jelenlegi = start ;

kov = jelenlegi-> next ;

while (jelenlegi->next != NULL)

{

while (jelenlegi != NULL)

{

if(jelenlegi->next->Szerzo_Neve > kov->Szerzo_Neve )

swaap();

else if (jelenlegi->Szerzo_Neve < kov->Szerzo_Neve)

kov = kov->next ;

else

{

if (jelenlegi->Ar > kov->Ar)

swaap();

else if (jelenlegi->Ar < kov->Ar)

kov = kov->next;

}

}

jelenlegi = jelenlegi->next;

kov = jelenlegi->next;


}



jelenlegi = start ;

while(jelenlegi != NULL)

{

cout << setw(20) << jelenlegi->Szerzo_Neve ;

cout << setw(10) << jelenlegi->Ar;

cout << setw(10) << jelenlegi->Kiadasi_Ev << endl;

jelenlegi = jelenlegi->next ;

}

}

void swaap()

{

jelenlegi->next = kov->next ;

kov->next = jelenlegi;

kov = jelenlegi ;

}



2017. máj. 25. 18:00
 1/10 anonim ***** válasza:
54%
Oszt mi a kérdés?
2017. máj. 25. 18:23
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
Hogy miért nem működik?
2017. máj. 25. 18:32
 3/10 anonim ***** válasza:
54%
hmm, ha New = jelenlegi helyett mondjuk jelenlegi = New lenne?
2017. máj. 25. 19:28
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:
0%
Mert rosszul van megírva, LoL.
2017. máj. 25. 20:55
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:

A kedves utolsó kommentelőhöz szólok!

Drága barátom. Ha jól lenne megirva, talán nem kértem volna segítséget(gondolom, logikus). Neked pedig ha ilyen nagy arcocskád van, akkor bár az intelligenciáddal viríts, ne pedig a beszólásokkal, ismeretlenül. Ha esetleg valami okos ötleted van, akkor hát azt írjad, ne itt élveszkedj, az "okos" beszólásaiddal.

Üdv, és további szép estét! ;)

2017. máj. 25. 22:50
 6/10 anonim ***** válasza:
54%

Fú de elegem van az ilyen hozzád hasonló okostojás patkányokból...

Behányod ide a kódot totál formázatlanul, igénytelenül, teleszórva okádék magyar változónevekkel, bármiféle hibaleírás nélkül, mi szopjuk ki az ujjunkból, hogy mi a hányás a probléma vele nem?

Hát az a probléma, hogy egy hányadék az egész, és leírni is kár volt.

Rajtad meg segítsen akinek két anyja van...

2017. máj. 26. 08:22
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:

#6-nak teljesen igaza van.

Annyit igazán leírhattál volna, hogy lefordul-e, vagy futásidejű hibád van, azon belül is milyen?

a kódot meg ilyen formában biztosan nem nézem át. rendesen indentálva írd le az a minimum.

2017. máj. 26. 09:58
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

De tényleg ilyen nehéz feltenni egy kérdést?

"ez pedig az a kód, ami lefut, de viszont nem úgy, ahogy kéne". Na akkor mégegyszer: mi a hibajelenség? milyen outputot ad az elvárt inputra? Mert a "nem úgy működik, ahogy kéne", azzal nem megyünk sokra.

2017. máj. 26. 14:52
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:

"milyen outputot ad az elvárt inputra?" Na ezt viszont én írtam elég kacifántosan.

Tehát egy adott inputra mi a várt output, és ennek ellenére mi a hibás output amit a programod ad?

2017. máj. 26. 14:56
Hasznos számodra ez a válasz?
 10/10 sharkxxx ***** válasza:
2017. máj. 26. 20:07
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!