עבור לתוכן

עזרה ב- C++ כתבתי תוכנית "נחש מספר" עם While עבל ברגע שאני מכניס מספר הוא כותב

Featured Replies

פורסם

לי את התגובה בלי סוף - לדוגמה The Number Is Too Small בלי הפסקה

מה אני יכול לעשות?

פורסם

כנראה שיש שם לולאה אינסופית או תנאי לא נכון... תבדוק את זה

פורסם
  • מחבר

הנה הסקריפט, אני יודע שכנראה יש משהו לא נכון אבל אני לא יודע איך אני מתקן את זה... אני noob ב- cpp.

#include <stdlib.h>

void main (){

int comp,user,count;

randomize();

comp=random(1000)+1;

count=0;

printf ("Please Guess A Number Between 1-1000");

scanf ("%d" , &user);

count++;

while (user!=comp){

if (user>comp)

printf ("The Number That You Have Entered Is Too Big, Please Try Again");

else

printf ("The Number That You Have Entered Is Too Small, Please Try Again");}

{

מאיזו שהיא סיבה זה יוצא פה הפוך אבל אני לא חושב שזה ישנה לכם, נכון?

פורסם

מיקמת את הלולאה במקום הלא נכון.

התוכנית שלך בעצם רואה שהמספר שהמשתמש הכניס לא שווה למספר ה-RANDOM וכותבת לו אינסוף פעמים שהמספר קטן או גדול מדי.

ה-WHILE שלך לא מסתיים כי USER תמיד לא שווה ל-COMP

פורסם
  • מחבר

אז מה אני יכול לעשות?

פורסם

אתה צריך לשים את ה-WHILE כך שהוא יעשה את כל התהליך שוב. הכוונה שיבקש שוב מהמשתמש מספר.

מה שהתוכנית שלך עושה כרגע זה מבקשת מספר פעם אחת ואז כל פעם שהמספר לא שווה ל-RANDOM זה יכתוב לך שזה גדול או קטן. הבעיה היא שהוא מבקש מהמשתמש מספר רק פעם אחת וזה תמיד לא שווה ל-RANDOM אז זה נכנס ללולאה אינסופית שכותבת שזה קטן או גדול מדי.

פורסם

תתחיל את הלולאה מעל לשורה הזאת:

printf ("Please Guess A Number Between 1-1000")

ותשנה את התנאי ל while user<>comp

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים