私はC++では使用されていませんが(C++で一対一でプログラムされています)、問題はrand宣言にあると思います。
Try using rand() % 3 + 1;
これは、時間を考慮して動作しない場合は(0)、それが適切に(通常の言語がランダムにミリ秒を取るプログラミング)ランダム化する「NOW」の値をとることがあります。 PD:私が言ったことは間違っているかもしれません。
/* rand example: guess the number */
#include <stdio.h> /* printf, scanf, puts, NULL */
#include <stdlib.h> /* srand, rand */
#include <time.h> /* time */
int main()
{
int iSecret, iGuess;
/* initialize random seed: */
srand (time(NULL));
/* generate secret number between 1 and 10: */
iSecret = rand() % 10 + 1;
do {
printf ("Guess the number (1 to 10): ");
scanf ("%d",&iGuess);
if (iSecret<iGuess) puts ("The secret number is lower");
else if (iSecret>iGuess) puts ("The secret number is higher");
} while (iSecret!=iGuess);
puts ("Congratulations!");
return 0;
}
乾杯:1から10の作業へのrandの例があります
!
さらに詳しいコードは – eavidan
[MCVE]の例を含めてください。 – NonCreature0714
関連性があります:http://stackoverflow.com/questions/2129705/why-is-rand-anything-always-0-in-c?rq=1 – HolyBlackCat