C++ 关于修复此C+中错误的建议+;一个家庭作业问题的void函数

C++ 关于修复此C+中错误的建议+;一个家庭作业问题的void函数,c++,debugging,C++,Debugging,我是一名大学生,正在寻找帮助,以找出我为课堂编写的这段代码中的混乱部分。我相信这段代码中有一个错误,代码块对此很挑剔 #include <iostream> #include <cmath> #include <iomanip> using namespace std; void func1(); void func2(); int main() { int num1, num2; double num3; int choice;

我是一名大学生,正在寻找帮助,以找出我为课堂编写的这段代码中的混乱部分。我相信这段代码中有一个错误,代码块对此很挑剔

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
void func1();
void func2();
int main()
{
    int num1, num2;
    double num3;
    int choice;
    cout << fixed << showpoint << setprecision(2);
    do
    {
        func1();
        cin >> choice;
        cout << endl;
        if (choice == 1)
        {
           func2(num1, num2, num3);
           cout << num1 << ", " << num2 << ", " << num3 << endl;
        }
    }
    while (choice != 99);
    return 0;
 }
void func1()
{
    cout << "To run the program, enter 1." << endl;
    cout << "To exit the program, enter 99." << endl;
    cout << "Enter 1 or 99: ";
}
void func2(int num1, int num2, double num3)
{

    cout << "input 2 bumners a and b";
    cin >> num1;
    cin >> num2;

    if (num1 >= num2){
      num3 = pow(num1, num2);
    }
    else if (num1 < num2){
      num3 = pow(num2, num1);
    }
    else if (num1 != 0 && num2 == 0){
      num3 = sqrt(abs(num1));
    }
    else if (num2 != 0 && num1 == 0){
      num3 = sqrt(abs(num2));
    }
    else if (num1 == 0 && num2 == 0){
      num3 = 0;
    }
}
#包括
#包括
#包括
使用名称空间std;
void func1();
void func2();
int main()
{
int num1,num2;
双num3;
智力选择;

cout这段代码不太难调试。我刚刚尝试编译它,有人告诉我第6行存在错误。下面是您必须执行的操作:

在第6行声明
void func2()
时,请确保输入了正确的参数。它应该有以下参数:
(int num1,int num2,double num3)

声明函数和定义函数时,参数必须相同,否则定义的函数永远不会声明。

您的
func2()
按值接受参数;您对这些参数所做的任何操作在该函数外部(返回时)都不可见。您应该通过引用传递

void func2(int& num1, int& num2, double& num3)

你是要求帮助识别问题,还是实际使用调试器?我需要帮助识别问题,我需要帮助解决问题。那么问题出在哪里?为什么你认为你的代码不起作用?请你的问题包括这些信息。明白了,我的哥们:)我运行了你的代码,唯一的错误是你有dif
func2()
的不同标题。若要解决此问题,请确保在声明
void func2()
的代码顶部包含正确的参数。谢谢!你真的帮助了我的分数!我也要感谢你。