צריכה עזרה בשפת C

סיסי6

New member
צריכה עזרה בשפת C

יש לי משחק איקס עיגול והוא לא עובד אם יש פה מישהו שמבין אני אשמח אם יעזור לי תודה
 

סיסי6

New member
מה לא עובד

כל פעם שאחד המשתמשים מקליד את המיקום בלוח אז התוכנית אמורה להדפיס את הלוח שכולו כוכביות ובמיקום שהוקלד X או O (תלוי בשחקן), ובמקום זה זה תמיד מדפיס הכל כוכביות. זה גם לא בודק כמו שצריך את תקינות הקלט
 

vinney

Well-known member
תקרא באחד השרשורים הסמוכים

דיון מקיף שעשינו על scanf זאת פונקציה מסוכנת, תראה שהקלט שאתה מבצע , אכן מתבצע כמו שצריך. כי הוא לא. scanf מקבלת כפרמטרים מצביעים, אתה מעביר משתנים, אין שום סיכוי שהקלט שלך יעבוד, יותר מזה מפליא שהתוכנית שלך בכלל עובדת ולא מתרסקת. פה
while ((CheckIlegalMove(board,i,j))==0) { printf("Please enter again\n"); scanf("%d%d",i,j); CheckIlegalMove(board,i,j); }​
הקריאה השניה לCheckIlegalMove (אגב, זה Illegal, שני L) מיותרת. בפונקציה הזאת אתה גם לא בודק אם הrow ו col שלך חיוביים, מספר שלילי אצלך הוא תקין? לא נראה לי. גם הtemp שם די מיותר. הקיצור, תקן את הבעיה של הscanf, ותמשיך משם.
 
למעלה