semmonen ois etten saa tätä näkyviin.
while(b < pelaajan_1_nro || b > pelaajan_1_nro);
printf("correct, pelaaja_2");#include <stdio.h>
int main(void)
{
int a, b, pelaajan_1_nro, pelaajan_2_nro;
printf("Only numbers between 1-100 is allowed. GL & HF.");
printf("\n");
printf("pelaajan_1_nro: ");
scanf("%i", &pelaajan_1_nro);
system("cls");
printf("pelaajan_2_nro: ");
scanf("%i", &pelaajan_2_nro);
system("cls");
do {
printf("\n");
printf("Peli alkaa! \nPelaaja_2, arvaa pelaajan_1_nro.");
printf("\n");
scanf("%i", &b);
printf("\n");
if(b < pelaajan_1_nro)
printf("too low, pelaaja_2");
if(b > pelaajan_1_nro)
printf("too high, pelaaja_2");
printf("\n");
printf("Pelaaja_1, arvaa pelaajan_2_nro.");
printf("\n");
scanf("%i", &a);
printf("\n");
if(a < pelaajan_2_nro)
printf("too low, pelaaja_1");
if(a > pelaajan_2_nro)
printf("too high, pelaaja_1");
printf("\n");
printf("______________________________________________________");
printf("\n");
}while(a < pelaajan_2_nro || a > pelaajan_2_nro);
printf("correct, pelaaja_1");
printf("\n");
while(b < pelaajan_1_nro || b > pelaajan_1_nro);
printf("correct, pelaaja_2");
printf("\n");
getch();
}Mod. lisäsi kooditagit
Sullahan ei ole mitään do {} lohkoa tuossa while:n edessä.
Ja kooditagit on muuten kans kivat.
Grez kirjoitti:
Sullahan ei ole mitään do {} lohkoa tuossa while:n edessä.
Ja kooditagit on muuten kans kivat.
Niin että jos tosta sais jotenki sen näkyvii koska oon koittanu survoo sitä do{ }while siihe ja ei ole auttanu.
Ja saattaa olla etten osaa laittaa sitä oikein.
No siis sulla on yksi do-while looppi, josta poistutaan jos pelaaja 1 arvaa oikein. Siis vaikka pelaaja 2 arvais oikein, niin siitä loopista ei poistuta.
Eli tee siis ekan loopin while lauseeseen tarkistus, jossa tarkistetaan molempien pelaajien arvaukset ja sitten vaikka if:llä tulostat onnittelut sille tai niille, joka/jotka arvasi oikein.
Erotanko mä sitten pilkulla ne molemmat lauseet esim.
while(b < pelaajan_1_nro || b > pelaajan_1_nro , a < pelaajan_2_nro || a > pelaajan_2_nro);
Ehkä ennemmin && joka siis palauttaa tosi, jos molemmat ehdot täyttyvät.
while (b != pelaajan_1_nro && a != pelaajan_2_nro)
Itse tekisin varmaan koko roskan seuraavasti:
#include <stdio.h>
int main(void)
{
int vastaus[2];
int arvattava[2];
int i;
printf("Vain numeroita 1-100 kiitos. OP & KV.");
printf("\n");
for (i=0; i<2; i++)
{
printf("Pelaajan %d nro: ",i+1);
scanf("%d", &arvattava[i]);
system("cls");
}
printf("Peli alkaa!\n");
int go = 1;
do
{
for (i=0; i<2; i++)
{
printf("\n");
printf("Pelaaja %d, arvaa pelaajan %d nro.\n", 2-i, i+1);
scanf("%d", &vastaus[i]);
printf("\n");
if(vastaus[i] < arvattava[i])
printf("Alle meni, pelaaja %d\n", 2-i);
if(vastaus[i] > arvattava[i])
printf("Yli meni, pelaaja %d\n", 2-i);
if(vastaus[i] == arvattava[i])
{
printf("Oikein, pelaaja %d\n", 2-i);
go = 0; //stop after this round
}
}
printf("\n______________________________________________________\n");
} while (go);
}Kiitoksia!
Aihe on jo aika vanha, joten et voi enää vastata siihen.