Zufallszahlen in ein Array legen, jedoch diese in Buchstaben umwandeln.



  • Abcd



  • Abcd



  • Abcd



  • Dein Code ist sehr schlecht lesbar. Bitte ändere das um in

    #include<stdio.h>
    #include<stdlib.h>
    
    int eingabe();
    
    int main()
    {
    printf("%i\n",eingabe());
    
    return 0;
    }
    


  • Beschreib mal, was du machen möchtest und nicht wie du es machen möchtest.

    Was soll der Nutzer eingeben und was soll dann passieren.

    Soll das Mastermind werden?
    ^(wegen der Farben.)^

    srand ruft man nur einmal im ganzen Programm auf. Am Besten ziemlich am Anfang von main.



  • Hallo Danke nochmals für die konstruktiven Feedback. Das Programm war wirklich schlecht lesbar. Daher hab ich es auch rausgenommen. Nun aber hab ich eine weitere Frage zu diesem Programm, ach übrigens es sollte Mastermind darstellen. Leider bin ich noch nicht soweit dass ich das Prog. auf Gtk laufen lassen kann.

    Meine Frage lautet: Wie kann ich das von einer Funktion erstellte Array an eine andere Funktion weiterleiten?
    Das weitergeleitete Array soll mit dem Array verglichen werden welches in der Funktion Zufallszahl erstellt worden ist.
    Das Zufallsarray darf nicht mehr neu erstellt werden und somit const. sein. wie und wo dekl. ich diese mörderische Aufgabe? Danke im Voraus.
    lg Fa

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include<math.h>
    #include<stdbool.h>
    int wahl; // Spielstufen Auswahl
    int secretcode; //Geheimcode des Zufallgenerators

    int spielvariante();
    int zufallsZahlen();
    int arrayVergleich();
    int arraySpieler[];
    char z;
    int Code;
    char c = 129;
    char a = 132;
    char O = 148;

    int main()
    {
    spielvariante();

    return 0;
    }
    spielvariante()
    {
    int i;

    int counter = 5;

    for(i=0;i<6;i++)
    {

    printf("\n\n");

    printf("Bitte geben Sie eine gew%cnschte Schwierigkeitsstufe ein:\n\n\n",c);
    printf("********************************************************\n");
    printf("\n\n");
    printf("Easy >\tTaste 1\nMedium >\tTaste 2\nHard >\tTaste 3 \n\n");
    printf("Ihre Eingabe: ");

    scanf("%i",&wahl);

    if(wahl==1)
    {
    return eingabeEasy();//,zufallsZahlen(wahl=3);
    break;
    }
    if(wahl==2)
    {
    return eingabeMedium();//,zufallsZahlen(wahl=4);
    break;
    }
    if(wahl==3)
    {
    return eingabeHard();//,zufallsZahlen(wahl=5);
    break;
    }
    // if(wahl==A && wahl==Z || wahl==a && wahl==z)
    else
    {
    printf("");
    printf("Diese Eingabe war falsch,bitte versuchen Sie es erneut!! \n\n\n",counter);
    printf("\n-----------------------------------------------------------------\n");
    printf("Sie haben noch %i Versuche:\n",counter);
    printf(".........................\n\n");
    counter--;
    continue;
    }

    }

    return 0;
    }
    int eingabeEasy()
    {
    int zahl0,zahl1,zahl2;
    int i;
    char z;
    printf("\n");
    printf("Bitte w%chlen Sie aus den folgenden Farben eine 3-stellige Farbkombination aus:\n\n",a);
    printf("1 = Gr%cn\n2 = Blau\n3 = Rot\n4 = Violett\n\n\n",c);

    printf("Ihre Eingabe: ");
    printf("... ");
    scanf("%c%c%c%c",&z,&zahl0,&zahl1,&zahl2);

    char arraySpieler[] = {zahl0,zahl1,zahl2};

    for(i=0;i<3;i++)
    {
    printf("Ihre Eingabe an Position\t[%d] = Zahl[%c]\n",i,arraySpieler[i]);
    }

    zufallsZahlen(wahl=3);

    return 0;
    }
    int eingabeMedium()
    {
    char zahl0,zahl1,zahl2,zahl3;
    int i;
    char z;
    printf("\n");
    printf("Bitte w%chlen Sie eine 4-stellige Farbkombination,\naus den folgenden Farben aus:\n\n",a);
    printf("1 = Gr%cn\n2 = Blau\n3 = Rot\n4 = Violett\n5 = Orange\n\n\n",c);

    printf("Ihre Eingabe: ");
    printf(".... ");
    scanf("%c%c%c%c%c",&z,&zahl0,&zahl1,&zahl2,&zahl3);

    char arraySpieler[] = {zahl0,zahl1,zahl2,zahl3};

    for(i=0;i<4;i++)
    {
    printf("Ihre Eingabe an Position\t[%d] = Zahl[%c]\n",i,arraySpieler[i]);
    }

    zufallsZahlen(wahl=4);

    return 0;
    }
    int eingabeHard()
    {
    char zahl0,zahl1,zahl2,zahl3,zahl4;
    int i;
    char z;
    printf("\n");
    printf("Bitte w%chlen Sie eine 5-stellige Farbkombination,\naus den folgenden Farben aus:\n\n",a);
    printf("1 = Gr%cn\n2 = Blau\n3 = Rot\n4 = Violett\n5 = Orange\n6 = Weiss\n\n",c);

    printf("Ihre Eingabe: ");
    printf("..... ");
    scanf("%c%c%c%c%c%c",&z,&zahl0,&zahl1,&zahl2,&zahl3,&zahl4);

    char arraySpieler[] = {zahl0,zahl1,zahl2,zahl3,zahl4};

    for(i=0;i<5;i++)
    {
    printf("Ihre Eingabe an Position\t[%d] = Zahl[%c]\n",i,arraySpieler[i]);
    }

    zufallsZahlen(wahl=5);

    return 0;
    }
    int zufallsZahlen()
    {
    int i,zahl,j;
    char zufall[wahl];
    bool tw;
    int rFarbe,rFarbe_Position;
    char y = 63;
    srand(time(NULL));

    for(i = 0; i < wahl; i++)
    {
    zahl = rand()%wahl+1;

    for(j = 0; j < i; j++)
    {
    if(zahl ==zufall[j])
    tw = false;
    }

    if(tw)
    zufall[i] = zahl;
    else
    {
    tw = true;
    i--;
    }
    }
    for(i = 0; i < wahl; i++)
    {
    printf("Position des Zufallgenerators [%i] = zufall[%i]\n",i,zufall[i]);
    }

    return 0;
    }
    /*arrayVergleich(int arraySpieler[],int code[]) // Array vergleichen
    {
    int i = 0;
    int d = 0;
    int f;
    int rFarbe = 0;
    int rFarbe_Position = 0;

    return 0;
    }
    */

    /*
    // Array vergleichen

    i = 0;
    d = 0;
    int f;
    int rFarbe = 0;
    int rFarbe_Position = 0;

    d = 0;

    for (i = 0; i < medium; i++)
    {
    ++d;

    for(f = 0; f < medium; f++)
    {
    if (zahl[i] == zufall_zahl[f])
    {
    rFarbe ++;
    break;
    }
    }

    if (zahl[i] == zufall_zahl[i])
    {
    rFarbe_Position ++;
    }

    }

    printf("rFarbe %i und rFarbe_Position %i/n\n", rFarbe, rFarbe_Position);
    }

    return 0;
    }



  • Da du ja mittlerweile weißt, wie man Beiträge editiert, mach es mit deinem letzten Beitrag und füge noch Code-Tags ein:

    Cursor an den Anfang vom Code setzen und auf den C-Button unter dem 😡 klicken.
    Dann dasselbe nochmal am Ende vom Code.
    (oder Code mit der Maus markieren und einmal auf den Button klicken)

    Vorschaufunktion vom Forum nutzen.



  • Was ich trotz nichtformatiertem Code sehen konnte:

    Deine Funktionen haben erstaunlich wenig Parameter.
    Daher sicherlich auch die vielen globalen Variablen.

    DirkB schrieb:

    srand ruft man nur einmal im ganzen Programm auf. Am Besten ziemlich am Anfang von main.


Anmelden zum Antworten