Valaki segítene-e a következő kódban? láncolt lista c++
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 ;
}
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! ;)
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...
#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.
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.
"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?
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!