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.