ABA


"שאלה פשוטה ב C"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10153 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10153
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   23:11   23.11.10   
אל הפורום  
  שאלה פשוטה ב C  
 
   אני צריך לקלוט מספר שלם...
ואני רוצה לבצע בדיקה שהמשתמש לא הכניס בטעות מספר שהוא לא שלם...
איך אני עושה את זה..? הרי אם המשתמש מכניס מספר לא שלם.. אז רק החלק השלם שלו נכנס למשתנה שהגדרתי והחלק העשרוני נשאר ב BUFFER....
אסור לי לשנות את הגדרת המשתנה ל FLOAT.

איך אני עושה את הבדיקה הזאת..?


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אתה יכול לעשות משהו כזה D-KinG 24.11.10 00:02 1
     לא הבנתי אחי ShocKi  24.11.10 07:47 2
         לא נראה לי שאני מבין איפה הבעיה שלך, D-KinG 24.11.10 16:44 3
             הבנתי מה עשית.. ShocKi  24.11.10 20:27 4
                 לא אמור להכנס לשם 0... אלא אם כן הכניסו למשל 7.0 D-KinG 24.11.10 20:35 5
                     עובדה.. נכנס... ShocKi  24.11.10 23:40 6
     רעיון לא רע =] לא חשבתי על זה.. =] Yariv-H 03.12.10 13:23 10
  אולי לקלוט VeNom  25.11.10 22:46 7
     אבל אתה עדיין צריך להשתמש ב if dvir8 28.11.10 09:00 8
         נו אז..אין כאן שום שימוש ב float VeNom  28.11.10 18:55 9
             חח עכשיו שאני מסתכל על השאכול אין לי מושג למה רשמתי dvir8 12.12.10 18:40 16
  קח רעיון חמוד שאמור לעבוד. Deuce  04.12.10 18:37 11
     זה לא יעבוד. ShocKi  04.12.10 23:05 12
         אני מגדיר את n כ-float. Deuce  10.12.10 10:26 14
             לא, זה לא מה שאמרתי.. ShocKi  12.12.10 18:18 15
  לסיכום מה ש D-KinG כתב עובד מצויין... ShocKi  04.12.10 23:07 13

       
D-KinG
חבר מתאריך 8.6.02
3490 הודעות
   00:02   24.11.10   
אל הפורום  
  1. אתה יכול לעשות משהו כזה  
בתגובה להודעה מספר 0
 
   בעצם מה שאתה רושם במחרוזת אומר לו איך להפריד בין שני קלטים, בנוסף הפונ' מחזירה כמה איברים היא הצליחה לקרוא לתוכם
אם תעשה

res=scanf("%d.%d", &x, &y);

ותראה ש-res=2, זה אומר שהוא קרא שני מס' שלמים - כלומר המשתמש הכניס מס' לא שלם (אחד - כל מה שלפני הנקודה, השני - מה שאחריה)
תשים לב שבמקרה הזה זה יורד מה-BUFFER
אם הוא 1 אז קיבלת מס' שלם


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   07:47   24.11.10   
אל הפורום  
  2. לא הבנתי אחי  
בתגובה להודעה מספר 1
 
   אני אמור לקלוט קלט אחד ויחיד...
אני לא יכול לקבל מהמשתמש 2 קלטים.

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


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
D-KinG
חבר מתאריך 8.6.02
3490 הודעות
   16:44   24.11.10   
אל הפורום  
  3. לא נראה לי שאני מבין איפה הבעיה שלך,  
בתגובה להודעה מספר 2
 
   וגם אתה לא כ"כ הבנת אותי
למה אתה מבצע חישוב לא נכון בפעם הראשונה? הרי הוא מקצץ לך את השאר...
תרשום את הקוד ותגיד לי מה המטרה שלו וככה אני יוכל לעזור לך...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   20:27   24.11.10   
אל הפורום  
  4. הבנתי מה עשית..  
בתגובה להודעה מספר 3
 
   פשוט ויתרתי על ה res ואז הקלט נכנס ישר לאן שצריך.. ואם זה היה מספר שלם אז נכנס 0 למספר השני..

תודה רבה


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
D-KinG
חבר מתאריך 8.6.02
3490 הודעות
   20:35   24.11.10   
אל הפורום  
  5. לא אמור להכנס לשם 0... אלא אם כן הכניסו למשל 7.0  
בתגובה להודעה מספר 4
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   23:40   24.11.10   
אל הפורום  
  6. עובדה.. נכנס...  
בתגובה להודעה מספר 5
 
   בדקתי את זה כמה פעמים


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק
   13:23   03.12.10   
אל הפורום  
  10. רעיון לא רע =] לא חשבתי על זה.. =]  
בתגובה להודעה מספר 1
 
  



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   22:46   25.11.10   
אל הפורום  
  7. אולי לקלוט  
בתגובה להודעה מספר 0
 
   כמחרוזת ולבדוק שאין "." בתוך המחרוזת?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   09:00   28.11.10   
אל הפורום  
  8. אבל אתה עדיין צריך להשתמש ב if  
בתגובה להודעה מספר 7
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   18:55   28.11.10   
אל הפורום  
  9. נו אז..אין כאן שום שימוש ב float  
בתגובה להודעה מספר 8
 
   מה הקשר ל if?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   18:40   12.12.10   
אל הפורום  
  16. חח עכשיו שאני מסתכל על השאכול אין לי מושג למה רשמתי  
בתגובה להודעה מספר 9
 
   את זה, יכול להיות שאשכול לפני היה מישהו שרשם שאסור לו לשהתמש ב if והייתי תקוע בזה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   18:37   04.12.10   
אל הפורום  
  11. קח רעיון חמוד שאמור לעבוד.  
בתגובה להודעה מספר 0
 

if (n/1.00 == (int) n)
printf("true");






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   23:05   04.12.10   
אל הפורום  
  12. זה לא יעבוד.  
בתגובה להודעה מספר 11
 
   כי אתה מגדיר את n כטיפוס integer.
ואם המשתמש מכניס 6.5 אז רק 6 יכנס לתוך n.
.5 ישאר ב BUFFER ואז מה שאתה כתבת תמיד יתן true.

אני לא יכול להתחכם עם השאלה ולהגדיר את n כ float.


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   10:26   10.12.10   
אל הפורום  
  14. אני מגדיר את n כ-float.  
בתגובה להודעה מספר 12
 
אתה אמרת שאתה מגדיר טיפוס float ואז קולט מספר ורוצה לוודא שקיבלת מספר שלם.

אם אתה מגדיר את n כ-float וקולט לפי %f אז זה יעבוד.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   18:18   12.12.10   
אל הפורום  
  15. לא, זה לא מה שאמרתי..  
בתגובה להודעה מספר 14
 
   כתבתי שאסור לי לשנות את המשתנה ל FLOAT וזה היה כל הקטע בשאלה הזאת.
תסתכל בהודעה הראשית של האשכול.


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   23:07   04.12.10   
אל הפורום  
  13. לסיכום מה ש D-KinG כתב עובד מצויין...  
בתגובה להודעה מספר 0
 
   הבעיה היא שצריך להגדיר משתנה עזר נוסף...
אם מישהו יצליח לחשוב על דרך לבדוק את זה בלי להגדיר משתנה עזר נוסף אני אשמח לשמוע... (אולי קיימת איזשהי פקודה שיכולה לפנות לבאפר ולשאול האם הוא ריק..?

כי בד"כ לפני קלט אני עושה flushall ואז אם המשתמש הכניס מספר שלם אז הבאפר ישאר ריק ואם הוא הכניס משתנה לא שלם אז ישאר משהו בבאפר...

האם קיימת פקודה שבודקת האם הBUFFER ריק..?


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net