電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
順手寫的C++計算機

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念
上一篇主題 :: 下一篇主題  
發表人 內容
話術師
對這略感興趣的新人


註冊時間: 2007-06-02
文章: 17
來自: 耗電量很高的地方
0.00 果凍幣

發表發表於: 2007-6-6, AM 2:51 星期三    文章主題: 順手寫的C++計算機 引言回覆

我認為程式碼加個註解是有其必要的...........

代碼:

#include <iostream>
#include <stack>
#include <string>
#include <stdio.h>
#include <iomanip>

using namespace std;

class MATH
{                     
   private:
   stack<char> s ;         //利用樣板進行STACK的建立
   char op ;               //讀入運算子
   double n1, n2, sum ;      
   
   public:
      void calculate();     //運算成員函式

};




void main()
{
   MATH math;         //宣告物件
   math.calculate();

}


void MATH::calculate()
{
   while(cin>>n1)      //當輸入不滿足float跳出
   {
      sum=0;         //設定sum=0
      
      for(;;)
      {
         op=getchar();      //讀入第1個運算符
         
         if(op=='\n')      //當讀入到尾端滿足
         {
            if(s.empty())   //利用stack的函式empty讀取
            sum =sum+n1;   //stack是否有運算符
         
            else
            {
            char temp=s.top();   //讀入第1個運算符
            s.pop();         //把第1個運算符除去

            if(temp == '+')
               sum=sum+n1;      //設定遇到+-如何處理
            else
               sum=sum-n1;
            }
         break;
         }
      
         cin>>n2;         //讀入第2個運算子
      
         if((op=='+')||(op=='-'))   //當滿足+-算符時進入
         {
            if(s.empty())
            {
               s.push(op);      //將運算子丟入STACK
               sum=sum+n1;
               n1=n2;
            }

            else
            {
               char temp=s.top();
               s.pop();
               s.push(op);
            if(temp=='+')
               sum=sum+n1;
            else
               sum=sum-n2;

               n1=n2;         //把n2值給n1進行運算
            }
         }
         else if(op=='*')
            n1=n1*n2;
         else if(op=='/')      //滿足*/時進入
            n1=n1/n2;
      }

   cout <<showpoint <<setprecision(6) << sum << endl ;   //輸出結果
   }
}
}

_________________
人生真累呀
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2007-6-6, PM 12:41 星期三    文章主題: Re: 順手寫的C++計算機 引言回覆

感謝分享 Very Happy
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作