冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 3770|回覆: 4
打印 上一主題 下一主題

[求助] 新手剛接觸C# 寫了第一個程式計算機碰上小問題

[複製鏈接]

38

主題

6

好友

127

積分

註冊會員

Rank: 2

UID
70181
帖子
658
主題
38
精華
0
積分
127
楓幣
1703
威望
108
存款
6246
贊助金額
0
推廣
0
GP
56
閱讀權限
20
性別
保密
在線時間
375 小時
註冊時間
2014-7-11
最後登入
2024-11-27

論壇支持王 性別(男) 論壇粉絲 懶人勳章 太陽勳章 2017中秋節紀念勳章 2018年紀念勳章 神手勳章 音樂勳章 積分勳章 發帖達人 解說達人 2019年紀念勳章 幼兒勳章 長老勳章 2020年紀念勳章 2022年紀念勳章

跳轉到指定樓層
1
發表於 2018-10-6 17:54:32 |只看該作者 |倒序瀏覽
本帖最後由 cpu66300 於 2018-10-7 09:06 編輯

以下是我的問題:
555555555555555555.PNG
66666666666666.PNG


按了一下 小數點  0就不見了直接秀出 "." 如果要打 0.5時候 該怎麼寫

還有 該怎麼寫 小數點 出現一次而已呢?
新手剛接觸C#  寫的第一個程式 碰上的問題    請高手幫幫忙  感謝

以下 附上我的程式碼:

public partial class Form1 : Form
    {
        Double value = 0;
        String op = "";
        bool op_pressed = false;
        public Form1()
        {
            InitializeComponent();
        }

        private void button_Click(object sender, EventArgs e)       <<<< 0~9  OR "."的按鈕
        {
            if ((result.Text == "0")||(op_pressed))
                result.Clear();
            op_pressed = false;
            Button b = (Button)sender;
            result.Text = result.Text +b.Text;               
                                                                  //<<<< 這邊我有試著打 if (result.Text.IndexOf(".") < 0) ;
                                                                 //  {
                                                                                result.Text =  result.Text+".";          結果 更慘 多一個 "."
                                                                         }                              

}

        private void button11_Click(object sender, EventArgs e)    <<<<CE鈕
        {
            result.Text = "0";
        }

        private void op_click(object sender, EventArgs e)   <<<<+ - * / 鈕
        {
            Button b = (Button)sender;
            op = b.Text;
            value = Double.Parse(result.Text);
            op_pressed = true;
        }

        private void button13_Click(object sender, EventArgs e)
        {
            switch(op)
            {
                case "+":
                    result.Text = (value + Double.Parse(result.Text)).ToString();
                    break;
                case "-":
                    result.Text = (value - Double.Parse(result.Text)).ToString();
                    break;
                case "*":
                    result.Text = (value * Double.Parse(result.Text)).ToString();
                    break;
                case "/":
                    result.Text = (value / Double.Parse(result.Text)).ToString();
                    break;
                default:
                    break;
                   }
            op_pressed = false;
        }

        private void button10_Click(object sender, EventArgs e)      <<<<C鈕
        {
            result.Text = "0";
            value = 0;
        }
    }
}



[發帖際遇]: cpu66300 撿到錢卻私吞,被路人檢舉懲罰 1 楓幣 幸運榜 / 衰神榜
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$

88

主題

5

好友

365

積分

中級會員

バカ

Rank: 3Rank: 3

UID
75389
帖子
658
主題
88
精華
0
積分
365
楓幣
3619
威望
248
存款
500
贊助金額
0
推廣
0
GP
6
閱讀權限
30
在線時間
2347 小時
註冊時間
2014-8-5
最後登入
2024-9-16

積分勳章 在線終極王 論壇支持王 論壇粉絲 2015年紀念勳章 長老勳章 懶人勳章 幼兒勳章 Android勳章 2018年紀念勳章 2018端午節紀念勳章 2018萬聖節紀念勳章 2019年紀念勳章 2019端午節紀念勳章 2019中秋節紀念勳章 2019聖誕節紀念勳章

2
發表於 2018-10-7 00:16:42 |只看該作者
你 0 按鈕的 click function 是 button_Click 嗎?

我建議你把按鈕的名稱都自訂好,你如果是預設的編號的話其他人怎麼會知道你的 button11 是哪一顆按鈕呢?這樣其他人還要去多花時間去猜測你的哪個按鈕是哪個名稱。
[發帖際遇]: xmax 搭乘「北捷」不幸遭到「隨機砍人」瘋子砍傷,因而獲得保險理賠 1 楓幣 幸運榜 / 衰神榜
點評回覆

使用道具 舉報

38

主題

6

好友

127

積分

註冊會員

Rank: 2

UID
70181
帖子
658
主題
38
精華
0
積分
127
楓幣
1703
威望
108
存款
6246
贊助金額
0
推廣
0
GP
56
閱讀權限
20
性別
保密
在線時間
375 小時
註冊時間
2014-7-11
最後登入
2024-11-27

論壇支持王 性別(男) 論壇粉絲 懶人勳章 太陽勳章 2017中秋節紀念勳章 2018年紀念勳章 神手勳章 音樂勳章 積分勳章 發帖達人 解說達人 2019年紀念勳章 幼兒勳章 長老勳章 2020年紀念勳章 2022年紀念勳章

3
發表於 2018-10-7 09:00:42 |只看該作者
xmax 發表於 2018-10-7 00:16
你 0 按鈕的 click function 是 button_Click 嗎?

我建議你把按鈕的名稱都自訂好,你如果是預設的編號的話 ...

式的   我把 0~9 都用 button_Click
+ - * / 都用   button13_Click  OR  op_click
button10_Click   是 C 鈕
button11_Click   是 CE 鈕

謝謝大大 提醒   小弟 記下了  3q
點評回覆

使用道具 舉報

88

主題

5

好友

365

積分

中級會員

バカ

Rank: 3Rank: 3

UID
75389
帖子
658
主題
88
精華
0
積分
365
楓幣
3619
威望
248
存款
500
贊助金額
0
推廣
0
GP
6
閱讀權限
30
在線時間
2347 小時
註冊時間
2014-8-5
最後登入
2024-9-16

積分勳章 在線終極王 論壇支持王 論壇粉絲 2015年紀念勳章 長老勳章 懶人勳章 幼兒勳章 Android勳章 2018年紀念勳章 2018端午節紀念勳章 2018萬聖節紀念勳章 2019年紀念勳章 2019端午節紀念勳章 2019中秋節紀念勳章 2019聖誕節紀念勳章

4
發表於 2018-10-7 10:59:50 |只看該作者
針對你說的小數點的問題,我的想法是把小數點按鈕的 click function 給另外寫。

這是我小數點按鈕的click事件
  1. private void Dot_btm_Click(object sender, EventArgs e)
  2. {
  3.     // If Result is 0 or op_pressed is true,
  4.     // then clear display.
  5.     if ((Result_txt.Text == string.Empty) || op_pressed)
  6.         Result_txt.Text = "0.";
  7.     op_pressed = false;

  8.     if (Result_txt.Text.IndexOf(".") == -1) {
  9.         // If Result_txt hasn't "." then
  10.         Result_txt.Text += ".";
  11.     }
  12. }
複製代碼

點評

xmax  哈哈,沒關係,有解決問題就好,如果還有甚麼問題歡迎再跟我討論。  發表於 2018-10-8 00:44
cpu66300  不好意思 網路 延遲 多按了幾下 想說都沒反應...  發表於 2018-10-8 00:41
cpu66300  感謝大大  發表於 2018-10-8 00:40
cpu66300  感謝大大  發表於 2018-10-8 00:39
cpu66300  感謝大大  發表於 2018-10-8 00:39
xmax  我補充一下,若字串中沒有某個字串或字符時會回傳 -1,所以利用這個方法來確認已經有小數點存在了。  發表於 2018-10-7 11:02
[發帖際遇]: xmax 為了響應政府幫企業「做功德」,打工十小時領取工資 1 楓幣 幸運榜 / 衰神榜
點評回覆

使用道具 舉報

38

主題

6

好友

127

積分

註冊會員

Rank: 2

UID
70181
帖子
658
主題
38
精華
0
積分
127
楓幣
1703
威望
108
存款
6246
贊助金額
0
推廣
0
GP
56
閱讀權限
20
性別
保密
在線時間
375 小時
註冊時間
2014-7-11
最後登入
2024-11-27

論壇支持王 性別(男) 論壇粉絲 懶人勳章 太陽勳章 2017中秋節紀念勳章 2018年紀念勳章 神手勳章 音樂勳章 積分勳章 發帖達人 解說達人 2019年紀念勳章 幼兒勳章 長老勳章 2020年紀念勳章 2022年紀念勳章

5
發表於 2018-10-8 01:17:02 |只看該作者
xmax 發表於 2018-10-7 10:59
針對你說的小數點的問題,我的想法是把小數點按鈕的 click function 給另外寫。

這是我小數點按鈕的click ...

感謝大大的ˊ交的寫法ˋ  但是我又稍微修改了 一點點  因為 我把  "." 的按鈕 改回 原本的 Click  的名稱而已


  private void button17_Click(object sender, EventArgs e)
        {

            if ((result.Text == String.Empty) || op_pressed)
                result.Text = "0";
            op_pressed = false;

            if(result.Text.IndexOf(".") ==-1)

                result.Text += ".";


        }


這樣 就成功了  

點評

xmax  成功就好 XD  發表於 2018-10-8 01:22
[發帖際遇]: cpu66300 因吃了太多「垃圾食物」,「胃全」是垃圾,就診後獲得醫療理賠 1 楓幣 幸運榜 / 衰神榜
點評回覆

使用道具 舉報

高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-28 09:23

回頂部