הכנסת מחרוזת למשתנה float ב C++ - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

הכנסת מחרוזת למשתנה float ב C++


א

Recommended Posts

תודה על כל העזרה!

משהו אחרון: למה כשאני מנסה להכניס 324.234.234.234 אני מקבל כמה פעמים enter a number?

ועוד משהו שהסתבכתי איתו, אני מצרף שוב את הקוד בקובץ.

אני רוצה לקלוט מספר שלם,

אם זה לא מספר - טיפלנו, הראית לי איך.

אם המספר לא שלם - פה הבעיה שלי. כשהמספר שמוכנס ארוך, מה שיש ב float זה מספר בפורמט עם e, כשאני עושה לו קאסטינג לאינט זה עושה לי צרות ולא עושה קאסטינג כמו שצריך.

קישור לתוכן
שתף באתרים אחרים

אני לא רוצה לעגל את המספר. אם המספר לא שלם, אני רוצה שהתוכנית תבקש שוב קלט מהמשתמש. אם מראש הייתי משתמש במשתנה int, אז אם היה מוכנס מספר לא שלם, הייתה המרה סמויה בהשמה לאותו משתנה int, ואת זה אני לא רוצה.

קישור לתוכן
שתף באתרים אחרים

הדרך הנכונה (או לפחות יותר נכונה מ-scanf, אחת הזוועות הגדולות שראיתי) ב-C לקלוט קלט ולפרסר אותו כמו שצריך, זה לקרוא שורה שלמה עם fgets ואז להשתמש ב-sscanf או פוקנציות מחרוזות אחרות (strtok, וכו').

גם ב-++C עדיף בגדול קודם לקלוט מחרוזת ואז לסרוק אותה. ++C עושה את זה קל יחסית.

עריכה: לזכות scanf יאמר שהיא תוכננה בגדול בשנות ה-70 לשפה שנועדה במקור לתכנת מערכות הפעלה של mainframe. לא חוכמה לשפוט. אבל מנקודת מבט מודרנית - זה זוועה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...