![]() |
.. (לתיקייה המכילה) | |
בשאלה #1: מה קורה לאפסים בתחילת המספר בפונקציה
alterID?
| יש להתעלם מאפסים בתחילת המספר. למשל המספר 000123 יהפוך ל000134. |
בשאלה #1: מה קורה אם המשתמש מכניס אותיות או שברים?
| יש להדפיס הודעת שגיאה אינדיקטיבית ולצאת מהתכנית. מקרים כאלו לא יבדקו בטסטים. |
בשאלה #1 אומרים "הפונקציה" 3 פעמים:
"אם תעודת הזהות המתוקנת תקינה, יש לעדכן את ערכה",
"הפונקציה קיבלה עוד שני מצביעים למשתנה מסוג...",
"ערך החזרה: הפונקציה צריכה להחזיר 1 אם תעודת הזהות תקינה, 2 אם תעודת הזהות תקינה אחרי התיקון, ו-0 אם אף תיקון אינו תקין."
על איזו פונקציה מדובר?
| handleID |
בשאלה #1: מה אפשר להניח על הקלט?
|
צריך לקלוט את הקלט עם %lu על כל המשתמע מכך. אם המחשב מעוות את המספר שהתקבל, זה בסדר. אם ה scanf לא עובד, יש להדפיס שתעודת הזהות אינה חוקית. |
בשאלה #1: למה בדוגמת הפלט היה כתוב ש2 הוא מספר מורכב?
| כי היה לי באג. אנא הורידו את קבצי הפלט החדשים. |
בשאלה #1: כששולחים את תעודת הזהות לפונקציה האם זה צריך להיות כולל ספרת הביקורת?
| כן |
בשאלה #1: כשבודקים האם מספר תעודת הזהות ראשוני, האם יש לכלול את ספרת הביקורת?
| כן |
בשאלה #1: מה להדפיס בבדיקת ראשוניות אם מספר הוא 0 או 1?
|
Check digit is composite. זה אמנם לא מדויק אבל המספרים האלו אינם ראשוניים. |
בשאלה #1: מה צריך לעשות במידה והמשתמש מכניס מספר שלא נכנס ל
unsigned long?
|
יש לקלוט את המספר כמו שהוא, עם %lu זה בסדר שהמחשב מעוות את המספר שנקלט. |
בשאלה #2: מה הכוונה האיבר החדש במחסנית? מה קורה במקרה של
@
|
הכוונה לאיבר האחרון שנוסף למחסנית. אם מקבלים @ :הופכים את הסדר כך שהאיבר שנחשב מקודם הכי ישן יחשב עכשיו הכי חדש. לדוגמא a+b+c+! נותן c a+b+c+@! נותן a |
בשאלה #2: מה קורה אם רוצים להפוך סדר ואחר כך למחוק או להדפיס את האיבר הישן ?
| מוחקים את האיבר האחרון - הכי ימני במחסנית. כנ"ל לגבי הדפסה. |
בשאלה #2: מה עושים עם התו ששולפים מהמחסנית במקרה של -?
| כלום. |
בשאלה #2: מותר להשתמש בפונקציות עזר?
| כן |
בשאלה #2:" חייבים להשתמש בפונקציות עזר?
| לא |
בשאלה #2: למה טסטים 3,4,5 לא עוברים?
| כי לא ירדתם שורה לפני ההדפסה. |
בשאלה #2: מה קורה אם הקלט הוא
a++?
|
מכניסים למחסנית aa |

