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

Google
關於C++上計算法的疑問

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念
上一篇主題 :: 下一篇主題  
發表人 內容
kaze0327
稍嫌羞澀的路人


註冊時間: 2016-08-22
文章: 1

25.19 果凍幣

發表發表於: 2016-8-22, PM 2:57 星期一    文章主題: 關於C++上計算法的疑問 引言回覆

各位大大好:
小弟買了一本c++程式設計的書正在學習中,但卻遇到了一個計算法上的疑問…怎樣都看不懂,還望請各位先進大大告訴小弟一下這個計算法的原理是什麼:

我先將程式碼po出來如下:

#include <iostream>

using namespace std;

int main()
{

int Mouth;

cout << "\n" <<"請輸入一個月份 : " << endl;

cin << Mouth ;

if (Mouth < 1 || Mouth >12)

cout << "您輸入的月份沒有意義" <<endl;

else

{

cout << "\n"<< Mouth << "月是";

switch ((Mouth%12)/3)

{

case 0;

cout << "冬季" <<endl;

break;

case 1;

cout << "春季" <<endl;

break;

case 2;

cout << "夏季" <<endl;

break;

case 3;

cout << "秋季" <<endl;

break;

default:

cout <<"程式有問題" << endl;
}

}

system("PAUSE");

return 0;

}




小弟不懂的地方在於中間的(Mouth%12)/3這個參數的計算法
看書上寫最後得到的數字由1~12的排法是:

0 0 1 1 1 2 2 2 3 3 3 0

可是若是沒有/3的話排法又是

1 2 3 4 5 6 7 8 9 10 11 0

還請各位大大解惑,在這先謝過了Orz。
回頂端
檢視會員個人資料 發送私人訊息
yag
Site Admin


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

2639.56 果凍幣

發表發表於: 2016-8-22, PM 10:42 星期一    文章主題: Re: 關於C++上計算法的疑問 引言回覆

kaze0327 寫到:
小弟不懂的地方在於中間的(Mouth%12)/3這個參數的計算法
看書上寫最後得到的數字由1~12的排法是:

0 0 1 1 1 2 2 2 3 3 3 0

可是若是沒有/3的話排法又是

1 2 3 4 5 6 7 8 9 10 11 0

還請各位大大解惑,在這先謝過了Orz。

看來你是不懂/3,c++中的除法是無條件捨去,只取整數位
1/3=0.33333,因為無條件捨去,所以就是0
2/3=0.66666,因為無條件捨去,所以還是0
3/3=1,所以會是1
這樣能理解嗎?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

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


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