作者hankhank5345 (MPower)
看板C_and_CPP
標題[問題] C++ 問題
時間Fri Feb 27 01:29:05 2009
請各位高手幫我看一下為什麼跑不出來!!!謝
Write a function with the following prototype:
bool compute(int one, int two, int & sum, int & product, double & quotient);
sum will be one + two, product will be one * two, and
quotient will be one/two provided that two is not 0.
If the quotient can be computed,( i.e. two is not 0 ) return true.
If the quotient cannot be computed ( i.e. two has a value of 0 ), return false.
Write a driver program to test both cases.
#include <iostream>
using namespace std;
bool compute(int one, int two, int& sum, int& product, double& quotient);
int main()
{
int a,b,c,d,e;
cout << "please enter two number: ";
cin >> a >> b;
compute(a,b,c,d,e);
cout << "Results: "
<< c << ' '
<< d << ' '
<< e << endl;
return 0;
}
bool compute(int one, int two, int& sum, int& product, double& quotient)
{
sum = one + two;
product = one * two;
quotient = one/two;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 71.199.79.106
1F:推 legendmtg:compute的return value 02/27 01:50
2F:→ hankhank5345:什麼意思不太懂~~謝謝 02/27 01:53
3F:推 hylkevin:要檢查two不是0來決定回傳值啊 你沒return 02/27 02:13
4F:推 VictorTom:本來小弟也以為是compute沒return所以根本build不過. 02/27 09:56
5F:→ VictorTom:拿DevCpp build了一遍, 才發現是compute最後一個參數有 02/27 09:56
6F:→ VictorTom:問題; main裡最後一個參數傳了一個int進去, compute函數 02/27 09:57
7F:→ VictorTom:卻要收一個double參考, compute是這邊沒有過. 02/27 09:57
8F:→ VictorTom:pass by value時可能有隱式轉型所以這樣傳沒什麼問題.y 02/27 09:58
9F:→ VictorTom:pass by ref的時候這樣隱式轉型(應該變暫存const吧)不 02/27 09:58
10F:→ VictorTom:會過. 02/27 09:58
11F:→ VictorTom:最後, "不會過", 是跑出來結果錯, 還是compile不會過. 02/27 09:59
12F:→ VictorTom:建議寫清楚點, 有時候build error看一下就知道錯在哪了. 02/27 09:59
13F:推 VictorTom:修正一下, "不會過" -> "跑不出來". 02/27 10:02
14F:→ hankhank5345:謝謝~已經可以跑了,謝謝指導 02/27 11:29
15F:推 hylkevin:C++98應該有規定除了main以外的function有return value 02/27 16:15
16F:→ hylkevin:都必須return 02/27 16:16
17F:推 VictorTom:果然還是reutrn, 把程式寫完整才對....Orz 02/27 17:14