Вот мой код. Это простой номер игры, в котором пользователь пытается угадать случайное число, однако я не могу понять, почему он никогда не побеждает ... Есть две вещи, которые возникают у меня проблемы решения 1) пользователь никогда не угадает правильный номер 2) Я хочу, чтобы иметь крышку 3 попыток угадывания, хотя я не могу показаться, поймать то, что я с видомПростая программа для случайных чисел
// C_program_random_number_game
#include<stdio.h>
#include<time.h>
#include <stdlib.h>
int main(){
srand(time(NULL));
int num1,x;
char game, cont, replay;
printf("Would you like to play a game? : ");
scanf("%c",&game);
if (game == 'y' || game == 'Y'){
printf("\nThe rules are simple. You have have 5 tries to guess the computers number. \n \n If you succeed you win the game, if you dont you lose the game. Good luck!");
do{
int r = rand()%25 +1;
printf("\n\nEnter a number between 1 and 5 : ");
scanf("%d",&num1);
do{
for(x=1; x<=3; x++){
if(num1 < r){
printf("\nClose! try a little higher... : ");
}
else if (num1 > r){
printf("\nClose! try a little lower...: ");
}
scanf("%d",&num1);
}
}while(num1!=r || x <= 3);
printf("\nWinner! >> you entered %d and the computer generated %d! \n",num1, r);
printf("\nWould you like to play again? (y or n) : ");
scanf("\n%c",&replay);
}while(replay == 'y'|| replay == 'Y');
}
printf("Thanks for playing! ");
if (game == 'n' || game == 'N'){
printf("Okay, maybe next time! ");
}
return 0;
}
Вы помещаете '(num1 == r)' in '(num1! = R)' .... – moeCake
Im confused ... Я переключаю их? – Djeter277
хорошо, это просто не имеет смысла, потому что цикл while гарантирует, что num1! = R, а затем внутри вы проверите, будет ли он равен .., который, таким образом, никогда не будет истинным – ASKASK