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;
}
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;
}

