Re: C program help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Not tested, but here's a simple (not very efficient or elegant, but
reasonable) concept. It's basically keeping a history, and postprocessing
the history to generate the lists. It might be better to keep separate
right/wrong lists as you go, but it's not as simple...


#include <stdio.h>
#include <stdlib.h>
#define NPROBLEMS 10

int main()
{ int x[NPROBLEMS], y[NPROBLEMS], right_answer[NPROBLEMS], given_answer[NPROBLEMS];
  int nright, nwrong;
  int i;

  for (i = 0; i < NPROBLEMS; ++i)
  { x[i] = i;
    y[i] = i;
    right_answer[i] = x[i] + y[i];
    printf("What is %d + %d? ", x[i], y[i]);
    scanf("%d", &(given_answer[i]));

    if (given_answer[i] == right_answer[i])
    { printf("%d is RIGHT answer\n", given_answer[i]);
      ++nright;
    }
    else
    { printf("%d is WRONG answer; the RIGHT answer is %d\n", given_answer[i], right_answer[i]);
      ++nwrong;
    }
  }

  printf("You got %d right and %d wrong\n", nright, nwrong);

  printf("Right answers:");
  for (i = 0; i < NPROBLEMS; ++i)
    if (right_answer[i] == given_answer[i])
      printf(" %d", given_answer[i]);
  printf("\n");

  printf("Wrong answers:");
  for (i = 0; i < NPROBLEMS; ++i)
    if (right_answer[i] != given_answer[i])
      printf(" %d", given_answer[i]);
  printf("\n");

  return 0;
}

  
On 09/19/2009 08:13 -0700, spiros85 wrote:
>>	
>>	Hi guys of dear forum!I am a new programmer in C programming language and i
>>	have a question for you about the following C code:
>>	#include <stdio.h>
>>	#include <stdlib.h>
>>	
>>	int main()
>>	{
>>	    int x;
>>	    int answer;
>>	    int right;
>>	    int wrong;
>>	    printf("This is a program of sum\n");
>>	    right = 0; /*Initialization of right value*/
>>	    wrong = 0; /*Initialization of wrong value*/
>>	    for(x = 1; x <= 10; x++)[QUOTE][/QUOTE]
>>	    {
>>	          printf("What is %d + %d: ", x, x);
>>	          scanf("%d", &answer);
>>	          printf("The sum is %d\n", answer);
>>	          printf("\a");
>>	          if(answer == x + x)
>>	          {
>>	             printf("%d is RIGHT answer\n", answer);
>>	             right++; /*Saves and increases the amount of right answers*/
>>	          }
>>	          else
>>	          {
>>	             printf("%d is WRONG answer\n", answer);
>>	             b[10] = answer;
>>	             wrong++; /*Saves and increases the amount of wrong answers*/
>>	             printf("The correct answer is %d\n", x + x);
>>	          }
>>	    }
>>	    printf("The right answers are %d and the wrong are %d\n", right, wrong);
>>	    fflush(stdin);
>>	    getchar();
>>	}
>>	 
>>	First, I use DEV C++ compiler!This program asks from user to find the sum of
>>	1+1,2+2 until for loop reaches 10.As you can observe with right++ and
>>	wrong++ i can define and print to the screen the amount of right or wrong
>>	numbers!
>>	My question is how could I define the number of correct and wrong numbers in
>>	collaboration with their amount?For example:
>>	The right answers are 8 and wrong are 2
>>	The right answers are 2 4 6 8 10 12 14 16
>>	The wrong answers are 22 44
>>	-- 
>>	View this message in context: http://www.nabble.com/C-program-help-tp25522429p25522429.html
>>	Sent from the linux-c-programming mailing list archive at Nabble.com.
>>	
>>	--
>>	To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>>	the body of a message to majordomo@xxxxxxxxxxxxxxx
>>	More majordomo info at  http://vger.kernel.org/majordomo-info.html
End of included message



-- 
twalberg@xxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux