上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
電腦遊戲程式製作 偶而上來逛逛的過客
註冊時間: 2008-05-08 文章: 10
0.00 果凍幣
|
發表於: 2008-5-8, PM 5:26 星期四 文章主題: 請幫我看C++程式碼 (程式碼更新-1.1) |
|
|
代碼: | #include<iostream>
int main()
{
using namespace std;
int carrots;
cout << "How many carrots do you have?" << endl;
cin >> carrots;
cout << "Here are two more. ";
carrots = carrots + 2;
cout << "Now you have " << carrots << " carrots." << endl;
getchar();
} |
程式都沒打錯之後,接下來存成xxx.cpp,
然後測試執行,結果都沒有出現DOS畫面,
有人可以幫忙解決一下嗎,謝謝。
另外 希望 cin 的用法有人可以說明一下是在做什麼的。
謝謝!!
電腦遊戲程式製作 在 2008-5-16, PM 3:35 星期五 作了第 5 次修改 |
|
回頂端 |
|
|
mirror 散播福音的祭司
註冊時間: 2007-07-27 文章: 174
828.60 果凍幣
|
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-5-8, PM 8:09 星期四 文章主題: Re: 請幫我看C++程式碼 |
|
|
電腦遊戲程式製作 寫到: | 代碼: | #include<iostream>
int maim()
{
using namespace std;
int carrots;
cout << "How many carrots do you have?" << endl;
cin >> carrots;
cout << "Here are two more. ";
carrots = carrots + 2;
cout << "Now you have " << carrots << " carrots." << endl;
getchar();
} |
程式都沒打錯之後,接下來存成2008.cpp,
然後測試執行,結果都沒有出現DOS畫面,
有人可以幫忙解決一下嗎,謝謝。
另外 希望 cin 的用法有人可以說明一下是在幹麻,
謝謝。 |
1.請善用code標籤,否則會看不到縮排。
2.你的main函式似乎沒有return,這樣可以compile過嗎?
3.你的main似乎打錯了,是main不是maim
4.請你附註一下你使用的compiler或IDE是哪個
5.getchar()在這裡不會有停止的功能,因為被cin後的enter填入了,請改用system( "pause" );或者#include <conio.h>之後使用getch();取代
6.cout是輸出,cin就是輸入,它會讓程式中斷,等待使用者的輸入,然後將使用者輸入的內容存到萃取運算子(>>)右邊的變數當中 |
|
回頂端 |
|
|
電腦遊戲程式製作 偶而上來逛逛的過客
註冊時間: 2008-05-08 文章: 10
0.00 果凍幣
|
發表於: 2008-5-8, PM 10:03 星期四 文章主題: Re: 請幫我看C++程式碼 |
|
|
1.請善用code標籤,否則會看不到縮排。
請問這句話是什麼意思?
2.你的main函式似乎沒有return,這樣可以compile過嗎?
可以麻煩說一下這是什麼嗎?
課本上是有在最後面上面加上return,
但是都無法停在DOS上,所以改成getchar;來使用。
另外請問一下compile是....?
3.你的main似乎打錯了,是main不是maim
抱歉,這個地方的程式碼的確打錯
4.請你附註一下你使用的compiler或IDE是哪個
不知道這句話是什麼?
5.getchar()在這裡不會有停止的功能,因為被cin後的enter填入了,請改用system( "pause" );或者#include <conio.h>之後使用getch();取代
getchar()在這裡不會有停止的功能,因為被cin後的enter填入了,
可以麻煩詳細說一下這句話嗎?謝謝
system("pause"); 改這個有用,不過改後面那個好像會出現問題。
因為個人是超級新手,所以很多東西都不知道,
所以就麻煩一下了,謝謝。 |
|
回頂端 |
|
|
lsk 喜歡上這裡的冒險者
註冊時間: 2007-06-20 文章: 93
20.59 果凍幣
|
發表於: 2008-5-9, AM 1:18 星期五 文章主題: Re: 請幫我看C++程式碼 |
|
|
電腦遊戲程式製作 寫到: | 1.請善用code標籤,否則會看不到縮排。
請問這句話是什麼意思? |
你可以用預覽試試看就知道了
如果你沒有用到上面的那個"Code"的按鈕或是自己輸入"[c o d e][/c o d e]"
你的程式碼在每一行的前面的空白處(不管你是用tab或是space)不會被顯示
讓讀者看起來比較吃力
電腦遊戲程式製作 寫到: | 2.你的main函式似乎沒有return,這樣可以compile過嗎?
可以麻煩說一下這是什麼嗎?
課本上是有在最後面上面加上return,
但是都無法停在DOS上,所以改成getchar;來使用。
另外請問一下compile是....? |
只要不是宣告成void的函式都要有return,也就是回傳值
你最前面的main宣告成int
等於是告訴編譯器你這個main的函式要回傳一個int值
但是你最後沒加上return,理論上編譯時(也就是compile)會有錯誤
建議你可以從函式和變數類型的相關文章來了解這個問題
每本好的c++書都有介紹的
另外,return並不會讓程式停止的
電腦遊戲程式製作 寫到: | 3.你的main似乎打錯了,是main不是maim
抱歉,這個地方的程式碼的確打錯
4.請你附註一下你使用的compiler或IDE是哪個
不知道這句話是什麼? |
就是你用什麼東西來跑你的程式。
IDE應該是Intergrated develope environment,就是你的整合開發環境
說白話就是你拿來寫程式和跑程式的工具囉
compiler是編譯器,比如說VS2005就是一個IDE,而VS2005就包含了一個compiler在裡面。
電腦遊戲程式製作 寫到: | 5.getchar()在這裡不會有停止的功能,因為被cin後的enter填入了,請改用system( "pause" );或者#include <conio.h>之後使用getch();取代
getchar()在這裡不會有停止的功能,因為被cin後的enter填入了,
可以麻煩詳細說一下這句話嗎?謝謝
system("pause"); 改這個有用,不過改後面那個好像會出現問題。
因為個人是超級新手,所以很多東西都不知道,
所以就麻煩一下了,謝謝。 |
這邊也是建議先看完基本的後再回來了解背後的原理
一開始就說IO的東西會有點太硬了。
萬事起頭難,加油~ |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-5-9, AM 9:15 星期五 文章主題: Re: 請幫我看C++程式碼 |
|
|
電腦遊戲程式製作 寫到: | 1.請善用code標籤,否則會看不到縮排。
請問這句話是什麼意思? |
在你的第一篇文章按編輯,你會看到你的程式碼已被我用code標籤包住了
這就是沒縮排:
int main()
{
std::cout << "範例" << endl;
return 0;
}
這就是有縮排:
代碼: | int main()
{
std::cout << "範例" << endl;
return 0;
} |
有看出這兩段一樣的程式碼的差異嗎?
沒有code標籤時,是無法顯示出每一行前面的空白的
電腦遊戲程式製作 寫到: | 2.你的main函式似乎沒有return,這樣可以compile過嗎?
可以麻煩說一下這是什麼嗎?
課本上是有在最後面上面加上return,
但是都無法停在DOS上,所以改成getchar;來使用。
另外請問一下compile是....? |
return跟能不能停在DOS上毫無關係
那是必定要加的
你將程式碼轉成執行檔的過程就叫編譯(compile)
電腦遊戲程式製作 寫到: | 5.getchar()在這裡不會有停止的功能,因為被cin後的enter填入了,請改用system( "pause" );或者#include <conio.h>之後使用getch();取代
getchar()在這裡不會有停止的功能,因為被cin後的enter填入了,
可以麻煩詳細說一下這句話嗎?謝謝
system("pause"); 改這個有用,不過改後面那個好像會出現問題。 |
cin會要求輸入,此輸入以使用者按下Enter鍵為終止,但cin並不會讀取這個Enter輸入,所以會被getchar()讀去當成它的輸入,如果這樣還是聽不懂,代表你的基礎還不足以了解,請先略過這個問題,等你懂了更多基礎後再試圖了解。
後面那個我有說了,要先#include <conio.h>,我想你應該沒有照著做吧? |
|
回頂端 |
|
|
電腦遊戲程式製作 偶而上來逛逛的過客
註冊時間: 2008-05-08 文章: 10
0.00 果凍幣
|
發表於: 2008-5-12, PM 2:26 星期一 文章主題: Re: 請幫我看C++程式碼 |
|
|
使用軟體 DevC++4.9.9.2
程式碼更新-1
下面程式碼很多地方不懂,請幫我看一下。
課本程式碼↓
代碼: | #include<iostream>
#include<cmath>
int main()
{
using namespace std;
double area;
cout << "Enter the floor area, in square feet, of your home.";
cin >> area;
double side;
side = sqrt(area);
cout << "That's the equivalent of a square " << side
<< " feet to the side." << endl;
cout << "How fascinating!" << endl;
getchar();
} |
在執行測試時,程式碼會在DOS上出現訊息入下↓
Enter the floor area, in square feet, of your home.
不知道為何只出現這些訊息,
課本上顯示的結果是寫
Enter the floor area, in square feet, of your home:1536
That's the equivalent of a square 39.1918 feel to the side.
How fascinating!
不知道為何跟課本的顯示結果會差這麼多,還是哪裡有問題?
這些程式碼很多地方都不懂,希望可以說一下是在幹麻的↓
這些程式碼都不知道是在做什麼的,
雖然課本好像有提到,但還是不太懂,
請各位幫忙說一下這些程式碼的用途......等。
代碼: |
#include<cmath>
double area;
double side;
side = sqrt(area);
|
|
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-5-12, PM 3:43 星期一 文章主題: Re: 請幫我看C++程式碼 |
|
|
如我上一篇所說
cin會要求輸入
之所以停在第一行
就是在等你輸入
那個1536就是作者隨便打的輸入
你要打1234、5678都行
建議你可以換一本台灣人寫的書來學習
由你的問題可看出你對英文不太熟
所以換一本以中文顯示提示語的參考書應該有助於學習
「Enter the floor area, in square feet, of your home.」的意思就是
「請輸入你家佔地面積大小有幾坪」
yag 在 2008-5-13, AM 7:44 星期二 作了第 1 次修改 |
|
回頂端 |
|
|
電腦遊戲程式製作 偶而上來逛逛的過客
註冊時間: 2008-05-08 文章: 10
0.00 果凍幣
|
發表於: 2008-5-13, AM 1:03 星期二 文章主題: Re: 請幫我看C++程式碼 |
|
|
yag 寫到: | 如我上一篇所說
cin會要求輸入
之所以停在第一行
就是在等你輸入
那個1536就是作者隨便打的輸入
你要打1234、5678都行
建議你可以換一本台灣人寫的書來學習
由你的問題可看出你對英文不太熟
所以換一本以中文顯示提示語的參考書應該有助於學習
「Enter the floor area, in square feet, of your home.」的意思就是
「請以平方碼為單位輸入你家佔地面積大小」 |
抱歉,可能問題講的不清楚,
現在已經知道 cin 的用法了,
所以出現DOS畫面時,
一樣是隨便輸入數字,
然後DOS就跳掉了。
後來想了一下要把原本的 getchar(); 改成
system( "pause" ); 才可以,
後來就可以成功了。
另外可以解釋其他程式碼的功能是在做什麼嗎?謝謝
代碼: |
#include<cmath>
double area;
double side;
side = sqrt(area); |
這些程式碼好像都是新的,不太了解是在做什麼的,可以說明一下嗎?謝謝 ^^
電腦遊戲程式製作 在 2008-5-14, AM 7:10 星期三 作了第 1 次修改 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-5-13, AM 7:39 星期二 文章主題: Re: 請幫我看C++程式碼 |
|
|
電腦遊戲程式製作 寫到: | 另外可以解釋其他程式碼的功能是在做什麼嗎?謝謝
代碼: |
#include<cmath>
double area;
double side;
side = sqrt(area); |
這些程式碼好像都是新的,不太了解是在做什麼的,可以說明一下嗎?謝謝 ^^ |
#include就是引用標頭檔
cmath是個c++的標準標頭檔,裡面有些數學相關的函式
之所以叫做「標準」
意思就是不管是哪種c++的編譯器都會有提供這個標頭檔
double是雙精度浮點數型態
雙精度是跟單精度相比的
float就是單精度的
單、雙精度的意義是指拿來儲存的位元大小
你可以使用cout << sizeof( float );來得知float所佔的位元數
同理也可以使用cout << sizeof( double );來得知double所佔的位元數
你會發現double所佔的位元數會是float的兩倍
也因此double能儲存的數字會比float大得多
double area;跟double side;都只是變數宣告敘述而已
至於sqrt就是cmath裡面的一個函式
用途是取開平方根值
因此side會是area的平方根
sqrt == square root的縮寫,也就是平方根的意思
另外我更正一下
我上面說square feet是平方碼是錯的
應該是平方英尺才對
也就是我們常用的「坪」 |
|
回頂端 |
|
|
電腦遊戲程式製作 偶而上來逛逛的過客
註冊時間: 2008-05-08 文章: 10
0.00 果凍幣
|
發表於: 2008-5-13, PM 3:57 星期二 文章主題: Re: 請幫我看C++程式碼 |
|
|
程式碼 測試執行時,出現DOS畫面,
假設輸入數字是 10 然後得到的結果是 3.12668
(當然前後面都還有一些英文的字串)。
電腦遊戲程式製作 在 2008-5-22, PM 4:54 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-5-13, PM 4:19 星期二 文章主題: Re: 請幫我看C++程式碼 |
|
|
電腦遊戲程式製作 寫到: | 程式碼 測試執行時,出現DOS畫面,
假設輸入數字是 10 然後得到的結果是 3.12668
(當然前後面都還有一些英文的字串),
平方根 = ...... ?
算出來的結果是 + - * / 的哪一個,在程式碼中好像並沒有 + - * / 其中一個,
結果是如何出來的。
像carrots就比較清楚了。 |
我想應該是3.16228才對
你應該打錯數字了
3.16228就是10的平方根
而3.16228的平方就是10
換個例子來說
2的平方就是4
3的平方就是9
4的平方就是16
而16的平方根就是4
9的平方根就是3
4的平方根就是2
也就是說
把16丟進sqrt()裡面就會得到回傳的4
double a;
a = sqrt( 16.0 );
那麼現在a裡面存的就是4.0
以後如果有什麼不了解的名詞
在發問前可以先試著到google或奇摩雅虎查詢一下
應該很快就可以找到許多解釋詳細的答案
如果沒有積極查詢資料的精神
很難將程式設計學好的 |
|
回頂端 |
|
|
電腦遊戲程式製作 偶而上來逛逛的過客
註冊時間: 2008-05-08 文章: 10
0.00 果凍幣
|
發表於: 2008-5-14, AM 7:09 星期三 文章主題: Re: 請幫我看C++程式碼 |
|
|
如果是程式碼的問題,應該可以發問吧.........
電腦遊戲程式製作 在 2008-5-22, PM 4:54 星期四 作了第 3 次修改 |
|
回頂端 |
|
|
電腦遊戲程式製作 偶而上來逛逛的過客
註冊時間: 2008-05-08 文章: 10
0.00 果凍幣
|
發表於: 2008-5-16, PM 3:40 星期五 文章主題: Re: 請幫我看C++程式碼 |
|
|
代碼: |
void simon (int n)
void表示simon()沒有回傳值,
請問一下回傳值和沒有回傳值是在做什麼的?
|
|
|
回頂端 |
|
|
babu61509 散播福音的祭司
註冊時間: 2007-08-26 文章: 142
681.01 果凍幣
|
發表於: 2008-5-19, AM 10:04 星期一 文章主題: Re: 請幫我看C++程式碼 |
|
|
有回傳值就是有傳回一個值,沒回傳值就是沒有傳回值 XD (毆
------------------------------------------------------
普通的函式用 void 就可以了,如果是計算用的,就可以用int之類的傳回值方便呼叫(當然也可以用丟位址的...)
還有就是一些可能會發生錯誤的函式,可以用傳回值來看發生什麼錯誤. _________________ 已經畢業了!! |
|
回頂端 |
|
|
|