日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁(yè)編程開發(fā)C#.NET → visual studio 2010開發(fā)計(jì)算器心得

      visual studio 2010開發(fā)計(jì)算器心得

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/3/22 22:51:19字體大小:A-A+

      作者:西西點(diǎn)擊:1次評(píng)論:0次標(biāo)簽: 計(jì)算器

      • 類型:行業(yè)軟件大。1.1M語(yǔ)言:中文 評(píng)分:5.0
      • 標(biāo)簽:
      立即下載

      首先打開Microsoft Visual Studio 2010,把語(yǔ)言配置成C#.net。創(chuàng)建出一個(gè)Windows 窗體應(yīng)用程序。然后再自動(dòng)生成的Form1面板上面拖拽出一個(gè)textbox空間,接著拖拽出相應(yīng)的按鈕控件,不再一一贅述。每一個(gè)控件都要添加事件。textbox控件的單擊事件可以設(shè)置為  textBox1.Text = ""; 即一旦點(diǎn)擊輸入框,輸入框的文本就自動(dòng)置為“”(沒有任何內(nèi)容),      其中textbox1是 textbox控件的名字,可以在屬性框里面設(shè)定。

      接下來(lái)對(duì)按鈕1,2,3,4,5,6,7,8,9,0,.,*,+,-,/,等符號(hào)添加事件。每個(gè)按鈕都要添加事件,但是可以是同一個(gè)事件。比如為button1添加 private void button1_Click(object sender, EventArgs e)事件后,接著對(duì)其余的控件添加事件,點(diǎn)開事件的下拉框,選擇button1_Click事件,由于好多按鈕的單擊事件都相似,所以只在一個(gè)事件函數(shù)里面處理即可。但是下面讓我學(xué)會(huì)了第一點(diǎn)重要的東西,object sender中的sender雖然作為事件源的參數(shù),但是sender是object類型的,所以先要Button buttonsender = (Button)sender;

      if (sender != 等)            

      {                

      textBox1.Text += buttonsender.Text;

        }            

      else            

      {

      }

      在else的部分,就要對(duì)文本textBox1.Text進(jìn)行分析。本計(jì)算器不帶有括號(hào),所以每個(gè)運(yùn)算符兩邊必定是數(shù)字。接下來(lái)就要把用戶輸入的數(shù)字部分摘選出來(lái),當(dāng)然,選擇使用Split函數(shù)了。但是只知道這個(gè)函數(shù)能以一種字符進(jìn)行分割。經(jīng)過(guò)反復(fù)百度才了解了這個(gè)函數(shù)有多種重載,多種用法。其中一種是string string1 = textBox1.Text; char[] A=new char[4]{'+','-','/','*'}; string2=string1 .Split(A);其中string2是一個(gè)字符數(shù)組,相當(dāng)于C中指針的指針。字符數(shù)組A包含了四種運(yùn)算符。string2=string1.Split(A)把string1用A中的字符分割出來(lái),函數(shù)原型是 string【】 Split(char【】)返回的是一個(gè)指向字符串?dāng)?shù)組的引用。

      接下來(lái)要做的是運(yùn)算符,textBox1.Text中含有的是加減乘除和零到九小數(shù)點(diǎn)。所以把不是運(yùn)算符的字符全刪除即可。很明顯的想到了替換函數(shù) string  replace(char,char)用第二種字符替換前一種字符。               
                      fuhao = string1.Replace("1","");
                      string fuhao1 = fuhao.Replace("2", "");
                      fuhao = fuhao1.Replace("3", "");
                      fuhao1 = fuhao.Replace("4", "");
                      fuhao = fuhao1.Replace("5", "");
                      fuhao1 = fuhao.Replace("6", "");
                      fuhao = fuhao1.Replace("7", "");
                      fuhao1 = fuhao.Replace("8", "");
                      fuhao = fuhao1.Replace("9", "");
                      fuhao1 = fuhao.Replace("0", "");
                      fuhao = fuhao1.Replace(".", "");
      接下來(lái)就進(jìn)行計(jì)算。計(jì)算的思想是:加減乘除運(yùn)算分為兩層,第一層是乘除運(yùn)算,第二層是加減運(yùn)算。通過(guò)mark來(lái)標(biāo)記運(yùn)算符字符串里面的乘除運(yùn)算符,加減運(yùn)算符是否還有。先做所有的乘除計(jì)算,在做剩余的加減運(yùn)算。 int i,mark=1;
                      while (mark == 1&&fuhao!="")
                      {
                          mark = 0;
                          for (i=0;i < fuhao.Length;i++)
                          {
                              if (fuhao[i] == '*')
                              {
                                  chengfa(i);
                                  mark = 1;
                                  break;
                              }
                              else if (fuhao[i] == '/')
                              {
                                  chufa(i);
                                  mark = 1;
                                  break;
                              }                        
                          }
                         
                      }
      這個(gè)循環(huán)處理了所有的乘除運(yùn)算符。

       mark = 1;
                      while (mark == 1&&fuhao!="")
                      {
                          mark = 0;
                          for (i = 0; i < fuhao.Length; i++)
                          {
                              if (fuhao[i] == '+')
                              {
                                 jiafa(i);
                                  mark = 1;
                                  break;
                              }
                              else if (fuhao[i] == '-')
                              {
                                  jianfa(i);
                                  mark = 1;
                                  break;
                              }
                          }
                      }

      這個(gè)處理了所有的加減運(yùn)算符。

      public string[] DeleteString(string[] list, int posation)        

      {             List<string> l = new List<string>();            

      for (int i = 0; i < list.Length; i++)            

      {               

        if (i != posation)                 {                     l.Add(list[i]);                 }           

        }                            

      return l.ToArray();        

      }        

      public string[] AddString(string[] list, string key,int location)        

      {            

      List<string> l = new List<string>();            

      for (int i = 0; i < list.Length; i++)            

      {                 if (i == location )                 {                     l.Add(key);                                  }                

        l.Add(list[i]);            

      }               

        return l.ToArray();        

      }    

      public     void chengfa(int i)        

      {            

      double a = Convert.ToDouble(string2[i]);       

            double b = Convert.ToDouble(string2[i + 1]);            

      double c=a*b;           

        string2 = AddString(string2, Convert.ToString(c), i);        

           string2 = DeleteString(string2, i + 1);            

      string2 = DeleteString(string2, i + 1);            

      fuhao = fuhao.Remove(i, 1);        

      }    

      public void chufa(int i)        

      {            

      double a = Convert.ToDouble(string2[i]);            

      double b = Convert.ToDouble(string2[i + 1]);            

      double c = a / b;            

      string2 = AddString(string2, Convert.ToString(c), i);            

      string2 = DeleteString(string2, i + 1);            

      string2 = DeleteString(string2, i + 1);            

      fuhao = fuhao.Remove(i, 1);        

      }    

      public void jiafa(int i)        

      {            

      double a = Convert.ToDouble(string2[i]);            

      double b = Convert.ToDouble(string2[i + 1]);            

      double c = a + b;            

      string2 = AddString(string2, Convert.ToString(c), i);            

      string2 = DeleteString(string2, i + 1);            

      string2 = DeleteString(string2, i + 1);            

      fuhao = fuhao.Remove(i, 1);        

      }    

      public void jianfa(int i)        

      {            

      double a = Convert.ToDouble(string2[i]);            

      double b = Convert.ToDouble(string2[i + 1]);            

      double c = a - b;            

      string2 = AddString(string2, Convert.ToString(c), i);            

      string2 = DeleteString(string2, i + 1);            

      string2 = DeleteString(string2, i + 1);            

      fuhao = fuhao.Remove(i, 1);        

      }

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)