איך בודקים האם משתנה הוא FLOAT - שפת C - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

איך בודקים האם משתנה הוא FLOAT - שפת C


yogev92

Recommended Posts

כמה תיקונים: קודם כל, בדרך כלל מאפשרים להכניס מספר שמסתיים בנקודה (כלומר המספר .123 תקין, והוא פשוט שווה ל-123).

לגבי הקוד שלך:

1. לא משתמשים ב-void main, אלא ב-int main, ובסוף התכנית צריך לעשות return.

2. כשמעבירים מחרוזת ל-scanf אז לא צריך לעשות &.

3. (קצת התקטננות) בתקן C90 שאיתו בד"כ כותבים, אסור להשתמש בהערות עם //, אלא רק עם /* */.

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

תודה על ההערות וההארות. המטרה שלי לא הייתה ללמד אותו לתכנת, אלא רק לתת לו את הרעיון הכללי.

סתם כדי להגן על עצמי - אני סטודנט להנדסת תוכנה, ואצלנו מלמדים C בסביבת Borland C לסביבת DOS, ב 16 ביט (או לפחות לימדו כשהתחלתי ב 2007), אז זה מסביר את ההערות ואת השימוש ב void main. את התקן C90 שהזכרת לא מלמדים בכלל (פעם ראשונה שאני שומע עליו), אבל זה כנראה בגלל שבלימודים אקדמאים המטרה היא ללמד רעיון, ולא משהו (כמו תקן) ספציפי.

בקשר ל str& - אתה כמובן צודק - str הוא בעצמו מצביע, ולכן הערך שלו הוא כתובת תחילת מערך התוים (ולכן אין טעם להעביר str&).

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

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

אני אגיד כמה דברים לא נעימים פה:

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

כל מי שמלמד C עם borlandC (אני מניח 3.1?) צריך להתבייש. אני מתכוון לזה באופן מילולי - זו בושה וחרפה למוסד האקדמי שאתה לומד בו, והייתי רוצה לשמוע את התירוצים של סגל הקורס כדי לצחוק עליהם. אם אתה רוצה ללמד את "הרעיון של C", אתה מלמד את ANSI C. במיוחד זה לקח חשוב למי שלומד הנדסת תוכנה - תחום עיסוק מעשי יותר שבו סטנדרטים וחריגה מהם זה עניין מהותי.

ISO C90 (שזהה ל-ANSI C89) הוא התקן הכללי ל-C והיה הקובע, עד שעודכן ב-99. זה לא סתם איזה תקן ספציפי - כשמדברים על C, מתכוונים ל-ANSI C. אם כבר, BorlandC ראוי להקרא "תקן ספציפי" (הוא לא ממש תקן).

בנוסף, BorlandC ל-DOS הוא כ"כ ישן במונחי תכנות, שזה כאילו ילמדו אותך הנדסת תוכנה עם תרשימי זרימה ענקיים, ולחשב פונקציות מתמטיות עם סרגלי חישוב וספרי טבלאות. בתואר כמו הנדסת תוכנה זה פשוט נזק.

זה גם כשלון נוסף של הסגל שלא הבהירו לך את כל האמור לעיל.

(אגב החל מגרסה מסויימת borlandC תומך ב-ANSI C, אבל צריך להדליק את התמיכה במקום מסויים. אבל אל תעשה את זה, סביר להניח שסגל הקורס לא רוצה לבדוק שתי גרסאות של השפה)

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

ארכיון

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

×
  • צור חדש...