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. |