hi all...i am a not that much in programming ...

i would ask you how i can generate a multiple choice question chosen randomly from a list of questions with answers using functions in C program ...i know how to generate random numbers only ...

help me please ,,, as soon ,,,

thank u...

but i still don't know how to use array ...i know functions only ....if u can write some of the code ...

>but i still don't know how to use array
So use a series of if statements, do you know how to use those? :rolleyes:

int r = rand() % N;

if ( r == 0 )
  /* First question */
else if ( r == 1 )
  /* Second question */
...
else if ( r == N - 1 )
  /* Nth question */

i try these code that i want 2 questions appear randomly from 3 quetions ..but still don't work.. :sad: :sad:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int N,counter,i;
    int r = rand() % N;

    for(i=1;i<=2;i++)
    {
    if(r==0)
    printf("2*2=\na)4  b)2  c)3  d)5\n");
    if(getchar()=='a');
    counter++;

    else if(r==1)
    printf("2*5=\na)3  b)10  c)4   d)2\n");
    if(getchar()=='b');
    counter++;

    else if(r==2)
    printf("2*9=\na)3  b)10  c)18   d)2\n");
    if(getchar()=='c');
    counter++;

    }
printf("your score is %d\n", counter);

}

Edited 3 Years Ago by Dani: Formatting fixed

Comments
Use code tags.

Call rand every time you want a random number. If you only get one random number then you'll always have the same question. You would think this would be obvious. I guess I just expect too much from other people.

I still can't solve it >>>

thank u ...and if u can give more help ...i'd be happy ..i try it ...but i can't generate random questions ....

thank u ...

#include <stdio.h>
#include <stdlib.h>

int main()
{
  int N = 3,counter,i;

  for(i=0;i<10;i++)
  {
    int r = rand() % N;

    if(r==0) {
      printf("2*2=\na)4 b)2 c)3 d)5\n");
      if(getchar()=='a')
        counter++;
    }
    else if(r==1) {
      printf("2*5=\na)3 b)10 c)4 d)2\n");
      if(getchar()=='b')
        counter++;
    }
    else if(r==2) {
      printf("2*9=\na)3 b)10 c)18 d)2\n");
      if(getchar()=='c')
        counter++;
    }
    getchar();
  }
  printf("your score is %d\n", counter);

  return 0;
}

it runs .... :)

thannnnnnk u very much

and sorry for inconvenience....

>and sorry for inconvenience....
No, it's my fault. I didn't look closely enough at the code to see all of your problems. If I had things would have gone much more quickly, and for that I appologize.

This article has been dead for over six months. Start a new discussion instead.