Ich kann nur sagen das man nach 6 Jahren kein C/C++, innerhalb der letzten beiden Jahre Visual Basic (bah) und eine unsystematische Herangehensweise gepaart mit dem Zwang es an einem Tag fertigzukriegen zu obigem Ergebnis führen *g*
Code:
// bl_tabelle.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
const int n = 100;
int zaehler=0;
//optische gestaltung der tabelle
#define maxelem 18
#define formstr "%3i. \263 %20s \263 %4i \263 %4i \263 %4i \263 %4i\n"
char tabelle_oben_1[n] = "Platz\t\t Verein Tore GGTore Diff Punkte\n";
char tabelle_oben_2[n] = "\304\304\304\304\304\302\304\304\304\304\304\304\304\304\304\304\304\304\304\304\304\304\304\304";
char tabelle_oben_3[n] = "\304\304\304\304\302\304\304\304\304\304\304\302\304\304\304\304\304\304\302\304\304\304\304\304";
char tabelle_oben_4[n] = "\304\302\304\304\304\304\304\304\304\n";
char tabelle_unten_1[n]= "\304\304\304\304\304\301\304\304\304\304\304\304\304\304\304\304\304\304\304\304\304\304\304\304";
char tabelle_unten_2[n]= "\304\304\304\304\301\304\304\304\304\304\304\301\304\304\304\304\304\304\301\304\304\304\304\304";
char tabelle_unten_3[n]= "\304\301\304\304\304\304\304\304\304\n";
char tabelle_unten_4[n]= "\t\t\270\ \122\145\156\202 \123\143\150\162\145\151\142\145\162, \106\141\142\151\141\156 \123\164\145\143\150\145\162\n\n";
//zuweisen des tabellenzubehoers
struct tabelle {
char Verein[n];
int Tore;
int GGTore;
int Differenz;
int Punkte;
};
//fuellen der tabelle
struct tabelle kartei[maxelem]= {
{"Bayern",35,12,27,44},
{"Schalke_04",20,12,8,31},
{"Kaiserslautern",23,44,-21,12},
{"Borussia_Dortmund",23,24,-1,21},
{"Duisburg",15,31,-16,12},
{"1.FC_Nuernberg",18,30,-12,14},
{"Wolfsburg",17,29,-12,18} ,
{"Bielefeld",21,25,-4,20} ,
{"Hannover_96",26,23,3,21} ,
{"VfB_Stuttgart",21,17,4,25},
{"Hertha_BSC",27,24,3,26} ,
{"Bremen",46,21,25,36} ,
{"Hamburger_SV",28,9,19,38},
{"M'gladbach",24,21,3,25} ,
{"Eintracht_Frankfurt",24,27,-3,21} ,
{"Leverkusen",24,26,-2,19} ,
{"Mainz",24,26,-2,16} ,
{"1.FC_Koeln",24,39,-15,12}
};
//ausgeben der tabelle
void ausgabe (struct tabelle* ausgabe){
printf("\n\n");
printf("%s%s%s%s",tabelle_oben_1,tabelle_oben_2,tabelle_oben_3,tabelle_oben_4);
for (zaehler = 0; zaehler < maxelem; zaehler++)
printf(formstr, zaehler+1, ausgabe[zaehler].Verein, ausgabe[zaehler].Tore, ausgabe[zaehler].GGTore,
ausgabe[zaehler].Differenz, ausgabe[zaehler].Punkte);
printf("%s%s%s%s",tabelle_unten_1,tabelle_unten_2,tabelle_unten_3,tabelle_unten_4);
}
//prozedur des qsort befehls
int punktevergleich(const void *a, const void *b){
struct tabelle *aa, *bb;
aa = (struct tabelle *)a;
bb = (struct tabelle *)b;
return bb->Punkte - aa->Punkte;
}
//sortieren nach punkten
void punktesort(){
printf("Tabelle wurde sortiert nach Punkten:\n");
qsort(kartei, maxelem, sizeof(struct tabelle), punktevergleich);
}
//sortieren nach tordiferenz
void differenzsort(){
struct tabelle dummy[18];
printf("Tabelle wurde sortiert nach Tordifferenz:\n");
for (zaehler=0;zaehler<maxelem;zaehler++) {
for (int zaehler2=zaehler; zaehler2<maxelem;zaehler2++) {
if ((kartei[zaehler].Punkte == kartei[zaehler2].Punkte)&&(kartei[zaehler].Differenz<kartei[zaehler2].Differenz)) {
dummy[zaehler] = kartei[zaehler2];
kartei[zaehler2] = kartei[zaehler];
kartei[zaehler] = dummy[zaehler];
}
}
}
}
//sortieren nach namen
void namensort(){
struct tabelle dummy[18];
printf("Tabelle wurde sortiert nach Namen:\n");
for (zaehler=0;zaehler<maxelem;zaehler++) {
for (int zaehler2=zaehler; zaehler2<maxelem;zaehler2++) {
if ((kartei[zaehler].Punkte == kartei[zaehler2].Punkte)&&
(kartei[zaehler].Differenz == kartei[zaehler2].Differenz)){
if (kartei[zaehler].Verein > kartei[zaehler2].Verein) {
dummy[zaehler] = kartei[zaehler2];
kartei[zaehler2] = kartei[zaehler];
kartei[zaehler] = dummy[zaehler];
}
}
}
}
}
//hauptprogramm
int main(int argc, char* argv[]) {
printf("Tabelle wurde so eingegeben: \n");
ausgabe(kartei);
punktesort();
//ausgabe (kartei);
differenzsort();
//ausgabe (kartei);
namensort();
ausgabe (kartei);
system ("PAUSE");
}
Wenn ich die Zeit habe werde ich mich wohl langfristig damit auseinandersetzen müssen. Mühsam nährt sich das Eichhörnchen =)