Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Brauche Hilfe bei Sortierung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.04.2008, 14:23 Uhr
tokanoh



Erstmal der Quelltext den ich bis jetzt geschrieben habe....


Zitat:
#include <iostream>

using namespace std;

struct sSchuelerdaten
{
char cVorname[40];
char cNachname[40];
char cOrt[40];
char cSchule[40];
char cGeschlecht[40];
int iAlter;
};

int main()

{
sSchuelerdaten sSchueler[20];
int anz


for (int x=0; x<= anzahl-1; x++)

{

cout << "Sie haben nun die Moeglichkeit die Daten der Schueler einzufuegen? \n\n" << x+1 << "\n";

cout << "\nVorname: \n";
cin.getline (sSchueler[x].cVorname,40);
cout << endl;

cout << "Nachname: \n";
cin.getline (sSchueler[x].cNachname,40);
cout << endl;

cout << "Ort: \n";
cin.getline (sSchueler[x].cOrt,40);
cout << endl;

cout << "Schule: \n";
cin.getline (sSchueler[x].cSchule,40);
cout << endl;

cout << "Geschlecht: \n";
cin.getline (sSchueler[x].cGeschlecht,40);
cout << endl;

cout << "Alter: \n";
cin >> sSchueler[x].iAlter;
cout << endl;

cin.seekg(0,std::ios::end);
cin.clear();

}



for (x=0; x<= anzahl-1; x++)

{

cout << "Vorname:" << sSchueler[x].cVorname << "\n";
cout << "Nachname:" << sSchueler[x].cNachname << "\n";
cout << "Ort:" << sSchueler[x].cOrt << "\n";
cout << "Schule:" << sSchueler[x].cSchule << "\n";
cout << "Geschlecht:" << sSchueler[x].cGeschlecht << "\n";
cout << "Alter:" << sSchueler[x].iAlter << "\n\n\n";

cin.seekg(0,std::ios::end);
cin.clear();

}




return(0);
}



....wir sollen nun dieses Programm erweitern...

Ich muss dazu sagen das wir ganz am Anfang der Programmierung sind und diese Aufgabe nur Sonderpunkte bringt (Berufsfachschule) die ich gerne hätte und des weiteren interessiert es mich natürlich auch...

Folgende erweiterungen müssen getroffen werden:

Jeder Schüler dein engepflegt wir soll eine einen zähler bekommen der auf null steht..

dann soll er bei der eingabe der schulform zB GY für Gymnasium oder RS für Realschule einen wert in per schleife dazugerechnet bekommen. heisst: wenn ich einen schüler einpflege steht der zähler auf 0, gebe ich ein das dieser auf die realschule geht sollen zB 20 dazugezählt werden (zB int RS=20, int GY=30 usw.)

das gleiche soll noch mit dem ort passieren (int HH=1, int B=2).

das soll dann sortiert werden...so das ich letztendlich nacher sortieren lassen kann

und die leute die in der gleichen schule sind und aus dem selben ort beieinander stehen.

zb: peter (steht auf null) geht zur realschule (+20) und kommt aus hamburg (+1) --> peters zähler sollte dann auf 21 stehen...heisst alle auf die das selbe zutriffen stehen beim sortieren nacher untereinander


ich hoffe das problem ist verständlich und mir kann jemand helfen....ich bekomm es nicht hin

wenn einer so schlau is und das kann, wäre es nett wenn ihr den quelltext hier rein postet, möglichst mit kommentaren..damit ich das nachvollziehen kann..

denke für euch profis is das ne kurze sache.


ich danke schonmal im voraus!

Dieser Post wurde am 16.04.2008 um 14:26 Uhr von tokanoh editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.04.2008, 15:02 Uhr
Oliver
S2-Pixelgeneral



Zitat:
und diese Aufgabe nur Sonderpunkte bringt (Berufsfachschule) die ich gerne hätte


... und offensichtlich nicht verdient hast?


Zitat:

wenn einer so schlau is und das kann, wäre es nett wenn ihr den quelltext hier rein postet, möglichst mit kommentaren..damit ich das nachvollziehen kann..



Gegen ein entsprechendes Entgelt sicher kein Problem. Ansonsten wird dir hier niemand ohne eigenen Ansatz und konkrete Probleme helfen.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.04.2008, 16:04 Uhr
öni




Zitat von tokanoh:
denke für euch profis is das ne kurze sache.


Ich bin vll. kein Profi aber für Profis ist es genauso Arbeit wie für jemand anders. Du musst dich vll einarbeiten aber dafür lernst du auch was, und dein Lehrer verteilt keine Sonderpunkt für jemanden der einen gefunden hat der die Arbeit für dich macht.

erstes Ergebnis bei Google für "bubblesort c++" einer der bekannsten Sortier-Algorithmen. Dennoch sind auf der Seite noch ganz andere Sortier-Algorithmen beschrieben.
www.stefan-baur.de/cs.algo.bubblesort.html

Viel Spaß beim denken und coden. Falls du dann an einer konkreten Stelle nicht weiterkommst helfen wir dir gerne weiter, aber anfangen musst du schon selber. Wir erledigen keine Arbeit für andere (auser vll. für Geld).

Dieser Post wurde am 16.04.2008 um 16:04 Uhr von öni editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.04.2008, 17:05 Uhr
tokanoh



Also danke erstmal das sich überhaupt jemand gemeldet hat.

Ich denke mal ihr habt das ein wenig falsch verstanden bzw. ich habe mich unglücklich ausgedrückt. Aber is ja auch egal.

Ich habe hier nochmal an dem Programm weitergearbeitet.

Was mir jetzt noch fehlt ist die einfach Sortierung mir bubble sort...

so dass die leute aus der selben stadt und schule untereinander stehen...das bekomme ich auch noch hin.

wobei ich jetzt wirklich hilfe brauche ist die einordnung in gruppen...

zB in die gruppe

GYMNASIUM....so das der mir alle leute anzeigt die zum GYMNASIUM gehen...

HIER MEIN QUELLTEXT:


Zitat:


#include <iostream>
#include <cstring>

using namespace std;

struct sSchuelerdaten
{
char cVorname[40];
char cNachname[40];
char cOrt[40];
char cSchule[40];
char cGeschlecht[40];
int iAlter;
int sortnumberadd;
};

int main()

{
sSchuelerdaten sSchueler[20];
int anzahl;



cout << "Willkommen im SchuelerdatenSOFT\n\n";
cout << "Von wie vielen Schueler moechten sie Daten einfuegen?\n\n";
cin >> anzahl;
cout << endl;

cin.seekg(0,std::ios::end);
cin.clear();


for (int x=0; x<= anzahl-1; x++)

{

sSchueler[x].sortnumberadd=0;

cout << "Sie haben nun die Moeglichkeit die Daten der Schueler einzufuegen? \n\n" << x+1 << "\n";

cout << "\nVorname: \n";
cin.getline (sSchueler[x].cVorname,40);
cout << endl;

cout << "Nachname: \n";
cin.getline (sSchueler[x].cNachname,40);
cout << endl;

cout << "Waehlen sie aus welchen Ort der Schueler kommt, geben sie ein: \n";
cout << "NOH = Nordhorn / NHS = Neuenhaus / BENT = Bad Bentheim\n";
cin.getline (sSchueler[x].cOrt,40);

if(strcmp (sSchueler[x].cOrt,"NOH")==0)
{
sSchueler[x].sortnumberadd = sSchueler[x].sortnumberadd + 30;
}

if(strcmp (sSchueler[x].cOrt,"NHS")==0)
{
sSchueler[x].sortnumberadd = sSchueler[x].sortnumberadd + 20;
}

if(strcmp (sSchueler[x].cOrt,"BENT")==0)
{
sSchueler[x].sortnumberadd = sSchueler[x].sortnumberadd + 10;
}

cout << endl;

cout << "Von welcher Schule kommt der Schueler, geben sie ein: \n";
cout << "GY = Gymnasium / RS = Realschule / HS = Hauptschule\n";
cin.getline (sSchueler[x].cSchule,40);

if(strcmp (sSchueler[x].cSchule,"GY")==0)
{
sSchueler[x].sortnumberadd = sSchueler[x].sortnumberadd + 50;
}

if(strcmp (sSchueler[x].cSchule,"RS")==0)
{
sSchueler[x].sortnumberadd = sSchueler[x].sortnumberadd + 60;
}

if(strcmp (sSchueler[x].cSchule,"HS")==0)
{
sSchueler[x].sortnumberadd = sSchueler[x].sortnumberadd + 70;
}

cout << endl;

cout << "Geben sie das Geschlecht ein (m/w): \n";
cin.getline (sSchueler[x].cGeschlecht,40);

if(strcmp (sSchueler[x].cGeschlecht,"m")==0)
{
sSchueler[x].sortnumberadd = sSchueler[x].sortnumberadd + 100;
}

if(strcmp (sSchueler[x].cGeschlecht,"w")==0)
{
sSchueler[x].sortnumberadd = sSchueler[x].sortnumberadd + 200;
}

cout << endl;
cout << sSchueler[x].sortnumberadd;
cout << endl;

cout << "Alter: \n";
cin >> sSchueler[x].iAlter;
cout << endl;

cin.seekg(0,std::ios::end);
cin.clear();

}



for (x=0; x<= anzahl-1; x++)

{


cout << "Vorname:" << sSchueler[x].cVorname << "\n";
cout << "Nachname:" << sSchueler[x].cNachname << "\n";
cout << "Ort:" << sSchueler[x].cOrt << "\n";
cout << "Schule:" << sSchueler[x].cSchule << "\n";
cout << "Geschlecht:" << sSchueler[x].cGeschlecht << "\n";
cout << "Alter:" << sSchueler[x].iAlter << "\n\n\n";

cin.seekg(0,std::ios::end);
cin.clear();

}




return(0);

}


Dieser Post wurde am 18.04.2008 um 17:06 Uhr von tokanoh editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.04.2008, 11:26 Uhr
tokanoh



Wär nett wenn mir bei der Gruppierung noch jemand Hilft!?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
21.04.2008, 14:43 Uhr
Suba Esel




Zitat von tokanoh:
GYMNASIUM....so das der mir alle leute anzeigt die zum GYMNASIUM gehen...

Naja, du siehst halt nach, bei welchem Schüler die Schule Gymnasium ist, und gibst nur die aus. Ist eigentlich ganz einfach, du hast alles, was du dazu brauchst, schon in deinem Quelltext drin.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.04.2008, 15:24 Uhr
öni



Du machst eine For-Schleife mit allen Schülern und überprüfst ob ihre Schulart das Gymnasium ist und dann gibts eben von diesen Leuten die gewünschsten Attribute aus. Oder was willst du nun haben?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
21.04.2008, 23:30 Uhr
tokanoh



Das würde ich ja hinbekommen, aber wenn ich es richtig verstanden habe...soll er ausgeben:

So das der mir alle

Schueler aus Nordhorn
Schuler aus Bad Bentheim
Schueler aus Neuenhaus

dann alle

Schueler vom Gymnasium
Schueler von der Realschule
Schueler von der Hauptschule

dann alle

männlichen Schueler
weiblichen Schueler

heisst die müssen ja doppelt sein...das geht doch net mit einer for schleife oder? das der alles gleichzeitig ausgibt?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
22.04.2008, 18:24 Uhr
öni



Eine For-Schleife? Dann nimmst halt 5 oder 6 vielleich 7 spielt doch kein Tango ....für jede Schulart, Stadt und Geschlecht eine eigene For-schleife....Dann arbeitet eine Forschleife eben nur jeweils das eine ab und die nächste das andere.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: