All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim Walberg <twalberg@comcast.net>
To: spiros85 <spirosfr_1985@hotmail.com>
Cc: linux-c-programming@vger.kernel.org
Subject: Re: C program help
Date: Sat, 19 Sep 2009 10:38:20 -0500	[thread overview]
Message-ID: <20090919153820.GC947@comcast.net> (raw)
In-Reply-To: <25522429.post@talk.nabble.com>

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@vger.kernel.org
>>	More majordomo info at  http://vger.kernel.org/majordomo-info.html
End of included message



-- 
twalberg@comcast.net

  reply	other threads:[~2009-09-19 15:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-19 15:13 C program help spiros85
2009-09-19 15:38 ` Tim Walberg [this message]
2009-09-19 15:51 ` Manish Katiyar
2009-10-09 12:10 ` shiva kumar
2009-12-29  4:50 ` vignesh1988i

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090919153820.GC947@comcast.net \
    --to=twalberg@comcast.net \
    --cc=linux-c-programming@vger.kernel.org \
    --cc=spirosfr_1985@hotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.