Wieso geht das nicht
-
if (n[j].autor<n[z].autor)
hast du schon überlegt, was genau du hier vergleichst?
-
Dachte das bedeutet folgendes:
Wenn n[j].autor alphabetisch nach n[j+1].autor kommt.
Stimmt das nicht?
Aber wenn ich das ">" schreibe gehts auch nicht richtig...
-
du vergleichst 2 variablen des typs const char*, also 2 adressen.
mach dich mal über strcmp(...) schlau!
-
Ja du hast recht ist mir jetzt auch aufgefallen.
Habs jetzt so umgeändert:struct buch{ int id; string autor, titel, verlag; float preis; };
Geht aber immer noch nicht.
-
for (int k=i-1;k>0;k--) { for (int j=0;j<k;j++) {
die zweite schleife wird nie betretten...
-
das stimmt nicht ganz,
irgendwie sortiert er da schon was.
Wie würde das richtig kommen?
-
die zwei Schleifen sind richtig,
aber wie chirgi schon sagte das vergleichen der Objekte stimmt nicht
habe das leider nicht gesehen hab etwas ueberhastet daruebergelesendu musst die Objekte mit strcmp vergleichen bzw wenn du die std::string Klasse verwendest kannst du einfach denn Operator verwenden
und das austauschen muss natuerlich dann auch anders gemacht werden
bei cstrings zb: mit strcpy o memcpyok?
-
hatte nicht gemerkt, dass die schleifen bereits korrigiert wurden... (und dabei habe ich die bereits korrigierte version gequotet!
)
-
Was bedeutet std::???
-
Kann mier mal jemand die Bedeutung von
"using namespace std;" erklären?
-
Was bedeutet std::???
Gier schrieb:
Kann mier mal jemand die Bedeutung von
"using namespace std;" erklären?mfg