brauche hilfe bei einem multiple chioce test

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • brauche hilfe bei einem multiple chioce test

    hi, kann mir jemand sagen wie ich auf einfache art(is mein erstes programm) das so programmiert kriege, das er jede frage nur einmal aufruft(ohne zufallsfunktion und eine frage nach der anderen, mit der möglichkeit eine frage zu überspringen)?
    und wie ich einen prozentrechner zufüge, der zur prozentzahl der richtigen noten eine zugewiesene note ausgibt?

    Wäre echt super wenn mir jemand hilft!!!!
    danke im vorraus


    #include <stdio.h>
    #include <stdlib.h>
    #define ANZAHL_FRAGEN 10
    //Anzahl der Fragen, die in der Liste stehen wird definiert

    // Zufallsfunktion, die einen Wert zwischen a und e zurückgibt und mit irand(a,e) aufgerufen wird
    int irand( int a, int e)
    {
    double r = e - a + 1;
    return a + (int)(r * rand()/(RAND_MAX+1.0));
    }


    // Das Hauptprogramm

    int main(int argc, char *argv[])
    {
    // Variablendeklaration
    int var,richtig=0,fragen=0, RAntwort=0,aktiv=1;

    //While Schleife zur Wiederholung der Fragen
    while (aktiv) {

    //Ausführen des Zufallsgenerators



    // Switch Funktion, in der die Randomfunktion gestartet wird,
    // um einen Wert zwischen 1 und 10 zu erhalten, der dann die entsprechende Frage auswählt

    switch (irand(1,ANZAHL_FRAGEN))
    {
    case 1: printf("Frage1 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    // Richtig kriegt jeweils den Wert der vor der richtigen Antwort steht
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");
    break;

    case 2: printf("Frage2 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");

    break;

    case 3: printf("Frage3 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");
    break;


    case 4: printf("Frage4 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");

    break;

    case 5: printf("Frage5 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");
    break;

    case 6: printf("Welche Farbe haben die Schlümpfe \n");
    printf("(1) grün\n");
    printf("(2) blau\n");
    printf("(3) gelb\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");

    break;

    case 7: printf("Frage7 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");
    break;


    case 8: printf("Frage8 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");

    break;

    case 9: printf("Frage9 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");
    break;


    case 10: printf("Frage10 \n");
    printf("(1) Falsche Antwort\n");
    printf("(2) Richtige Antwort\n");
    printf("(3) Falsche Antwort\n");
    richtig = 2;
    printf("Bitte Antwort eingeben (1 | 2 | 3)\n");

    break;



    }



    //die gegebene Antwort wird in var eingelesen
    scanf("%d",&var);

    // Es wird überprüft ob die Antwort richtig war
    if (var == richtig){
    printf("Richtige Antwort\n\n");
    RAntwort++;
    }
    else {
    printf("Das war die falsche Antwort\n\n");
    }

    // Abfrage ob noch eine Frage gestellt werden soll
    printf("Zum Aufhoeren 0 eingeben, sonst 1\n\n");
    scanf("%d",&aktiv);
    printf("\n");
    fragen++;


    }
    // Ausgabe
    printf("%d Richtige Antworten bei %d Fragen\n",RAntwort,fragen);

    // Pause bis eine Eingabe gemacht wird
    system("PAUSE");
    return 0;
    }

    :?: :?: