voert het niet het aantal keer uit dat zou moeten ? waar gaat het mis ?

Status
Niet open voor verdere reacties.

banenboom4

Nieuwe gebruiker
Lid geworden
17 feb 2009
Berichten
4
[CPP]
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>



int main()

{

srand((unsigned)time(0));

int random_integer,i=1,w=1;
char herh='j';
int lowest=1, highest=6;

int range=(highest-lowest)+1;

while(herh=='j'){
printf("worp %d \n",w);

for(int index=0; index<3; index++)
{

random_integer = lowest+int(range*rand()/(RAND_MAX + 1.0));



printf(" dobbelsteen %d %d \t",i, random_integer );
printf("\n");
i++;

}
printf(" Wilt u nog eens gooien om een betere score te proberen te halen ? (j/n) \n ");
scanf("%c",&herh);
i=1;
w++;
}
getch();
return 0;

}

[/CPP]

Dit is dus mijn code hij zou dit stukje code maximum 3 keer mogen uitvoeren of totdat de gebruiker beslist dat hij het niet meer wil maar hij voert dit maar 2 keer uit . Wat is er mis aan mij code het is C .

Alvast bedankt voor jullie hulp
 

Bijlagen

  • uitvoer.PNG
    uitvoer.PNG
    13,6 KB · Weergaven: 36
probeer dit eens en anders < veranderen in <=

Code:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
 
 
 
int main()
 
{
 
srand((unsigned)time(0));
 
int random_integer,i=1,w=1;
char herh='j';
int lowest=1, highest=6;
 
int range=(highest-lowest)+1;
 
while(herh=='j'){
    printf("worp %d \n",w);
 
        for(int index=0; index<3; index++)//of <=
        {
 
                random_integer = lowest+int(range*rand()/(RAND_MAX + 1.0));
 
 
 
                printf("  dobbelsteen %d %d \t",i, random_integer );
                printf("\n");
                i++;
 
        }
                printf(" Wilt u nog eens gooien om een betere score te proberen te halen ? (j/n) \n ");
                scanf("%c",&herh);
    i=0;
    w++;
}
getch();
return 0;
 
}
 
heb er ondertussen al dit van gemaakt , nu oert hij het 3 keer uit of totdat ik n type zoals gevraag zit nu nog enkel met volgend ^robleem hij vraagt mij na mijn derde beurt ook nog of ik nog eens wil hoe kan ik ervoor zorgen dat hij me dat maar 2 keer vraagt

zie code hieronder
[CPP]

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

int main()

{

srand((unsigned)time(0));

int aantal_ogen[3],i,w=1,j;
char p[1]={'j'};
int lowest=1, highest=6;
int range=(highest-lowest)+1;
do{

printf("worp %d \n",w);

for( i=0; i<3; i++)
{

aantal_ogen= lowest+int(range*rand()/(RAND_MAX + 1.0));
printf(" %d", aantal_ogen);
printf("\n");

}
printf(" Wilt u nog eens gooien om een betere score te proberen te halen ? (j/n) \n ");
scanf("%c",&p);
w++;
i=0;
scanf("%c",&p);
gaat dus om dit stuk code daar zit het ergens als ik de tweede scanf wegdoe krijg ik het maar 1 keer en geeft hij beurt 2 en 3 tegelijkertijd .
}while(p != 'n' && w <= 3);

return 0;

}

[/CPP]

Alvast bedankt
 

Bijlagen

  • uitvoer.PNG
    uitvoer.PNG
    15,7 KB · Weergaven: 31
Laatst bewerkt:
iemand een oplossing ? heb me er al suf achter gezocht ma zie niet wat er fout aan is
 
kijk eens naar de paramaters van je while loop

je kan niet doen

if ('x' = 'x'
 
Je hebt een loop die drie keer het volgende doet:
Doe een worp.
Vraag of je nog een keer wilt.

Als je wilt dat hij de derde keer niet meer vraagt of je nog een keer wilt:
Loop die het volgende drie keer doet:
Doe een worp.
Als het niet de derde keer is: vraag of je nog een keer wilt.

Zet dus een if-statement om de nog-een-keer-vraag heen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan