none
שאלות בסיסיות בc# RRS feed

  • שאלה

  • שלום. לא מזמן התחלתי ללמוד בביה"ס C# ויש לי מספר שאלות 

    מה עושה הפקודה return

    האם אפשר לשנות את הצבע של הפונט עצמו ולא של הרקע? מה הפקודה?

    תודה רבה

    יום שני 28 ספטמבר 2015 18:19

תשובות

  • אני ממליץ לך לבדוק את הקישור ששמתי מעל לעומק. תשחק עם עוד אפשרויות שיש שם.

    תרגיל קטן: האם אתה יכול למצוא לבד איך לשנות את הכותרת של הקונסול?
    אם הבנת את ההסבר מעל אז אתה צריך למצוא תשובה מהר מאוד :-)

    נסה למצוא את הדרך לקבוע כותרת כמו בתמונה הבאה: אתה יכול לראות שאצלי רשום למעלה בכותרת yes I can


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]



    • נערך על-ידי pituachMVP, Moderator יום שני 28 ספטמבר 2015 22:24
    • סומן כתשובה על-ידי Kirito.NET שבת 17 אוקטובר 2015 19:35
    יום שני 28 ספטמבר 2015 22:21
    מנחה דיון
  • http://prntscr.com/8peu02
    • סומן כתשובה על-ידי Kirito.NET שבת 17 אוקטובר 2015 19:35
    יום שישי 09 אוקטובר 2015 10:31
  • שלום. לא מזמן התחלתי ללמוד בביה"ס C# ויש לי מספר שאלות 

    מה עושה הפקודה return

    האם אפשר לשנות את הצבע של הפונט עצמו ולא של הרקע? מה הפקודה?

    תודה רבה

    >> שלום. לא מזמן התחלתי ללמוד בביה"ס C# ויש לי מספר שאלות 

    מזל טוב ובהצלחה :-)

    >>מה עושה הפקודה return

    שפת C# מבוססת על השפה האנגלית. לכן מי שיודע אנגלית הרבה יותר קל לו ללמוד. המילה return באנגלית היא "להחזיר" והפקודה return אומרת להחזיר משהו. למשל במתודה אם אנחנו רושמים return 3 אז המתוטדה מחזירה את הערך 3. הפקודה מחזירה את מה שרושמים לה להחזיר.

    >> האם אפשר לשנות את הצבע של הפונט עצמו ולא של הרקע? מה הפקודה?

    תמיד כששואלים אותי "האם אפשר" אני אומר כן. בתכנות אפשר לעשות הכל, אם יש לנו את הידע והיכולת.

    כדי לענות על השאלה שלך צריך להבין על מה אתה מדבר :-)
    צבע זה משהו שקשור ב GUI (בתוכנה שרואים) והדרך לשנות צבע של טקסט תלוי במה שאתה עושה. ב C# אפשר לפתח אפליקציות מאוד שונות. למשל אפשר לפתח אפליקציה לאינטרנט (אתר אינטרנט) ואז יש תשובה אחת, אפשר לפתח אפליקציה שעובדת עם חלונות, ואז יכולה להיות תשובה אחרת וכן הלאה.

    כדי לעזור לך אנחנו צריכים לדעת מה אתם עושים היום

    באיזה סוג של תבנית פרוייקט אתה משתמש? 


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

    • סומן כתשובה על-ידי Kirito.NET שבת 17 אוקטובר 2015 19:35
    יום שני 28 ספטמבר 2015 19:00
    מנחה דיון
  • למה אתה משתמש ב WHILE, ומה המשמעות שלו?
    זה כמובן מחזיר אותנו ללימוד מסודר לעומת קפיצה בין נקודות :-)

    * עכשיו אני רואה שימוש בהמרה של סוג אחד בשני בצורה מסודרת והדברים נראים כבר יותר טוב מקודם.
    יפה!
    Parse דרך אגב זו המרה.
    כמו כן אני רואה שאתה עושה שימוש בהמרה ל CHAR ולכן אכן השימוש במרכאות בודדים מתאימים עכשיו (לא מתאים ל String).

    * אני לא מבין למה אתה מבצע המרה ל CHAR במקום לעבוד עם String. אני אתן לך סיבה למה זה בעיתי:

    אתה משתמש במתודה ReadLine שזה אומר שאתה מקבל שורה שלמה מהקונסול. מה יקרה אם המשתמש יכניס יותר מתוו אחד? למשל אם המשתמש יכניס בטעות פעמיים **. הפעולה של ההמרה משרשרת ארוכה לתוו תיכשל ויהיה לך הודעת שגיאה (תבדוק). אין סיבה לא להמשיך לעבוד עם שרשרת.

    בנוסף לכך אם אתה רוצה להבטיח שגם אם המשתמש יכניס פעולה לא חוקית כמו למשל @ אז לא תהיה הודעה של שגיאה. אני ממליץ לכסות את המקרה הכללי (של מצב "אחר").

    * אני רק לא מצליח להבין מה הקשר של WHILE והאם אתה מבין, ואם כן מה היתה המטרה שלך בשימוש בו.

    * נקודה קטנה: כאשר יש לך הרבה IF שרק אחד מהם אמור להיות נכון אז יותר מומלץ בדרך כלל לעבוד עם CASE
    תבדוק את הקישור הבא הוא אמור לעזור לך להגיע לפתרון הסופי :-)
    https://msdn.microsoft.com/en-us/library/06tc147t.aspx


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]


    • נערך על-ידי pituachMVP, Moderator יום שני 19 אוקטובר 2015 21:45
    • סומן כתשובה על-ידי Kirito.NET יום שלישי 20 אוקטובר 2015 18:05
    יום שני 19 אוקטובר 2015 21:30
    מנחה דיון

כל התגובות

  • שלום. לא מזמן התחלתי ללמוד בביה"ס C# ויש לי מספר שאלות 

    מה עושה הפקודה return

    האם אפשר לשנות את הצבע של הפונט עצמו ולא של הרקע? מה הפקודה?

    תודה רבה

    >> שלום. לא מזמן התחלתי ללמוד בביה"ס C# ויש לי מספר שאלות 

    מזל טוב ובהצלחה :-)

    >>מה עושה הפקודה return

    שפת C# מבוססת על השפה האנגלית. לכן מי שיודע אנגלית הרבה יותר קל לו ללמוד. המילה return באנגלית היא "להחזיר" והפקודה return אומרת להחזיר משהו. למשל במתודה אם אנחנו רושמים return 3 אז המתוטדה מחזירה את הערך 3. הפקודה מחזירה את מה שרושמים לה להחזיר.

    >> האם אפשר לשנות את הצבע של הפונט עצמו ולא של הרקע? מה הפקודה?

    תמיד כששואלים אותי "האם אפשר" אני אומר כן. בתכנות אפשר לעשות הכל, אם יש לנו את הידע והיכולת.

    כדי לענות על השאלה שלך צריך להבין על מה אתה מדבר :-)
    צבע זה משהו שקשור ב GUI (בתוכנה שרואים) והדרך לשנות צבע של טקסט תלוי במה שאתה עושה. ב C# אפשר לפתח אפליקציות מאוד שונות. למשל אפשר לפתח אפליקציה לאינטרנט (אתר אינטרנט) ואז יש תשובה אחת, אפשר לפתח אפליקציה שעובדת עם חלונות, ואז יכולה להיות תשובה אחרת וכן הלאה.

    כדי לעזור לך אנחנו צריכים לדעת מה אתם עושים היום

    באיזה סוג של תבנית פרוייקט אתה משתמש? 


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

    • סומן כתשובה על-ידי Kirito.NET שבת 17 אוקטובר 2015 19:35
    יום שני 28 ספטמבר 2015 19:00
    מנחה דיון
  • לא בדיוק הבנתי למה אתה מתכוון

    הפקודה בה אני משתמש לשינוי צבע היא:

    Console.BackgroundColor=ConsoleColor.

    יום שני 28 ספטמבר 2015 20:15
  • אוקי,

    עכשיו אני רואה שאתה משתמש במחלקה של Console
    זה נותן לי את כל המידע שאני צריך :-)

    אבל זה גם אומר שיש בעיה בצורת הלימוד שלך, אם אתה לא מבין עם מה אתה עובד :-(
    בקורס C# לדעתי הרבה הרבה לפני שנוגעים בשימוש במאפיינים כמו BackgroundColor צריך קודם להבין מה המשמעות של הקוד שבו אתה עובד   Console.BackgroundColor

    הסבר קצר:

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

    * כדי שאני אדע לכוון את התגובות שלי אני צריך לדעת: האם כבר למדת מה זה מחלקה (CLASS) ומה זה מתודה (Method) ומה זה מאפיין (Properties) ?

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

    אחת המחלקות המוכנות שמייקרוסופט מספקים לנו היא מחלקה בשם Console. היא משמשת בעיקר לאפליקציות שאמורות לרוץ בממשק ה GUI של ה console, אבל אפשר להשתמש במחלקה גם בסוגי אפליקציות אחרות, בדיוק כמו שאתה עושה שימוש במחלקות שלך.

    תוכל לקרוא יותר על המחלקה Console בקישור הבא:
    https://msdn.microsoft.com/en-us/library/system.console%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

    בקישור תוכל לראות גם את רשימת המאפיינים שיש למחלקה. אחד המאפיינים שיש בקוד של המחלקה הוא BackgroundColor. אם תלחץ על הקישור ברשימה תוכל לקבל עוד נתונים על המאפיין, ואפילו תוכל לראות דוגמה של קוד עובד :-)

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

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

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

    * כמו שכתבתי מעל לא ניתן ללמוד לתכנת בלי לדעת אנגלית. לפעמים כדאי להשתמש במילון, ולפעמים באמת כדאי לשאול בפורום. בקיצור המאפיין לקבוע את צבע הטקסט הוא ForegroundColor. וההסבר שיש שם אומר באנגלית:

    Gets or sets the foreground color of the console

    Backgroun זה רקע
    Foreground זה חזית (או החלק מקדימה) וזה בעצם מה שאתה מחפש :-)

     

    ** אני מקווה שההסבר מובן יותר **


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]



    יום שני 28 ספטמבר 2015 22:10
    מנחה דיון
  • אני ממליץ לך לבדוק את הקישור ששמתי מעל לעומק. תשחק עם עוד אפשרויות שיש שם.

    תרגיל קטן: האם אתה יכול למצוא לבד איך לשנות את הכותרת של הקונסול?
    אם הבנת את ההסבר מעל אז אתה צריך למצוא תשובה מהר מאוד :-)

    נסה למצוא את הדרך לקבוע כותרת כמו בתמונה הבאה: אתה יכול לראות שאצלי רשום למעלה בכותרת yes I can


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]



    • נערך על-ידי pituachMVP, Moderator יום שני 28 ספטמבר 2015 22:24
    • סומן כתשובה על-ידי Kirito.NET שבת 17 אוקטובר 2015 19:35
    יום שני 28 ספטמבר 2015 22:21
    מנחה דיון
  • תודה רבה אחי

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

    יום שישי 09 אוקטובר 2015 10:14
  • http://prntscr.com/8peu02
    • סומן כתשובה על-ידי Kirito.NET שבת 17 אוקטובר 2015 19:35
    יום שישי 09 אוקטובר 2015 10:31
  • יפה, אני רואה שהצלחת לקבוע את הכותרת של ה CONSOLE :-)
    זה אומר שכניראה עכשיו אתה מבין את הרעיון של שימוש בכל אלמנט שיש למחלקה.
    כדי לדעת כיצד עובדים עם מחלקה מסוימת, כל מה שצריך זה למצוא את הקישור להסברים של המחלקה או לראות את הקוד של המחלקה (אבל הקוד לפעמים יכול להיות ארוך ומורכב). בכל מקרה אנחנו כאן כדי לעזור ואתה יכול לנסות גם לעשור לאחרים כמובן.

     - - - - - - - - - - 

    לגבי מה המורה שלך מלמד אני לא יכול לשפוט מפני שאני לא שם, אבל המורה שלך לא יכול להמציא מושגים :-)

    מחלקה זה המושג הנכון, באנגלית זה נקרא CLASS

    פקודה?!? מה זה פקודה? אתה יכול להגיד שאתה כותב פקודה אבל מה עושה הפקודה?!?

    כל שורה בקוד היא סוג של פקודה. פקודה זה משהו שאנחנו מעבירים למהדר (compiler) או למנוע ההרצה (במקרה של קוד מקומפל) או לכל גורם שצריך לבצע אותה. הפקודה קובעת מה לעשות, אבל מה עושה הפקודה שלך?!? יש פקודות שמפעילות מתודות או פונקציות (כל פונקציה היא סוג של מתודה דרך אגב... שוב זה משהו שאתם חייבים ללמוד), ואלו המושגים הנכונים ואסור לשום מורה להישתמש במושג אחר! (באנגלית זה נקרא Method או function), ויש פקודות שמגדירות את הערך של מאפיין (שוב זה המוזג הנכון ואותו חייבים ללמד אותך), ויש פקודות שקוראות ערכים ויש הרבה סוגי פקודות. פקודה היא רק הוראה שאומרת למישהו מה לבצע.

    אני מאוד מקווה שהמורה שלך לא משתמש במושגים אחרים! יכול להיות שאולי לא למדתם בצורה מסודרת, אבל אם למדת מה זה מחלקה, אז היית חייב ללמוד מה זה מאפיין של מחלקה ומה מתודה ומה זה כל אלמנט שאנחנו יוצרים בתוך המחלקה. מה שווה מחלקה ריקה שאין לה שום דבר בפנים :-)

    * בתוך המחלקה אנחנו מגידירם כל מני אלמנטים, האמצעות פקודות אנחנו יכולים לבצע פעולות על האלמנטים.

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

    אני מקווה שההסבר מעל ברור ואתה מבין מה ההבדל בין פקודה לבין אלמנטים כמו למשל: מחלקה, מאפיין של מחלקה, מתודה, בנאי...

    לסיום :-)
    אל תשכח לסגור את השרשור על ידי סימון התשובה או התשובות שקיבלת. כאשר תסמן תשובות שקיבלת אתה תראה שהאייקון ליד השרשור מקבל סימון V שאומר שהשאלה קיבלה תשובה :-)


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]


    יום שישי 09 אוקטובר 2015 13:20
    מנחה דיון
  • אוקי תודה רבה אחי.. בינתיים הספקתי לקרוא מעבר לחומר בספר והבנתי פחות או יותר על כל שאר המושגים האלה, אז אם המורה לא ילמד אני אלמד לבד את זה. יש לי שאלה נוספת. ניסיתי בזמני החופשי כתרגול ליצור תוכנית שמתפקדת כמחשבון בסיסי- מחשבת 4 פעולות חשבון בסיסיות בין שני מספרים. הגדרתי את שני המספרים כמשתנים מטיפוס 

    double

    ואת הפעולה כ

    char

    כשכתבתי את משפט התנאי הראשון לצורך העניין לפעולת כפל * 

    המהדר הציג לי את השגיאה הבאה

    Error 1 Cannot implicitly convert type 'char' to 'bool'

    שורת הקוד שכתבתי היא:

       if (peula = '*') 

    שבת 17 אוקטובר 2015 19:39
  • אהלן

    >>אז אם המורה לא ילמד אני אלמד לבד את זה

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

    >> Error1 Cannot implicitly convert type 'char' to 'bool'

    האם הבנת את מה שההודעה אומרת באנגלית?

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

    הודעת השגיאה מסבירה בדיוק מה הבעיה :-)
    תרגום הודעת השגיאה: לא ניתן במרומז לבצע המרה של סוג CHAR לסוג BOOL

    מעט תיאוריה:

    אתה צריך ללמוד מסודר מה זה המרה CONVERT.
    נסה למצוא מדריכים טובים בנושא או שפשוט תלמד מסודר עד שתגיע לנושא זה :-)

    בקצרה: CONVERT או המרה בעברית, זו פעולה שלוקחים סוג אחד של אלמנט והופכים אותו לסוג אחר. ישנם 2 סוגי המרות: המרה מפורשת, והמרה מרומזת.
    * בקישור הבא יש הסבר בקצרה אבל לא ניתן לדעתי ללמוד ממנו בלי שלומדים בצורה מסודרת את כל המדריך. כמו שלא ניתן לקחת תלמיד בכיתה א ולהקפיץ אותו ישירות ללמוד שיעור אחד ביחד עם תלמידים בכיתה י"ב.
    https://msdn.microsoft.com/en-us/library/ms173105.aspx?f=255&MSPPError=-2147217396

    >>  if (peula = '*') 

    מהקוד שאתה מצרף לנו כאן לא ניתן ללמוד כלום. אתה צריך לצרף את כל הקוד הרלוונטי כדי שנבין מה קורה. למשל היכן ההגדרה של האלמנט peula? במקרה שלי לימוד וכאשר אתה כותב פרוייקט קצר הכי פשוט זה לצרף כל הפרוייקט בקובץ ZIP. אבל בכל מקרה אתה צריך תמיד לצרף את כל הקוד הרלוונטי.

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

    1. תחילה:

    ** בשפת C# שרשרת צריכה להיות בתוך מרכאות כפולות ולא מרכאות בודדות!
    ** בשפת C# לא ככה בודקים תנאים והשימוש שלך בסימון = אינו נכון.
    בקישור הבא תוכל ללמוד מעט על אופרטורים שונים בשפת C#. מה שאתה צריך כאן זה אורטור של השוואה או באנגלית Equality Operators.
    זה מה קורה כאשר קופצים בין נושאים במקום ללמוד :-(
    אם היית לומד מסודר אז היית מגיע לשיעור של אופרטורים הרבה לפני שהיית משתמש בפקודה של השוואה if. שם היית לומד על אופרטורים של השוואה :-)

    מה שיש לך בתוך הסוגריים זו פעולה של = ולא אופרטור של השוואה. הפעולה הזו מכניסה את הערך לתוך האלמנט. למשל אם אני רוצה שהמשתנה X יקבל את הערך 1, אז אני רושם:

    X=1; 

    והפעולה הזו מובילה אותנו להודעת השגיאה שקיבלת...

    2. אם האלמנט peula הוא מסוג INT למשל ואתה מנסה להכניס לו ערך מסוג String אז יש בעיה כי אלו אלמנטים מסוג שונה ולכן יש לך שגיאה כפי שמוסבר מעל. אתה יכול להכניס רק ערכים מסוג דומה לזה של האלמנט. למשל אתה יכול להכניס 10 לאמנט מסוג INT אבל אתה לא יכול להכניס את האות X לאמנט INT (יש סוגים שמאפשרים המרה מרומזת, אבל בדרך כלל אתה אחראי על ביצוע ההמרה מפורשת לבד לפני שמבצעים את ההשוואה או שמבניסים ערך לתוך אלמנט מסוג אחר).

    * לא ניתן גם לבצע השוואה בין אלמנטים שונים 

    * יש סיבה שרוב האנשים לא יכולים ללמוד לבד. הסיבה היא שרוב האנשים לא יכולים ללמוד מסודר, אלא קופצים בין רעיונות ונושאים. לכן קורס נועד לעשות סדר, ולכן לימודים בבית הספר טובים לרוב האנשים. מי שיכול ללמוד לבד אז יכול להגיע לתוצאה הרבה יותר טובה מבית ספר בדרך כלל! אבל רק מעט מאוד אנשים באמת יכולים ללמוד לבד בצורה מסודרת ונכונה.

    הצעה: אל תחליף מורה גרוע אחד במורה גרוע אחר (אני לא אומר כלום על המורה שלכם אלא באופן כללי). 
    תמצא מדריך טוב של צעד אחרי צעד ותלמד מסודר! וכמובן תוך כדי כשעולים שאלות אז תרגיש חוטפשי לשאול, אבל צריך בסיס כדי להבין את התשובה :-)


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]


    יום ראשון 18 אוקטובר 2015 05:53
    מנחה דיון
  • טוב אחי הגזמת אני פשוט הבנתי את הבעיה והיא יותר פשוטה. אני משתמש ב while במקום וחסל
    יום שני 19 אוקטובר 2015 19:27
  • עזוב תתעלם ממה שכתבתי קודם

    מה הבעיה עם זה?

     double n1, n2;
                char peula;
                Console.WriteLine("enter n1, peula and n2");
                n1 = double.Parse(Console.ReadLine());
                peula = char.Parse(Console.ReadLine());
                n2 = double.Parse(Console.ReadLine());
                while (n1 != 20202) 
                {
                    if (peula == '*')
                        Console.WriteLine("{0}", n1 * n2);
                    if (peula == '-')
                        Console.WriteLine("{0}", n1 - n2);
                    if (peula == '+')
                        Console.WriteLine("{0}", n1 + n2);
                    if (peula == '/')
                        Console.WriteLine("{0}", n1 / n2);
                }
                Console.WriteLine("press any key");
                Console.ReadKey();

    יום שני 19 אוקטובר 2015 19:45
  • למה אתה משתמש ב WHILE, ומה המשמעות שלו?
    זה כמובן מחזיר אותנו ללימוד מסודר לעומת קפיצה בין נקודות :-)

    * עכשיו אני רואה שימוש בהמרה של סוג אחד בשני בצורה מסודרת והדברים נראים כבר יותר טוב מקודם.
    יפה!
    Parse דרך אגב זו המרה.
    כמו כן אני רואה שאתה עושה שימוש בהמרה ל CHAR ולכן אכן השימוש במרכאות בודדים מתאימים עכשיו (לא מתאים ל String).

    * אני לא מבין למה אתה מבצע המרה ל CHAR במקום לעבוד עם String. אני אתן לך סיבה למה זה בעיתי:

    אתה משתמש במתודה ReadLine שזה אומר שאתה מקבל שורה שלמה מהקונסול. מה יקרה אם המשתמש יכניס יותר מתוו אחד? למשל אם המשתמש יכניס בטעות פעמיים **. הפעולה של ההמרה משרשרת ארוכה לתוו תיכשל ויהיה לך הודעת שגיאה (תבדוק). אין סיבה לא להמשיך לעבוד עם שרשרת.

    בנוסף לכך אם אתה רוצה להבטיח שגם אם המשתמש יכניס פעולה לא חוקית כמו למשל @ אז לא תהיה הודעה של שגיאה. אני ממליץ לכסות את המקרה הכללי (של מצב "אחר").

    * אני רק לא מצליח להבין מה הקשר של WHILE והאם אתה מבין, ואם כן מה היתה המטרה שלך בשימוש בו.

    * נקודה קטנה: כאשר יש לך הרבה IF שרק אחד מהם אמור להיות נכון אז יותר מומלץ בדרך כלל לעבוד עם CASE
    תבדוק את הקישור הבא הוא אמור לעזור לך להגיע לפתרון הסופי :-)
    https://msdn.microsoft.com/en-us/library/06tc147t.aspx


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]


    • נערך על-ידי pituachMVP, Moderator יום שני 19 אוקטובר 2015 21:45
    • סומן כתשובה על-ידי Kirito.NET יום שלישי 20 אוקטובר 2015 18:05
    יום שני 19 אוקטובר 2015 21:30
    מנחה דיון
  • אוקי התבלבלתי עם ה while אני לא בדיוק יודע מה התפקיד שלו ורציתי לשים זקיף. אבל מסתבר שבמחשבון אין סוג לא קביל

    אני לא ממש יודע איך מתפקדת מחרוזת ואני לא רוצה להסתבך

    יום שלישי 20 אוקטובר 2015 18:06
  • בבקשה תגיד לי שאתה יודע לתכנת באסמבלי

    יום שני 02 נובמבר 2015 19:41
  • מצטער אבל לא.


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]    [Linkedin]

    יום שני 02 נובמבר 2015 22:28
    מנחה דיון