פורסם 2010 במרץ 1215 שנים שלום,אני צריך לצרף בדיקת קלט לתכנית האמורה לקבל מספרים שלמים בלבד.צירפתי בדיקת קלט בדיוק כפי שהופיע בהנחיות.מה שקורה זה שאם אני מכניס מספר שלם ואחריו מספר ממשי, הוא לא מזהה את הבעיה.(אם המספר הראשון שאני מכניס הוא ממשי הוא כן מודיע על כך.)היכן שוכנת הבעיה?[attachment deleted by admin]
פורסם 2010 במרץ 1215 שנים scanf קורא עד שהוא נתקל בתו שלא מתאים למה שאתה מנסה לקרוא כרגע.כלומר, אם אתה מנסה לקרוא את הקלט "123.45" בתור מספר שלם (d%) אז הוא יעצור ברגע שהוא יגיע לנקודה.אם הקלט הוא כזה:123 456.78אז בהתחלה הוא יקרא את 123 בהצלחה, ואחר כך הוא יקרא את 456 וייעצר בנקודה.אם הקלט הוא כזה:456.78 123אז המספר הראשון שהוא יקרא יהיה 456, והוא ייעצר בנקודה. אחר כך הוא שוב ינסה להמשיך לקרוא מהנקודה, ולא יצליח.
פורסם 2010 במרץ 1215 שנים מחבר אז אתה אומר שבדיקת הקלט שלי היא תקינה? (כי כאשר משתמש יכניס כקלט המספר השני מספר ממשי הוא ייקבל תוצאה לא בדיוק נכונה.)
פורסם 2010 במרץ 1315 שנים זה כבר תלוי בדרישות של התכנית.יכול להיות שאתה צריך לקלוט את כל השורה מראש ולבדוק שאין בה תווים לא חוקיים (כגון נקודה), ויכול להיות שזה מספיק.
פורסם 2010 במרץ 1315 שנים מחבר תודה רבה, אני מניח שבגלל שזהו התרגיל הראשון שאני מגיש לא יוריד על כך נקודות. (לפחות הוא לא נותן להכניס char)
פורסם 2010 במרץ 1615 שנים מחבר בהמשך לבדיקת הקלט, הייתי רוצה לדעת באופן כללי מה מחזירה הפונקצייה scanf, כלומר מה היא מחזירה במקרה הזה למשתנה number,וכמו כן כיצד זה מתקשר לבדיקת הקלט.[attachment deleted by admin]
פורסם 2010 במרץ 1615 שנים תוצאה ראשונה בחיפוש בגוגל, תחת return valuehttp://www.google.co.il/search?q=scanf
פורסם 2010 במרץ 1715 שנים מחבר אוקיי, הערך המוחזר הוא מס' הערכים שנקלטו בהצלחה, השאלה היא מה בדיוק מוגדר כקליטה מוצלחת?
פורסם 2010 במרץ 1815 שנים יכול להיות שצריך לתת רווח בין התגים על מנת שאפשר יהיה להזין שני מספריםscanf("%d %d", ...)
פורסם 2010 במרץ 1815 שנים בדיקת הקלט שלך לא תקינה.אני לא יודע איזה קורס אתה עושה ויש מצב שיחליקו לך את זה.בגדול מה שעשית הוא הגדרת קאונטר שסופר כל קלט מוצלח אבל זה לא עובד כי כמו שאמרת ,אם אתה מכניס שבר בקלט השני הוא לא מזהה בעיה...מה שאתה צריך לעשות הוא לפצל לשני scanfים ואחרי כל scanf לאמת את הקלט שלו בנפרד.אחרי שתעשה את זה תבדוק שבשני המשתנים שבודקים אימות נתונים הכל תקין ואז אם שניהם תקינים תמשיך , אם אחד מהם לא תקין תתן הודעת שגיאה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.