rand() returnerer et heltal mellem 0 og RAND_MAX (en konstant defineret til 32767)
Så siger jeg resultatet af rand() % 30. % er operatoren MODULUS, som dividerer et tal (tælleren) med i et andet (nævneren) og returnerer \"resten\", dvs. den del af tælleren, som ikke kunne deles med nævneren. På den måde får jeg så et tal mellem 0 og 29. Dertil lægger jeg 1, og har dermed fået et tal mellem 1 og 30.
rand() genererer tilfældige tal udfra en \"talrækkefølge\" den vil være ens hver gang man starter sig program, med mindre du kalder srand().
if (c==regnet rigtigt) printf(\"juhhh\"); else printf(\"noooo\"); }
Find ud af, hvordan mit eksempel passer ind her. Når du så har fået det til at virke, så vil du nemmere kunne finde ud af det andet.
Jeg beklager meget, at jeg ikke vil servere løsningen for dig på et fad (lad bare være med at give mig point). Det skyldes min fortid som underviser... ;-)
Ja, ja - hvorfor lave det enkelt, når man med en lille smule besvær kan lave det kompliceret !!!
Prøv dette:
#include <conio.h> #include <math.h>
int (main(void) { int a, b, c, i; int rigtige, forkerte;
randomize(); rigtige = forkerte = 0; for (i = 0; i < 10; i++) { a = random() % 30 + 1; b = random() % 30 + 1;
printf(\"Spørgsmål %2d: Hvad er %d + %d: \", i, a, b); scanf(\"%d\", c); if (c==(a+b)) { printf(\"Succes\"); rigtige++; } else { printf(\"Forkert\"); forkerte++; }; }; // 10 spørgsmål. printf(\"Ud af %d spørgsmål havde du %d rigtige og %d forkerte.\", i, rigtige, forkerte); return 0; }
infected_user >> følg lige lidt med, vi er længe forbi det problem.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.