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;
}

问题:为什么我必须改变双打--->整数?有什么突出的错误吗?

这里是输出: 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', 可能丢失数据 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

你有两个函数都命名为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

就像迦勒说的,你有两个main()声明。没有第二个 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 回答
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 回答