Panzerregiment Kugelhagel
#1

Programmierung

in Interessantes aus dem Internet 03.01.2015 10:23
von Jack1606 | 10 Beiträge

So, für alle Interessierten und speziell unseren Torgano mal hier ein separater Bereich wo man sich über alles Mögliche unterhalten kann was dazu gehört. Also um deine Frage gleich vorweg zu beantworten, ich programmiere entweder in Java (aber da sind meine objektorientierten Kenntnisse sehr sehr eingeschrumpft in den letzten Jahren) oder wenn es schnell gehen muss dann in C++. So entstand gestern im Zug dieses kleine Programm, dessen Quellcode ich dir gern hier poste.

//##############################################################################
//# Programm zur zufälligen Zusammenstellung von Gefecht des PR-KH von Jack1606#
//##############################################################################

#include <iostream> /* Bibliothek(en) einbinden*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;

int main() /*Programm starten*/
{
int Teilnehmerzahl = 0, Zaehler = 1, Wildcards = 0, Modus=0, Zufallszahl=0; /*Variablen initialisieren*/
string Zwischenspeicher = "";
time_t t; /* Zeitnehmer für Zufallsgenerator*/
cout << "Herzlich Willkommen zur Gefechtszusammenstellung\n";
cout << "Bitte Teilnehmeranzahl eingeben: "; /*Teilnehmerzahl feststellen*/
cin >> Teilnehmerzahl;

if(0<Teilnehmerzahl && Teilnehmerzahl<=4) /* Spielmodes Halbfinale bis Finale */
{
Modus=4;
cout << "Modus auf 4 gesetzt!\n"; /*Statusausgabe*/
}

if(4<Teilnehmerzahl && Teilnehmerzahl<=8) /* Spielmodus Viertelfinale bis Finale */
{
Modus=8;
cout << "Modus auf 8 gesetzt!\n"; /*Statusausgabe*/
}

if(8<Teilnehmerzahl && Teilnehmerzahl<=16) /* Spielmodus Achtelfinale bis Finale */
{
Modus=16;
cout << "Modus auf 16 gesetzt!\n"; /*Statusausgabe*/
}

if(16<Teilnehmerzahl && Teilnehmerzahl<=32) /* Spielmodus Sechzehntelfinale bis Finale*/
{
Modus=32;
cout << "Modus auf 32 gesetzt!\n"; /*Statusausgabe*/
}

if(1>Teilnehmerzahl || Teilnehmerzahl>32) /*Abfangen, dass keine Zahl außerhalb des Bereichs eingegeben wird.*/
{
cout << "Falscheingabe der Spielerzahl. Programm bitte erneut starten\n";
system("pause");
return(0);
}

string Spielername[Modus]; /*Spielerliste anlegen*/
do /*Namen der Teilnehmer abfragen*/
{
cout << "Bitte Spielername ";
cout << Zaehler;
cout << " eingeben: ";
cin >> Spielername[Zaehler];
Zaehler++;
} while(Zaehler <= Teilnehmerzahl);

cout << "Wildcardanzahl wird bestimmt und Wildcards eingefuegt.\n"; /*Statusausgabe*/

if(0<Teilnehmerzahl && Teilnehmerzahl<=4) /* Wildcardfuellung auf 4*/
{
Wildcards = 4 - Teilnehmerzahl; /*Anzahl Wildcards bestimmen*/
Zaehler = 4;
do /*freie Plaetze mit Wildcards befuellen*/
{
Spielername[Zaehler] = "Wildcard";
Wildcards--;
Zaehler--;
}while(Wildcards!=0);
}

if(4<Teilnehmerzahl && Teilnehmerzahl<=8) /* Wildcardfuellung auf 8*/
{
Wildcards = 8 - Teilnehmerzahl; /*Anzahl Wildcards bestimmen*/
Zaehler = 8;
do /*freie Plaetze mit Wildcards befuellen*/
{
Spielername[Zaehler] = "Wildcard";
Wildcards--;
Zaehler--;
}while(Wildcards!=0);
}

if(8<Teilnehmerzahl && Teilnehmerzahl<=16) /* Wildcardfuellung auf 16*/
{
Wildcards = 16 - Teilnehmerzahl; /*Anzahl Wildcards bestimmen*/
Zaehler = 16;
do /*freie Plaetze mit Wildcards befuellen*/
{
Spielername[Zaehler] = "Wildcard";
Wildcards--;
Zaehler--;
}while(Wildcards!=0);
}

if(16<Teilnehmerzahl && Teilnehmerzahl<=32) /* Wildcardfuellung auf 32*/
{
Wildcards = 32 - Teilnehmerzahl; /*Anzahl Wildcards bestimmen*/
Zaehler = 32;
do /*freie Plaetze mit Wildcards befuellen*/
{
Spielername[Zaehler] = "Wildcard";
Wildcards--;
Zaehler--;
}while(Wildcards!=0);
}

cout << "Paarungen werden erstellt und anschliessend ausgegeben.\n"; /*Statusausgabe*/

time(&t); /*Zeit auslesen aus System*/
srand((unsigned int)t); /*Zufallsgenerator initialisieren*/

for(int i=1; i<=Modus; i++) /*Schleife um jede Position in der Spielerliste abzugehen*/
{
Zufallszahl=rand()%Modus+1;
Zwischenspeicher=Spielername[i];
Spielername[i]=Spielername[Zufallszahl];
Spielername[Zufallszahl]=Zwischenspeicher;
}

cout << "Paarungen fuer die Matches:\n";
int k=1;
do
{
cout << Spielername[k];
cout << " vs ";
cout << Spielername[k+1];
cout << "\n";
k=k+2;
}while(k<Modus);

system("pause");
}
-------------------------------------------------------------------------
P.S. Kommentieren tue ich mal mehr, mal weniger gut, wenn du also Fragen hast, dann einfach raus damit und ich versuchs zu erläutern. Habe mit Sicherheit auch noch nicht alle sinnloseingaben abgefangen um Fehler zu umgehen, aber immerhin bei richtiger Eingabe macht das Programm was es soll... ;-)


nach oben springen


Besucher
0 Mitglieder und 11 Gäste sind Online

Besucherzähler
Heute waren 61 Gäste online.

Forum Statistiken
Das Forum hat 363 Themen und 1528 Beiträge.

Heute waren 0 Mitglieder Online: