please answer me.show why my code does not loop and it repeats question number 1.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/*prints the ASCII art for "FAIL"*/
void ascii_fail(void)
{
printf(" /%c__%c /%c %c\n", 92,92,92,92);
printf(" /:/ _/_ /::%c %c ___ \n", 92,92);
printf(" /:/ /%c__%c /:/%c:%c %c /%c__%c\n", 92,92,92,92,92,92,92);
printf(" /:/ /:/ / /:/ /::%c %c /:/__/ ___ ___\n", 92,92);
printf(" /:/_/:/ / /:/_/:/%c:%c__%c /::%c %c /%c %c /%c__%c\n", 92,92,92,92,92,92,92,92,92);
printf(" %c:%c/:/ / %c:%c/:/ %c/__/ %c/%c:%c %c__ %c:%c %c /:/ /\n", 92,92,92,92,92,92,92,92,92,92,92,92);
printf(" %c::/__/ %c::/__/ ~~%c:%c/%c__%c %c:%c /:/ /\n", 92,92,92,92,92,92,92,92);
printf(" %c:%c %c %c:%c %c %c::/ / %c:%c/:/ /\n", 92,92,92,92,92,92,92,92,92);
printf(" %c:%c__%c %c:%c__%c /:/ / %c::/ /\n", 92,92,92,92,92,92,92);
printf(" %c/__/ %c/__/ %c/__/ %c/__/\n", 92,92,92,92);
}
/*prints the ASCII art for "Good!"*/
void ascii_good(void)
{ printf(" .88888. dP dP\n");
printf("d8' `88 88 88\n");
printf("88 .d8888b. .d8888b. .d888b88 88\n");
printf("88 YP88 88' `88 88' `88 88' `88 dP\n");
printf("Y8. .88 88. .88 88. .88 88. .88\n");
printf(" `88888' `88888P' `88888P' `88888P8 oo\n");
printf("oooooooooooooooooooooooooooooooooooooooo\n");
}
/*prints the ASCII art for "PERFECT!"*/
void ascii_perfect(void)
{ printf(" ____ U _____ u ____ _____U _____ u ____ _____ _\n");
printf("U%c _%c\\ u\\%c ___%c%c/U %c _%c\\ u %c%c ___%c%c ___%c%c/U /%c___%c%c_ %c _%cU%c%c%cu\n", 124,34,124,34,124,124,34,124,34,124,124,34,124,34,124,124,34,124,124,34,124);
printf("\\%c %c_) %c/ %c _%c%c \\%c %c_) %c/U%c %c_ u%c _%c%c \\%c %c u %c %c \\%c %c/\n", 124,124,124,124,124,34,124,124,124,124,124,124,124,34,124,124,124,124,124,124);
printf(" %c __/ %c %c___ %c _ < \\%c _%c/ %c %c___ %c %c/__ /%c %c\\ %c_%c\n", 124,124,124,124,124,124,124,124,124,124,124,124,124,124);
printf(" %c_%c %c_____%c %c_%c \\_\\ %c_%c %c_____%c \\____%cu %c_%cU (_)\n", 124,124,124,124,124,124,124,124,124,124,124,124,124);
printf(" %c%c>>_ << >> %c%c \\_) ( \\,- << >> _%c%c \\ _%c%c \\_ %c%c%c_\n", 124,124,47,47,47,47,47,47,124,124,124);
printf("(__)__) (__) (__) (__) (__)__)(_/(__) (__)(__)(__)__) (__)__)_)\n");
}
int main (void)
{
int op,d,e;
float score=0,items,ans,c,a,b,ratio;
int num,count=0;
time_t start, end;
puts("\t\tMath Drills");
puts("\tPutting your math skills to the test");
puts("");
/*requests for the number of drills to be printed*/
printf("Enter the number of drills: ");
scanf("&d", &items);
puts("");
start = time(0);
for(count=0; count!=items; count++)
{
/*generates random values for a and b*/
srand(time(NULL));
a=rand()%100+1;
srand(time(NULL)+1);
b=rand()%100+1;
/*generates random values for d and e (to be used in % operation)*/
srand(time(NULL)+2);
d=rand()%100+1;
srand(time(NULL)+3);
e=rand()%100+1;
/*generates a random number from 0 to 4, inclusive (this will deterimine the operation to be evaluated)*/
srand(time(NULL)+4);
op=rand()%5;
num=count+1;
/*prints the question provided by the random numbers*/
switch(op)
{
case 0: c=a+b;
printf("Question %d].\t%.0f + %.0f = ", num,a,b);
scanf("%f", &ans);
break;
case 1: c=a-b;
printf("Question %d].\t%.0f - %.0f = ", num,a,b);
scanf("%f", &ans);
break;
case 2: c=a*b;
printf("Question %d].\t%.0f * %.0f = ", num,a,b);
scanf("%f", &ans);
break;
case 3: c=a/b;
printf("Question %d].\t%.0f / %.0f = ", num,a,b);
scanf("%f", &ans);
break;
default: c=d%e;
printf("Question %d].\t%d %% %d = ", num,d,e);
scanf("%f", &ans);
break;
}
/*shows the answer and score update in each question*/
if (c==ans)
{ score++;
printf("\t\tGood! The answer is %.3f.\t(Score: %.0f)\n", c,score);
puts("");
}
else
{ printf("\t\tWrong! The answer is %.3f.\t(Score: %.0f)\n", c,score);
puts("");
}
}
ratio=(score/items)*100;
puts("");
printf("You got %.0f out of %.0f questions = %.2f%%\n", score,items,ratio);
if (ratio==0.00)
{printf("0 That%cs...just sad. Re-learn your math. ;___;\n", 39);
}
else if (ratio>0.00 && ratio<60.00)
{printf("(0,60) That%cs awful. You need to practice your math. =(\n", 39);
}
else if (ratio>=60.00 && ratio<90.00)
{printf("[60,90) Not bad. You can still do better though. :)\n");
}
else if (ratio<=90.00 && ratio<100.00)
{printf("[90,100) You%cre almost there! ^o^\n", 39);
}
else
{printf("100 That's what I'm talking about! ^_^\n");
}
puts("");
if (ratio<60.00)
ascii_fail();
else if (ratio>=60.00 && ratio<100.00)
ascii_good();
else if (ratio==100.00)
ascii_perfect();
printf("Finished in %.0f seconds.", difftime(end, start));
return 0;
}
this is the basis of my code.another code i made that is functional.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void ascii_fail(void)
{
printf(" /%c__%c /%c %c\n", 92,92,92,92);
printf(" /:/ _/_ /::%c %c ___ \n", 92,92);
printf(" /:/ /%c__%c /:/%c:%c %c /%c__%c\n", 92,92,92,92,92,92,92);
printf(" /:/ /:/ / /:/ /::%c %c /:/__/ ___ ___\n", 92,92);
printf(" /:/_/:/ / /:/_/:/%c:%c__%c /::%c %c /%c %c /%c__%c\n", 92,92,92,92,92,92,92,92,92);
printf(" %c:%c/:/ / %c:%c/:/ %c/__/ %c/%c:%c %c__ %c:%c %c /:/ /\n", 92,92,92,92,92,92,92,92,92,92,92,92);
printf(" %c::/__/ %c::/__/ ~~%c:%c/%c__%c %c:%c /:/ /\n", 92,92,92,92,92,92,92,92);
printf(" %c:%c %c %c:%c %c %c::/ / %c:%c/:/ /\n", 92,92,92,92,92,92,92,92,92);
printf(" %c:%c__%c %c:%c__%c /:/ / %c::/ /\n", 92,92,92,92,92,92,92);
printf(" %c/__/ %c/__/ %c/__/ %c/__/\n", 92,92,92,92);
}
void ascii_good(void)
{ printf(" .88888. dP dP\n");
printf("d8' `88 88 88\n");
printf("88 .d8888b. .d8888b. .d888b88 88\n");
printf("88 YP88 88' `88 88' `88 88' `88 dP\n");
printf("Y8. .88 88. .88 88. .88 88. .88\n");
printf(" `88888' `88888P' `88888P' `88888P8 oo\n");
printf("oooooooooooooooooooooooooooooooooooooooo\n");
}
void ascii_perfect(void)
{ printf(" ____ U _____ u ____ _____U _____ u ____ _____ _\n");
printf("U%c _%c\\ u\\%c ___%c%c/U %c _%c\\ u %c%c ___%c%c ___%c%c/U /%c___%c%c_ %c _%cU%c%c%cu\n", 124,34,124,34,124,124,34,124,34,124,124,34,124,34,124,124,34,124,124,34,124);
printf("\\%c %c_) %c/ %c _%c%c \\%c %c_) %c/U%c %c_ u%c _%c%c \\%c %c u %c %c \\%c %c/\n", 124,124,124,124,124,34,124,124,124,124,124,124,124,34,124,124,124,124,124,124);
printf(" %c __/ %c %c___ %c _ < \\%c _%c/ %c %c___ %c %c/__ /%c %c\\ %c_%c\n", 124,124,124,124,124,124,124,124,124,124,124,124,124,124);
printf(" %c_%c %c_____%c %c_%c \\_\\ %c_%c %c_____%c \\____%cu %c_%cU (_)\n", 124,124,124,124,124,124,124,124,124,124,124,124,124);
printf(" %c%c>>_ << >> %c%c \\_) ( \\,- << >> _%c%c \\ _%c%c \\_ %c%c%c_\n", 124,124,47,47,47,47,47,47,124,124,124);
printf("(__)__) (__) (__) (__) (__)__)(_/(__) (__)(__)(__)__) (__)__)_)\n");
}
int main(void)
{
int a,b;
int sum, ans, count=0, num;
float ratio, score=0, items;
time_t start, end;
puts("\t\tAddition Drills");
puts("\tPutting your math skills to the test");
puts("");
printf("Enter number of items: ");
scanf("%f", &items);
puts("");
start = time(0);
for(count=0; count!=items; count++)
{
num=count+1;
srand(time(NULL));
a=rand()%100+1;
srand(time(NULL)+1);
b=rand()%100+1;
sum=a+b;
printf("\tQuestion %d]. %d + %d = ", num,a,b);
scanf("%d", &ans);
if (ans==sum)
{
score++;
printf("\t\tGood!\t(Score: %.0f)\n", score);
puts("");
}
else
{
printf("\t\tWrong!\t(Score: %.0f)\n", score);
puts("");
}
}
end = time(NULL);
ratio=(score/items)*100;
puts("");
printf("You got %.0f out of %.0f questions = %.2f%%\n", score,items,ratio);
if (ratio==0.00)
{printf("0 That%cs...just sad. Re-learn your math. ;___;\n", 39);
}
else if (ratio>0.00 && ratio<60.00)
{printf("(0,60) That%cs awful. You need to practice your math. =(\n", 39);
}
else if (ratio>=60.00 && ratio<90.00)
{printf("[60,90) Not bad. You can still do better though. :)\n");
}
else if (ratio<=90.00 && ratio<100.00)
{printf("[90,100) You%cre almost there! ^o^\n", 39);
}
else
{printf("100 That's what I'm talking about! ^_^\n");
}
puts("");
if (ratio<60.00)
ascii_fail();
else if (ratio>=60.00 && ratio<100.00)
ascii_good();
else if (ratio==100.00)
ascii_perfect();
printf("Finished in %.0f seconds.", difftime(end, start));
return 0;
}
answer me asap.tnx.=)