Re: C program help
Tim Walberg <[email protected]>
| Newsgroups | org.kernel.vger.linux-c-programming |
|---|---|
| Message-ID | <[email protected]> |
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 [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
End of included message
--
[email protected]