עבור לתוכן

Featured Replies

פורסם

      

אני בן 20 התחלתי ללמוד תכנות בכיתה י ובחודשים האחרונים חזרתי ללמוד תכנות לבד יש  לי ידע בc#  וכבר עשיתי כמה תוכניות בconsole application בחודשיים האחרונים התחלתי להשתמש בforms  אבל עכשיו יש לי כמה בעיות הראשונה היא איך עושים שיהיה אפשר ללחוץ על אותו כפתור כמה פעמים ברצף

וזאת הבעיה השנייה:

 

 

int incom=5; 
int lose=10;
  int startmoney = 20;
 int totalmoney ;
int newtotalmoney;

 שאני לוחץ buy פעם ראשונה זה מוריד 10 מסכום:

 

 

                 totalmoney = startmoney - lose;
                lbl_total_money.Text = totalmoney + "$";

            
ואם אחריו אני לוחץ sell הסכום שלאחר הקנייה עולה ב5:

 

 

 

 

            if(totalmoney == startmoney - lose)

 

 

            {
                totalmoney = startmoney - lose;
                newtotalmoney = totalmoney +incom;
                lbl_total_money.Text = newtotalmoney + "$";
אבל שאני לוחץ שוב על BUY   הסכום יורד ב5 למרות שהגדרתי int lose=10;  עשיתי דיבאגינג ניסיתי לשנות את הניסוח של הקוד לא עזר 
 

 

 

 

   זה הקוד המלא

int incom=5; 
int lose=10;
  int startmoney = 20;
 int totalmoney ;
int newtotalmoney;

        private void BTN_BUY_MouseClick(object sender, MouseEventArgs e)
        {
            if (totalmoney == startmoney+incom)
            {
                totalmoney = startmoney +incom;
                newtotalmoney = totalmoney - lose;
                lbl_total_money.Text = newtotalmoney+ "$";
            }
                


            else
            {
               totalmoney = startmoney - lose;
                lbl_total_money.Text = totalmoney + "$";
            }
        }

        private void BTN_SELL_Click(object sender, EventArgs e)
        {
            incom = 5;
            if(totalmoney == startmoney - lose)
            {
                totalmoney = startmoney - lose;
                newtotalmoney = totalmoney +incom;
                lbl_total_money.Text = newtotalmoney + "$";
            }


            else
            {
               totalmoney = startmoney + incom;
                lbl_total_money.Text = totalmoney + "$";
            }

           


        }

        private void lbl_total_money_Click(object sender, EventArgs e)
        {

זה לא רלוונטי

        }

 

אני מקווה שזה יותר ברור 

  
  

נערך על-ידי ron rosenfeld
להבהיר את הבעיה בצורה יותר ברורה ולעדכן בשינוי הניסוח של הקוד

פורסם

אתה לא בכיוון, אי אפשר להגדיר את lbl_total_money.Text כמספר, זה טקסט ואין לך יכולת לשנות את סוג המשתנה.

 

אם אתה ממש מתעקש אז אפשר להמיר את ה-string חזרה למספר, לעשות את החישוב ואז ליצר string חדש אבל זו דרך ממש עקומה ולא מומלצת.

הדרך הנכונה היא להשתמש במשתנה נוסף כמו  totalmoney, משום מה פסלת את האפשרות הזו.

פורסם
  • מחבר

   

int incom=5; 
int lose=10;
  int startmoney = 20;
 int totalmoney ;
int newtotalmoney;

זאת הדרך המקורית :  שאני לוחץ buy פעם ראשונה זה מוריד 10 מסכום:

 

 

                 totalmoney = startmoney - lose;
                lbl_total_money.Text = totalmoney + "$";

            
ואם אחריו אני לוחץ sell הסכום שלאחר הקנייה עולה ב5:

 

 

 

 

            if(totalmoney == startmoney - lose)

 

 

            {
                totalmoney = startmoney - lose;
                newtotalmoney = totalmoney +incom;
                lbl_total_money.Text = newtotalmoney + "$";
אבל שאני לוחץ שוב על BUY   הסכום יורד ב5 למרות שהגדרתי int lose=10;  עשיתי דיבאגינג ניסיתי לשנות את הניסוח של הקוד לא עזר 
 

 

 

 

   זה הקוד המלא

int incom=5; 
int lose=10;
  int startmoney = 20;
 int totalmoney ;
int newtotalmoney;

        private void BTN_BUY_MouseClick(object sender, MouseEventArgs e)
        {
            if (totalmoney == startmoney+incom)
            {
                totalmoney = startmoney +incom;
                newtotalmoney = totalmoney - lose;
                lbl_total_money.Text = newtotalmoney+ "$";
            }
                


            else
            {
               totalmoney = startmoney - lose;
                lbl_total_money.Text = totalmoney + "$";
            }
        }

        private void BTN_SELL_Click(object sender, EventArgs e)
        {
            incom = 5;
            if(totalmoney == startmoney - lose)
            {
                totalmoney = startmoney - lose;
                newtotalmoney = totalmoney +incom;
                lbl_total_money.Text = newtotalmoney + "$";
            }


            else
            {
               totalmoney = startmoney + incom;
                lbl_total_money.Text = totalmoney + "$";
            }

           


        }

        private void lbl_total_money_Click(object sender, EventArgs e)
        {

זה לא רלוונטי

        }

 

אני מקווה שזה יותר ברור 

 


 

נערך על-ידי ron rosenfeld
להבהיר את הבעיה בצורה יותר ברורה ולעדכן בשינוי הניסוח של הקוד

פורסם

תכתוב את הקוד שלך בתוך תג הקוד (סימון <> בסרגל הכלים של התגובה). כך יהיה יותר קל לקרוא ולהבין אותו.

פורסם

כאמור קצת קשה לקרוא את הקוד ככה למרות שעושה רושם שטג code גם כבר לא עובד מי יודע מה ומיישר לימין במקום לשמאל.

 

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

 

הפתרון אמור להיות משהו כזה:

int incom = 5;
int lose = 10;
int totalmoney = 20;

private void BTN_BUY_MouseClick(object sender, MouseEventArgs e)
{
  totalmoney = totalmoney - lose;
  lbl_total_money.Text = totalmoney+ "$";
}

private void BTN_SELL_Click(object sender, EventArgs e)
{
  totalmoney = totalmoney + incom;
  lbl_total_money.Text = totalmoney + "$";
}

 

נערך על-ידי etal

פורסם
  • מחבר
        int incom = 5;
        int lose = 10;
        int totalmoney = 20;
        int appels = 6;
        int buyappels = 4;
        int sellappels = 2;
        int score=0;
        int applebonus=5;

        private void btn_buy_Click(object sender, EventArgs e)
        {
            totalmoney = totalmoney - lose;
            lbl_total_money.Text = totalmoney + "$";

            appels = appels + buyappels;
            lbl_appels.Text = appels + "appels";

            if (totalmoney < lose)
            {
                btn_buy.Enabled = false;
            }
            else
            {
                if (totalmoney >= lose)
                {
                    btn_buy.Enabled = true;
                }
            }
        }

        private void btn_sell_Click(object sender, EventArgs e)
        {
            totalmoney = totalmoney + incom;
            lbl_total_money.Text = totalmoney + "$";

            appels = appels - sellappels;
            lbl_appels.Text = appels + "appels";




            if (appels < buyappels)
            {
                btn_sell.Enabled = false;
            }
            else
            {
                if (appels >= buyappels)
                {
                    btn_sell.Enabled = true;
                }
            }

          

תודה על העזרה מקודם מסתבר שבהתחלה הייתי בכיוון ואיכשהו משהו התפקשש לי  , אבל עכשיו אני רוצה לדעת איך אני מפעיל מחדש כפתור אחרי שאני משבית אותו עשיתי btn_sell.enabled=true  אבל כאשר אני מגיע למצב כזה: appels>=buyappels הכפתור עדיין מושבת

פורסם
  • מחבר
ציטוט של ron rosenfeld
        int incom = 5;
        int lose = 10;
        int totalmoney = 20;
        int appels = 6;
        int buyappels = 4;
        int sellappels = 2;
        int score=0;
        int applebonus=5;

        private void btn_buy_Click(object sender, EventArgs e)
        {
            totalmoney = totalmoney - lose;
            lbl_total_money.Text = totalmoney + "$";

            appels = appels + buyappels;
            lbl_appels.Text = appels + "appels";

            if (totalmoney < lose)
            {
                btn_buy.Enabled = false;
            }
            else
            {
                if (totalmoney >= lose)
                {
                    btn_buy.Enabled = true;
                }
            }
        }

        private void btn_sell_Click(object sender, EventArgs e)
        {
            totalmoney = totalmoney + incom;
            lbl_total_money.Text = totalmoney + "$";

            appels = appels - sellappels;
            lbl_appels.Text = appels + "appels";




            if (appels < buyappels)
            {
                btn_sell.Enabled = false;
            }
            else
            {
                if (appels >= buyappels)
                {
                    btn_sell.Enabled = true;
                }
            }

          

תודה על העזרה מקודם מסתבר שבהתחלה הייתי בכיוון ואיכשהו משהו התפקשש לי  , אבל עכשיו אני רוצה לדעת איך אני מפעיל מחדש כפתור אחרי שאני משבית אותו עשיתי btn_sell.enabled=true  אבל כאשר אני מגיע למצב כזה: appels>=buyappels הכפתור עדיין מושבת

לא רלוונטי הסתדרתי והבנתי

 

הצטרפ/י לדיון

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

אורח
הוסף תגובה

דיונים חדשים