Einarmiger Bandit



  • Hallo alle zusammen ich hab ein ziemlich dummes problem mit folgendem programm
    es sollte eigentlich im falle das alle 3 zahlen gleich sind dem Kapital einen gewissen punkte stand dazufügen z.B: bei 3 mal der Zahl 3 sollten 7 punkte dazu kommen und so aber er gibt einfach zufällig punkte her und dann auch in unbestimmter menge.....

    muss dieses programm umbedingt fertig bekommen .....

    #include <stdio.h>
    #include <stdlib.h>
    
    long randt(long min, long max);
    
    int main(int argc, char *argv[])
    {
      srand(time());
      int Zahl[3], K, C;  
      printf("\tEINARMIGER BANDIT\n");
      printf("\t=================\n\n");
      printf("\t Ihr Startkapital betraegt 10Euro\n\n");
      printf("|\tZahl1|\tZahl2|\tZahl3|\t\t|Kapital|\n");
      for(K=10; K>0; K--)
      {
                 for(C=0; C<=2; C++)
                 {
                          Zahl[C]=randt(1, 3);
                          printf("|\t%d", Zahl[C]);
                 }
      if(Zahl[0]==Zahl[1]==Zahl[2])
      {
                                   if(Zahl[0]=1)
                                   {
                                                K=K+3;
                                   }
    
                                   if(Zahl[0]=2)
                                   {
                                                K=K+5;
                                   }
                                   if(Zahl[0]=3)
                                   {
                                                K=K+7;
                                   }
      }
    
      printf("|\t\t|%d\t", K);
      system("PAUSE");
      printf("\n");
      }
      system("PAUSE");	
      return 0;
    }
    long randt(long min, long max)
    {
       long a;
            a=((long)rand())%(max-min+1)+min; 
            return a;
    
    }
    


  • erstens ist das C und nicht C#

    m=9 ist ne zuweisung
    m==9 ist ein vergleich



  • ahhh verdammt 🙂
    sorry das mit dm Forum
    das war schon einer meiner verzweiflungs versuche das mit dem Vergleich und der Zuweisung hab vergessen das zurück zu drehen bevor ich das hier reingeschrieben hab
    ich programmier noch nicht so lange
    aber nein das ist nicht der fehler leider 😞





  • Ich habs schon fertig hab einfach ein wenig herum gerechnet 🙂

    #include <stdio.h>
    #include <stdlib.h>
    
    //Prgrammierer: Özer Sidar 3BBEL
    //Titel: Einarmiger Bandit 
    
    int randt(int min, int max); 
    
    int main(int argc, char *argv[])
    {
      srand(time()); 
      int Zahl[3], K, C, A;  
    
      printf("\t\t\t*******************\n");  
      printf("\t\t\tEINARMIGER BANDIT\n");
      printf("\t\t\t*******************\n\n");
      printf("*******************Ihr Startkapital betraegt 10 Euro*******************\n\n");
      printf("\t|Zahl1|\tZahl2|\tZahl3|\t\t|Kapital|\n");
      system("PAUSE");
      A = 0; //der Counter: Zählt wieviele runden man gespielt hat 
        for(K=10; K>0; K--) //Start Kapital mit 10 gehts los bis 0 und jede runde weniger 1 
        {
                 for(C=0; C<=2; C++)
                 {
                          Zahl[C]=randt(1, 3); //Übergabe von min und max 
                          printf("\t  %d", Zahl[C]);
                 }
    
                                   if(Zahl[0] + Zahl[1] + Zahl[2]==3) //Der Gewinn bei was wieviel gewonnen wird 
                                   {
                                                K=K+3;
                                                printf("\nSie haben 3 Euro gewonnen");
                                   }
    
                                   if(Zahl[0] * Zahl[1] * Zahl[2]==8)
                                   {
                                                K=K+5;
                                                printf("\nSie haben 5 Euro gewonnen");
                                   }
                                   if(Zahl[0] + Zahl[1] + Zahl[2]==9)
                                   {
                                                K=K+7;
                                                printf("\nSie haben 5 Euro gewonnen");
                                   }
    
      printf("\t\t|%d\t ", K);
      A++;
      system("PAUSE");
      printf("\n");
    }
     if (K == 0)
        {
          printf("Sie haben %d Runden gespielt und all ihr Geld verloren \n", A);
          printf("ich hoffe es war ihnen eine Lehre!!!\n\n\n");
        }
    
      system("PAUSE");	
      return 0;
    }
    
    int randt(int min, int max) //Das Herzstück des Programms der Zufalls generator mit Flexiblen minimal und maximal wert
    {
       int a;
            a=((int)rand())%(max-min+1)+min; 
            return a;
    
    }
    


  • Dieser Thread wurde von Moderator/in CMatt aus dem Forum C# und .NET in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • SchafderVerdammnis schrieb:

    if(Zahl[0] + Zahl[1] + Zahl[2]==9)
                                   {
                                                K=K+7;
                                                printf("\nSie haben 5 Euro gewonnen");
                                   }
    

    Joa, Da haste aber 7€ gewonnen 😉 Außerdem ist K+=7; eleganter als K=K+7;

    SchafderVerdammnis schrieb:

    int randt(int min, int max) //Das Herzstück des Programms der Zufalls generator mit Flexiblen minimal und maximal wert
    {
       int a;
            a=((int)rand())%(max-min+1)+min; 
            return a;
                           
    }
    

    Da wär aber ein

    int myrand(int min, int max)
    {
     return (random(max)+min)+1; 
    }
    

    eleganter 😉



  • Und was ist dieses ominöse random()?



  • TactX schrieb:

    Und was ist dieses ominöse random()?

    Ach hoops, soory 😮 Das gibts nur unter meinem heißgeliebtem Borland C3.1 😃

    Vergiss einfach, was ich gesagt habe 🙂


Anmelden zum Antworten