找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
尊貴會員無限觀看附件圖片尊貴會員無限下載附件伊莉需要你的贊助和支持
mega 無強姦名偵探柯gd按摩無碼 ge
streamtasdmua 08巨乳忍者世紀末学月下夜想望月あや雙人房

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]魔王學院的不適任

✡ 斗破蒼穹 年番/鬥

[繁]怪獸八號04-

[繁][720P]海賊王1103

[繁]Re:Monster 06-

[簡]終末的火車前往何
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 1226|回復: 1
打印上一主題下一主題

[作業]資料結構作業 c++程式 急!!![複製鏈接]

Rank: 2Rank: 2

帖子
165
積分
519 點
潛水值
28049 米
樓主
發表於 2011-11-29 05:41 PM|顯示全部樓層
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
以下是我會用的作法

利用link list的方式將讀進來的資料一個一個塞進去

遇到運算符號, 就將最新的兩個數字丟出來運算後傳進去
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

Rank: 2Rank: 2

帖子
165
積分
519 點
潛水值
28049 米
頭香
發表於 2011-11-30 11:16 AM|顯示全部樓層
借花獻佛~

我沒有將判斷和運算的部份放上來

記錄過程的部份也沒有加上

可以自己試一下
  1. int _tmain(int argc, _TCHAR* argv[])
  2. {
  3.         char szData[128];                        //準備運算的字串
  4.         sp rintf(szData, "30 4 / 4 9 + 6 3 - * 4 * -");                //隨便一串資料

  5.         char sp lit[4] = " ", *token;                //分割字串需要的參數
  6.         stack <float> stackData;
  7.         float fTemp  = 0, fFirst = 0, fSecond = 0;

  8.         token = strtok(szData, sp lit);

  9.         //將資料分割
  10.         while(token != NULL)
  11.         {
  12.                 //確認是否為運算符號
  13.                 if (IsOp erator(*token))
  14.                 {
  15.                         //確認stack裡的資料足夠
  16.                         if (stackData.size() < 2)
  17.                         {
  18.                                 break;
  19.                         }

  20.                         //將資料從stack中讀出
  21.                         fSecond = stackData.top ();
  22.                         stackData.p op ();
  23.                         fFirst = stackData.top ();
  24.                         stackData.p op ();

  25.                         //進行運算
  26.                         fTemp  = Calculate(fFirst, fSecond, *token);

  27.                         //將數字丟到stack中
  28.                         stackData.p ush(fTemp );
  29.                 }
  30.                 else
  31.                 {
  32.                         //將數字丟到stack中
  33.                         fTemp  = atof(token);
  34.                         stackData.p ush(fTemp );
  35.                 }

  36.                 token = strtok(NULL, sp lit);
  37.         }

  38.         //輸入字串錯誤
  39.         if (stackData.size() != 1)
  40.         {}
  41.         else
  42.         {
  43.                 fTemp  = stackData.top ();

  44.                 sp rintf(szData, "The answer is %f", fTemp );

  45.                 p rintf(szData);
  46.         }

  47.         system("p ause");

  48.         return 0;

  49. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部