Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Fussballtabelle ausgeben (leicht)

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
31.08.2003, 19:18 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


zu implementieren ist void Spieltabelle::Tabelle_ausgeben();


C++:
#include <time.h>
#include <iostream>
using namespace std;

typedef struct{int nr;char* Mannschaftname; int Spiele; int Punkte; int Tore_geschossen; int Tore_kassiert;}tabelleneintrag;

class Spieltabelle{

    private:
        int anzahl, curr_anzahl;
        tabelleneintrag* tabelle;
        bool** wergegenwen;
        
    public:

        Spieltabelle(int anzahl);
        ~Spieltabelle();

        void Mannschaft_eintragen(char* mannschaftsname);
        bool Spiel_eintragen(int manschaft1, int mannschaft2, int tore1, int tore2);
        void Tabelle_ausgeben();
        void zufallsSpiele(int n);

};

Spieltabelle::Spieltabelle(int anzahl){

int i,j;
    this->anzahl=anzahl;
    curr_anzahl=0;

    tabelle = new tabelleneintrag[anzahl];

    wergegenwen = new bool*[anzahl];
    for(i=0;i<anzahl;i++) wergegenwen[i]= new bool[anzahl];
    for(i=0;i<anzahl;i++) for(j=0;j<anzahl;j++) if(i==j)wergegenwen[i][j]=true; else wergegenwen[i][j]=false;

}

Spieltabelle::~Spieltabelle(){

    delete [] tabelle;

    for(int i=0;i<anzahl;i++) delete [] wergegenwen[i];
    delete [] wergegenwen;

}


void Spieltabelle::Mannschaft_eintragen(char* Mannschaftsname){

    if(curr_anzahl<anzahl){
        
        tabelle[curr_anzahl].nr=curr_anzahl;
        tabelle[curr_anzahl].Mannschaftname=Mannschaftsname;
        tabelle[curr_anzahl].Spiele=0;
        tabelle[curr_anzahl].Punkte=0;
        tabelle[curr_anzahl].Tore_geschossen=0;
        tabelle[curr_anzahl].Tore_kassiert=0;
        curr_anzahl++;
    }

}

bool Spieltabelle::Spiel_eintragen(int mannschaft1, int mannschaft2, int tore1, int tore2){

    if(wergegenwen[mannschaft1][mannschaft2]) return false;
    
    wergegenwen[mannschaft1][mannschaft2]=true;
    
    tabelle[mannschaft1].Spiele++;
    tabelle[mannschaft2].Spiele++;
    tabelle[mannschaft1].Tore_geschossen+=tore1;
    tabelle[mannschaft2].Tore_geschossen+=tore2;
    tabelle[mannschaft1].Tore_kassiert+=tore2;
    tabelle[mannschaft2].Tore_kassiert+=tore1;

    if(tore1==tore2){tabelle[mannschaft1].Punkte++; tabelle[mannschaft2].Punkte++;}
    else if(tore1>tore2) tabelle[mannschaft1].Punkte+=3;
         else tabelle[mannschaft2].Punkte+=3;

return true;
}


void Spieltabelle::zufallsSpiele(int n){
    int i,j,k,l,m;
    for(i=0;i<n;i++)
        do{
            j=rand()%anzahl;
            k=rand()%anzahl;
            if(0==strcmp("Hertha BSC       ",tabelle[j].Mannschaftname)) l=rand()%6 + 2; else l=rand()%6;
            if(0==strcmp("Hertha BSC       ",tabelle[k].Mannschaftname)) m=rand()%6 + 2; else m=rand()%6;
        }while(!Spiel_eintragen(j, k, l, m));
}


// diese Methode soll Implementiert werden
void Spieltabelle::Tabelle_ausgeben(){
  printf("Mannschaft\t\tSpiele\tPunkte\tTore\tTore\tTordiff\n");
  printf("hier ist die Tabelle auszugeben");
}


int main(){

    srand(time(NULL));
    Spieltabelle st(10);
    st.Mannschaft_eintragen("Hertha BSC       ");
    st.Mannschaft_eintragen("Bayern Muenchen  ");
    st.Mannschaft_eintragen("Werder Bremen    ");
    st.Mannschaft_eintragen("Borussia Dortmund");
    st.Mannschaft_eintragen("Bayer Leverkusen ");
    st.Mannschaft_eintragen("HSV              ");
    st.Mannschaft_eintragen("TB Berlin        ");
    st.Mannschaft_eintragen("Schalke 04       ");
    st.Mannschaft_eintragen("Hannover 96      ");
    st.Mannschaft_eintragen("TSV 1860 Muenchen");

    st.zufallsSpiele(90);
    st.Tabelle_ausgeben();

    return 0;
}



--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 31.08.2003 um 19:19 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.08.2003, 19:26 Uhr
virtual
Sexiest Bit alive
(Operator)


[nörgelmode]
C++ aber printf. Bah, igit ekel.
[/nörgelmode]
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
31.08.2003, 19:29 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


liegt wohl daran das ich cout nicht beherrrsche
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
31.08.2003, 20:23 Uhr
0xdeadbeef
Gott
(Operator)


Das kommt davon, wenn man den ganzen Tag nur MFC programmiert. CString::Format gewöhnt, was?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
31.08.2003, 20:28 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
erfasst
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Rätselecke ]  


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: