0
#include <iostream>
#include <iomanip>
using namespace std;

int calculate ()
{
double a;
double b;
a =(3.0);
b =(5.0);
cout << "  " << fixed << setprecision (1) << a << "\n" << endl;
cout << "* " << fixed << setprecision (1) << b << "\n" << endl;
cout << "------" << endl;
cout << fixed << setprecision (2) << a*b << "\n" << endl;
system("PAUSE");

return 0;
}
int calculate(int a, int b, int c)
{
double a;
double b;
double c;
a =(7.1);
b =(8.3);
c =(2.2);
cout << "  " << fixed << setprecision (1) << a << "\n" << endl;
cout << "* " << fixed << setprecision (1) << b << "\n" << endl;
cout << "- " << fixed << setprecision (1) << c << "\n" << endl;
cout << "------" << endl;
cout << fixed << setprecision (2) << (a*b)-c << "\n" << endl;
system("PAUSE");

return 0;
}

質問: doubles--->ints を変更する必要があるのはなぜですか? 目立って間違っていることはありますか?

出力は次のとおりです: 1>------ Build started: Project: HW1-2, Configuration: Debug Win32 ------ 1> HW1-2.cpp 1>c:\users\asus\desktop\ hw1-2\hw1-2\hw1-2.cpp(21): エラー C2082: 仮パラメーター 'a' 1>c:\users\asus\desktop\hw1-2\hw1-2\hw1-2 の再定義。 cpp(22): エラー C2082: 仮パラメータ 'b' の再定義 1>c:\users\asus\desktop\hw1-2\hw1-2\hw1-2.cpp(23): エラー C2082: 仮パラメータの再定義'c' 1>c:\users\asus\desktop\hw1-2\hw1-2\hw1-2.cpp(24): 警告 C4244: '=': 'double' から 'int' への変換、損失の可能性of data 1>c:\users\asus\desktop\hw1-2\hw1-2\hw1-2.cpp(25): 警告 C4244: '=': 'double' から 'int' への変換、失われる可能性がありますデータ 1>c:\users\asus\desktop\hw1-2\hw1-2\hw1-2.cpp(26): 警告 C4244: '=' :'double' から 'int' への変換、データ損失の可能性 ========== ビルド: 0 成功、1 失敗、0 最新、0 スキップ ========= =

4

5 に答える 5

2

という名前の 2 つの関数がありmain()ます。何を達成しようとしているのかはわかりませんが、関数には名前空間内で一意の名前が必要です。

関数には好きな名前を付けることができます。main()ただし、これはプログラムのエントリ ポイントであり、プログラムの実行時に呼び出されるものです。main()別の関数がある場合、それを実行したい場合は、内部から自分で呼び出す必要があります。

int foo(int c)
{
    return c + 2;
}

int main()
{
    int a = 1;
    int b = foo(a);
    return b;
}
于 2012-09-18T05:00:06.587 に答える
0
于 2012-09-18T05:07:53.103 に答える
0

あなたの問題は、この行にある可能性が最も高いです:

(a*b)c

ここで何を達成しようとしていますか? コンパイラは、セミコロンが欠落していると文句を言うはずです。有効な c++ ではありません。(a*b)と の間に別のオペランド (+、-、​​ など) を指定する必要があります。c

于 2012-09-18T05:02:01.183 に答える
0

(a*b)c<-- エラー

乗算したい場合は、そうする必要があります(a*b)*c

編集 -(a*b) - c同様に書くことができるこれをやりたいようですa*b - c

于 2012-09-18T05:02:18.110 に答える
0

Caleb が言ったように、2 つのmain()宣言があります。2 番目の main 関数のないコードは問題なくコンパイルされます。

#include <iostream>
#include <iomanip>

int main()
{
    double a;
    double b;
    double c;
    a = (7.1);
    b = (8.3);
    c = (2.2);
    std::cout << std::fixed << std::setprecision(1) << std::endl;
    std::cout << "  " << a << "\n" << std::endl;
    std::cout << "* " << b << "\n" << std::endl;
    std::cout << "- " << c << "\n" << std::endl;
    std::cout << "------" << std::endl;
    std::cout << std::setprecision(2) << (a * b) - c << "\n" << std::endl;

    return 0;
}

これを別の関数にしたい場合は、 などの別の名前に変更できますint calculator()

于 2012-09-18T05:13:19.943 に答える