C++ :: Aufgabe #249

1 Lösung Lösung öffentlich

Glücksspiel Zufällige Zahl 0-9

Fortgeschrittener - C++ von re_mas - 27.11.2019 um 18:30 Uhr
Die Aufgabenstellung ist wie folgt:
- Glücksspiel bei der eine random Zahl zwischen 0 - 9 erzeugt werden soll.
- Der Spieler hat ein Startkonto von 10.000 Punkten und kann damit einen beliebigen Teilbetrag auf die zufällig erzeugte Zahl setzen.
- Liegt er richtig bekommt er das 9 Fache seines Einsatzes als Gewinn
- Programmieren Sie ein entsprechendes Programm, welches die Eingaben von der Tastatur einliest und
die Ausgaben auf dem Bildschirm liefert. Die zu erratende Zahl kann durch einen verfügbaren Zufallsgenerator gezogen werden.

Lösungen:

vote_ok
von void (180 Punkte) - 20.02.2020 um 17:35 Uhr
Quellcode ausblenden C-Code
#include <iostream>
#include <ctime>
#include <cstdlib>

int validNum(int rangeMin, int rangeMax, const char errorText[]);

int main()
{
    char randNum;
    char guessNum;
    int Einsatz = 0;
    int pAcc = 10000;
    srand(time(NULL));

    while (pAcc > 0) {
        randNum = rand() % 10;
        printf("Ihr Kontostand: %d\nZahl zwischen 0 und 9 eingeben: ",pAcc);
        guessNum = validNum(0, 9, "ungueltige Eingabe\nneue Zahl: ");
        printf("Wieviel moechten sie setzen? ");
        Einsatz = validNum(0, pAcc, "dieser Einsatz ist nicht moeglich\nneuer Einsatz: ");
        printf("------\nGewinnzahl: %d\nIhre Zahl: %d\n------\n",randNum,guessNum);
        if (randNum == guessNum) {
            pAcc = pAcc + Einsatz * 8;
            printf("Sie gewinnen: %d\n++++++++\n", Einsatz * 9);
        }
        else {
            pAcc = pAcc - Einsatz;
            printf("Leider kein Gewinn\n++++++++\n");
        }
    }

}

int validNum(int rangeMin, int rangeMax, const char errorText[]) {
    
    int Number;
    
    do{
        scanf_s("%d", &Number);
        if (Number >= rangeMin && Number <= rangeMax);
        else printf("%s ",errorText);
    }while ((Number > rangeMax) || (Number < rangeMin));
    return Number;
}