Sortierung
-
Hi,.und zwar habe ich ein Problem bei der Sortierung!
#include <cstdlib> #include <iostream> #include <windows.h> #include "conwnd.c" #include "conioex.h" #include <wincon.h> #include <iomanip> #include <vector> struct Daten { char Name[50]; int Staffelnummer; float Schwimmzeit; float Radzeit; float Laufzeit; int Geschlecht; int ausgabe_temp; float Ergebnisse; }; Daten feld[100]; Daten temp; void sortierung() { do { merke = 0; for(int x=0; x < teilnehmer-1; x++) { if(feld[x].Ergebnisse > feld[x+1].Ergebnisse) { temp = feld[x]; feld[x] = feld[x+1]; feld[x+1] = temp; merke = 1; } } } while(merke != 0); }
Das ist die Sortierung und die Eingabe für Schwimm- Rad und Laufzeit ist immer gleich und zwar
cout << "Staffelnummer: "; cin >> staffeln; gotoxy(13,39); zwischen_schwimm = staffeln-1; cout << "Schwimmzeit: "; cin >> feld[zwischen_schwimm].Schwimmzeit; // Radzeit etc } for(int x=0; x < teilnehmer; x++) { feld[x].Ergebnisse = feld[x].Schwimmzeit + feld[x].Laufzeit + feld[x].Radzeit; }
in feld.Ergebnisse sortiert er nun eigendlich und zwar nun zu meinem Problem
nehmen wie folgendes an
1 Name Schwimmzeit = 10
2 Name Schwimmzeit = 20Er gibt es richtig aus
1 Name Radzeit = 30
2 Name Radzeit = 10Er hat nun den 1 NAme mit dem 2 getauscht (richtig)
1 Name Laufzeit = 5
2 Name Laufzeit = 20Er hat die 20 zum 1 Name hinzugefügt und die 5 zum 2 Namen?
ich wollte fragen, an was das liegt?
KOmpletter Script
//////////////////////////////////Personalien////////////////////////////////////////////////// void Personalien() { textbackground(8); system("cls"); for(int x=0; x<1400; x++) { textcolor(3); cout << " . "; } MakeWindow(3, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("1. Platz")); MakeWindow(30, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("2. Platz")); MakeWindow(56, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("3. Platz")); MakeWindow(7, 28, 40, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Daten Eingabe")); MakeWindow(53, 28, 25, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Navigation")); gotoxy(9,13); textbackground(3); textcolor(4); gotoxy(9,13); cout << "Keine Daten"; gotoxy(9,16); cout << "vorhanden!"; gotoxy(36,13); cout << "Keine Daten"; gotoxy(36,16); cout << "vorhanden!"; gotoxy(61,13); cout << "Keine Daten"; gotoxy(61,16); cout << "vorhanden!"; textbackground(3); textcolor(4); gotoxy(55,32); cout << "[1]Eingabe Personalien"; textbackground(3); textcolor(7); gotoxy(55,35); cout << "[2]Eingabe Schwimmzeit"; gotoxy(55,38); cout << "[3]Eingabe Radzeit"; gotoxy(55,41); cout << "[4]Eingabe Laufzeit"; gotoxy(55,44); cout << "[0]Ausgang"; textbackground(3); textcolor(7); gotoxy(13,38); cout << "Anzahl der Teilnehmer: "; cin >> teilnehmer; feld[0].ausgabe_temp = teilnehmer; for(int x=0; x< teilnehmer; x++) { textbackground(8); system("cls"); for(int x=0; x<1400; x++) { textcolor(3); cout << " . "; } MakeWindow(3, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("1. Platz")); MakeWindow(30, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("2. Platz")); MakeWindow(56, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("3. Platz")); MakeWindow(7, 28, 40, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Daten Eingabe")); MakeWindow(53, 28, 25, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Navigation")); gotoxy(9,13); textbackground(3); textcolor(4); gotoxy(9,13); cout << "Keine Daten"; gotoxy(9,16); cout << "vorhanden!"; gotoxy(36,13); cout << "Keine Daten"; gotoxy(36,16); cout << "vorhanden!"; gotoxy(61,13); cout << "Keine Daten"; gotoxy(61,16); cout << "vorhanden!"; textbackground(3); textcolor(4); gotoxy(55,32); cout << "[1]Eingabe Personalien"; textbackground(3); textcolor(7); gotoxy(55,35); cout << "[2]Eingabe Schwimmzeit"; gotoxy(55,38); cout << "[3]Eingabe Radzeit"; gotoxy(55,41); cout << "[4]Eingabe Laufzeit"; gotoxy(55,44); cout << "[0]Ausgang"; gotoxy(13,38); cout << "Name: "; gotoxy(13,41); cout << "Geschlecht: "; textbackground(3); textcolor(7); feld[x].Staffelnummer = x + 1; gotoxy(13,35); cout << "Staffelnummer: " << feld[x].Staffelnummer ; gotoxy(13,38); cout << "Name: "; cin >> feld[x].Name; gotoxy(13,41); cout << "Geschlecht: "; cin >> feld[x].Geschlecht; } Daten_eingabe_statistik(); } ///////////////////////////////////////////Schwimmzeit/////////////////////////////////////////////////// void Schwimmzeit() { zwischen_schwimm = 0; staffeln =0; for(int x=0; x<teilnehmer; x++) { textbackground(8); system("cls"); for(int x=0; x<1400; x++) { textcolor(3); cout << " . "; } MakeWindow(3, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("1. Platz")); MakeWindow(30, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("2. Platz")); MakeWindow(56, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("3. Platz")); MakeWindow(7, 28, 40, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Daten Eingabe")); MakeWindow(53, 28, 25, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Navigation")); gotoxy(9,13); textbackground(3); textcolor(4); gotoxy(9,13); cout << "Keine Daten"; gotoxy(9,16); cout << "vorhanden!"; gotoxy(36,13); cout << "Keine Daten"; gotoxy(36,16); cout << "vorhanden!"; gotoxy(61,13); cout << "Keine Daten"; gotoxy(61,16); cout << "vorhanden!"; textbackground(3); textcolor(7); gotoxy(55,32); cout << "[1]Eingabe Personalien"; textbackground(3); textcolor(4); gotoxy(55,35); cout << "[2]Eingabe Schwimmzeit"; textcolor(7); gotoxy(55,38); cout << "[3]Eingabe Radzeit"; gotoxy(55,41); cout << "[4]Eingabe Laufzeit"; gotoxy(55,44); cout << "[0]Ausgang"; textbackground(3); textcolor(7); gotoxy(13,35); cout << "Staffelnummer: "; cin >> staffeln; gotoxy(13,39); zwischen_schwimm = staffeln-1; cout << "Schwimmzeit: "; cin >> feld[zwischen_schwimm].Schwimmzeit; } for(int x=0; x < teilnehmer; x++) { feld[x].Ergebnisse = feld[x].Schwimmzeit + feld[x].Laufzeit + feld[x].Radzeit; } Daten_eingabe_statistik(); } ///////////////////////////////////////Eingabe Radzeit////////////////////////// void Radzeit() { zwischen_rad = 0; staffeln =0; for(int x=0; x<teilnehmer; x++) { textbackground(8); system("cls"); for(int x=0; x<1400; x++) { textcolor(3); cout << " . "; } MakeWindow(3, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("1. Platz")); MakeWindow(30, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("2. Platz")); MakeWindow(56, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("3. Platz")); MakeWindow(7, 28, 40, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Daten Eingabe")); MakeWindow(53, 28, 25, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Navigation")); gotoxy(9,13); textbackground(3); textcolor(4); gotoxy(9,13); cout << "Keine Daten"; gotoxy(9,16); cout << "vorhanden!"; gotoxy(36,13); cout << "Keine Daten"; gotoxy(36,16); cout << "vorhanden!"; gotoxy(61,13); cout << "Keine Daten"; gotoxy(61,16); cout << "vorhanden!"; textbackground(3); textcolor(7); gotoxy(55,32); cout << "[1]Eingabe Personalien"; textbackground(3); textcolor(7); gotoxy(55,35); cout << "[2]Eingabe Schwimmzeit"; textcolor(4); gotoxy(55,38); cout << "[3]Eingabe Radzeit"; textcolor(7); gotoxy(55,41); cout << "[4]Eingabe Laufzeit"; textcolor(7); gotoxy(55,44); cout << "[0]Ausgang"; textbackground(3); textcolor(7); gotoxy(13,35); cout << "Staffelnummer: "; cin >> staffeln; gotoxy(13,39); zwischen_rad = staffeln-1; cout << "Radzeit: "; cin >> feld[zwischen_rad].Radzeit; } for(int x=0; x < teilnehmer; x++) { feld[x].Ergebnisse = feld[x].Schwimmzeit + feld[x].Laufzeit + feld[x].Radzeit; } Daten_eingabe_statistik(); } ///////////////////////////////////////Eingabe Laufzeit////////////////////////// void Laufzeit() { zwischen_lauf = 0; staffeln =0; for(int x=0; x < teilnehmer; x++) { textbackground(8); system("cls"); for(int x=0; x<1400; x++) { textcolor(3); cout << " . "; } MakeWindow(3, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("1. Platz")); MakeWindow(30, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("2. Platz")); MakeWindow(56, 8, 22, 15, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("3. Platz")); MakeWindow(7, 28, 40, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Daten Eingabe")); MakeWindow(53, 28, 25, 20, BUILD_TEXTATTR(BLACK, CYAN), CONWND_BORDER_SINGLE, CONWND_SHADOW_RIGHT); TitleWindow(CONWND_TITLE_TOPCENTER, TEXT("Navigation")); gotoxy(9,13); textbackground(3); textcolor(4); gotoxy(9,13); cout << "Keine Daten"; gotoxy(9,16); cout << "vorhanden!"; gotoxy(36,13); cout << "Keine Daten"; gotoxy(36,16); cout << "vorhanden!"; gotoxy(61,13); cout << "Keine Daten"; gotoxy(61,16); cout << "vorhanden!"; textbackground(3); textcolor(7); gotoxy(55,32); cout << "[1]Eingabe Personalien"; textbackground(3); textcolor(7); gotoxy(55,35); cout << "[2]Eingabe Schwimmzeit"; textcolor(7); gotoxy(55,38); cout << "[3]Eingabe Radzeit"; textcolor(4); gotoxy(55,41); cout << "[4]Eingabe Laufzeit"; textcolor(7); gotoxy(55,44); cout << "[0]Ausgang"; textbackground(3); textcolor(7); gotoxy(13,35); cout << "Staffelnummer: "; cin >> staffeln; gotoxy(13,39); zwischen_lauf = staffeln-1; cout << "Laufzeit: "; cin >> feld[zwischen_lauf].Laufzeit; } for(int x=0; x <teilnehmer; x++) { feld[x].Ergebnisse = feld[x].Schwimmzeit + feld[x].Laufzeit + feld[x].Radzeit; } Daten_eingabe_statistik(); }
mfg
Svolf
-
Das Problem liegt eindeutig vor Zeile 444.
-
Svolf schrieb:
Hi,.und zwar habe ich ein Problem bei der Sortierung!
Mal ein grundlegender Grammatikhinweis: Mit "und zwar" bezieht man sich auf etwas, das man direkt davor gesagt hat. Als erster Satz in einem Beitrag ist das ziemlich seltsam.
nehmen wie folgendes an
1 Name Schwimmzeit = 10
2 Name Schwimmzeit = 20Er gibt es richtig aus
Soso. Nicht, dass irgendjemand außer dir beurteilen könnte, ob das richtig ist.
1 Name Radzeit = 30
2 Name Radzeit = 10Er hat nun den 1 NAme mit dem 2 getauscht (richtig)
Hat er? Woran sollen wir das erkennen? Lass uns nicht dumm sterben.
1 Name Laufzeit = 5
2 Name Laufzeit = 20Er hat die 20 zum 1 Name hinzugefügt und die 5 zum 2 Namen?
Das fragst du wen? Uns? Woran sollen wir das erkennen? Woran erkennst du das? Ich erkenne da gar nichts.
ich wollte fragen, an was das liegt?
An deinem furchtbaren, entsetzlichen, schrecklichen Code. Mein Tipp: Wegschmeißen, neu machen. Oder wegschmeißen und es sein lassen. Ist auf lange Sicht wohl besser für alle.
KOmpletter Script
Du schaffst es, einen riesigen Haufen "Code" hier hinzurotzen, und der ist nicht mal komplett. Man sieht ja nicht mal, ob und wie du sortierung aufrufst. Hinweis: Das ist keine Aufforderung, den wirklich kompletten Code hier abzuladen.
Zeig uns ein MINIMALbeispiel, das den Fehler reproduziert. Minimal heißt, ohne das ganze gotoxy-Geraffel, ohne 1400mal textcolor und vielleicht sogar mit einer ordentlichen Einrückung.
-
Swordfish::brain schrieb:
Line 33: Out of memory.
-
Oh mein Gott,..also labern kannst du ja echt gut -.-
zudem,..hey kleiner es geht,..schon komisch es gibt einen c++ Forum, wo alle denken sie wären etwas besseres.
Und helfen,.ehrlich mal so durch die threads gegagen,..von Hilfe ist da kaum etwas zu sehen,...mehr um rumgemecker etc,..nun habe ich es alleine geschafft, wie auch die anderen Fragen, die ich hier mal reinposte.Ich muss sagen,.dieser Forum hier ist echt mies. Nur rumgemecker oder verlinke,..
Es gibt wirklich nur wenige die auch helfen wollen,...und dies auch tuen. (Bitte also seit nicht angesprochen)
mfg
Svolf
-
bei deinem code kann man nur rummeckern. das würde dir in jedem forum passieren.
-
Deine Frage hat genau garnichts mit DOS oder der Win32 Konsole zu tun.
Dummkopf...
-
Hey, seid mal nicht so gemein zu einander.
Ihr könnt doch gemäßigt kritisieren oder einfach nur
den Kopf schütteln und nicht erst antworten,
wenn euch das geschriebene so aufregt.
Außerdem hat das überhaupt kein Stil, wenn unregistrierte
Personen Leuten Schimpfwörter vor die Füße werfen.