【发布时间】:2023-04-10 21:15:01
【问题描述】:
我最近开始学习如何用 C 编程。我在网上上课,我们要做的一个项目是创建一个游戏,让计算机在两个常数之间产生一个随机数,然后用户应该尽可能少地尝试找到它。
我正在尝试实现一种方法来计算每次程序通过循环时的尝试次数(向计数器添加 +1),但我得到的只是每当我执行程序时尝试次数为 -472188416你可以在这里看到Program after execution。我不明白为什么......提前谢谢你。
这是我制作的代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
const int MIN = 1;
int nombreMystere = 0, nombreUser = 0, continuerPartie = 1, MAX = 0, Niveau = 0;
srand(time(NULL));
int compteurCoups = 1;
do
{
printf("Bienvenue qu jeu du numero mystere\n");
printf("Trouvez le bon numero en un minimum de coups\n\n");
printf("Tapez 1 pour le mode facile\n");
printf("Tapez 2 pour le mode moyen\n");
printf("tapez 3 pour le mode difficile\n");
switch(Niveau)
{
case 1:
MAX = 10;
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
case 2:
MAX = 100;
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
case 3:
MAX = 1000;
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
default:
printf("Veuillez introduire un nombre entre 1 et 3 : ");
scanf("%d", &Niveau);
break;
}
do
{
printf("Quel est le nombre ? ");
scanf("%d", &nombreUser);
if (nombreUser > nombreMystere)
{
printf("C'est moins !\n");
nombreUser++;
}
else if (nombreUser < nombreMystere)
{
printf("C'est plus !\n");
nombreUser++;
}
else
{
printf("Bravo, vous avez trouve le nombre mystere en %d essais !!!\n"), compteurCoups;
printf("Voulez vous rejouer ?\n");
printf("Si oui appuyer sur 1, sinon si vous voulez quitter appuyez sur 2\n");
scanf("%d", &continuerPartie);
printf("\n");
}
}while (nombreUser != nombreMystere);
}while (continuerPartie == 1);
return 0;
}
【问题讨论】: