ABA


"טיפ ... לא רק אבקת כביסה...."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #12281 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 12281
jossepe_4u 
חבר מתאריך 18.3.02
258 הודעות, דרג אמינות חבר זה
   18:52   08.07.05   
אל הפורום  
  טיפ ... לא רק אבקת כביסה....  
 
   ערכתי לאחרונה בתאריך 25.07.05 בשעה 21:03 בברכה, jossepe_4u
 

אשכול של טיפים וקטעי תוכנית, שיכולים להקל על כתיבת תוכנית...

טיפים שטוב שהם קיימים, או קטעי תוכנית, שלפי דעתכם,
שימושיים מאוד, ובא לכם לשתף אותנו בהם.


נא לתייג בנושא של האשכול אם מדובר ב: |טיפ| או |קטעתוכנית|


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  |טיפ| תנאי if ב++C/C bizho 09.07.05 14:18 1
     הדבר נכון בכל השוואה לקבוע, לא רק 0. dryice 09.07.05 18:23 2
         כמובן, זו דוגמא. bizho 10.07.05 01:09 3
     אחל'ה טיפ, אהבתי! ilanka  23.07.05 08:41 7
  |טיפ| דיי ידוע - קיצור ה-IF בבדיקת משתנה בוליאני TheBinary 11.07.05 20:13 4
     אם בקיצורים עסקינן ... אופירוש 11.07.05 23:30 5
         אהבתי תודה על הטיפ ScOrPiOn-m1  13.07.05 00:51 6
         הדוגמה הרביעית שהבאת היא אחד הדברים שהכי אהבתי ב-++C ilanka  23.07.05 08:43 8

       
bizho

דרג אמינות חבר זה
   14:18   09.07.05   
אל הפורום  
  1. |טיפ| תנאי if ב++C/C  
בתגובה להודעה מספר 0
 
   נגיד שקיים משתנה int a.
עכשיו, אנחנו רוצים לבדוק אם הוא שווה ל0.
הנטייה הראשונית שלנו כמתכנתים תהיה לכתוב:

if (a == 0){...}

אבל, בשפות ++C/C, הצורך לכתוב == במקום = יכול להטעות אותנו. כבר ראיתי מספר פעמים באגים כאלה, שקשה מאוד לאתר, שפשוט מכניסים 0 למשתנה a.

כדי למנוע את זה, נכתוב את התנאי בצורה הזאת:


if (0 == a){...}

ואז, אם נכתוב = במקום ==, הקומפיילר יוציא הודעת שגיאה, כי הרי אי אפשר לשייך את מה שנמצא בתוך a ל0.


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

דרג אמינות חבר זה
   18:23   09.07.05   
אל הפורום  
  2. הדבר נכון בכל השוואה לקבוע, לא רק 0.  
בתגובה להודעה מספר 1
 
  


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

דרג אמינות חבר זה
   01:09   10.07.05   
אל הפורום  
  3. כמובן, זו דוגמא.  
בתגובה להודעה מספר 2
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ilanka  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.8.02
23571 הודעות, 23 פידבק, 36 נקודות
   08:41   23.07.05   
אל הפורום  
  7. אחל'ה טיפ, אהבתי!  
בתגובה להודעה מספר 1
 
למרות שאינטואיטיבית זה מייד "קופץ לעין"... כנראה שצריכים להתרגל

...לנסח את השאלה נכון - זה אפילו יותר חשוב מהתשובה....


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

דרג אמינות חבר זה
   20:13   11.07.05   
אל הפורום  
  4. |טיפ| דיי ידוע - קיצור ה-IF בבדיקת משתנה בוליאני  
בתגובה להודעה מספר 0
 
   כמעט בכל שפות התיכנות, השורה הזו:
if (a==true) {...}

זהה בדיוק לשורה הזו:

if (a) {...}

כמובן ש-a הוא משתנה בוליאני.


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

דרג אמינות חבר זה
   23:30   11.07.05   
אל הפורום  
  5. אם בקיצורים עסקינן ...  
בתגובה להודעה מספר 4
 
   ערכתי לאחרונה בתאריך 11.07.05 בשעה 23:42 בברכה, אופירוש
 
אז ישנו קיצור לתנאי ב- C ו - C++ ...

במקום לרשום כך :


if (0==a) then
{
printf("One");
}
else
{
Printf("Two");
}

כמובן שבמקרה של שורת קוד אחד אפשר להוריד את הסוגריים ... כך :


if (0==a) then
printf("One");
else
Printf("Two");


ניתן לרשום את התנאי בשורה אחד קטנה ...


(0=a)?printf("One"):Printf("Two");

ואף להשתמש בזה להצבת ערכים , לדוגמא :

nBig = (a>b)?a:b;


ב - VB ובשאר שפות דור רביעי , ניתן לבצע את אותו הדבר בעזרת פקודת iif . לדוגמא :


IIf a > b, intBig = a, intBig = b

ולהצבת ערכים קלה יותר ...

intBig = IIf(a > b, a, b)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ScOrPiOn-m1 
חבר מתאריך 26.11.10
7 הודעות, דרג אמינות חבר זה
   00:51   13.07.05   
אל הפורום  
  6. אהבתי תודה על הטיפ  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ilanka  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.8.02
23571 הודעות, 23 פידבק, 36 נקודות
   08:43   23.07.05   
אל הפורום  
  8. הדוגמה הרביעית שהבאת היא אחד הדברים שהכי אהבתי ב-++C  
בתגובה להודעה מספר 5
 
לגבי הדוגמאות האחרות - לא היה לי מושג, תודה

...לנסח את השאלה נכון - זה אפילו יותר חשוב מהתשובה....


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

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

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



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