c++ - 针对作业问题修复此 C++ void 函数中的错误的建议
问题描述
我是一名大学生,正在寻求帮助,以找出我在课堂上编写的这段代码中的混乱部分。我相信这段代码中有一个错误,CodeBlocks 很挑剔。
#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;
}
}
解决方案
您func2()
按值接受参数;你对这些参数所做的任何事情在该函数之外都是不可见的(当它返回时)。你应该通过引用。
void func2(int& num1, int& num2, double& num3)
推荐阅读
- python - impl.NotFoundError:发现 2 个根错误
- laravel - 如何在 laravel 中将数据库结果导出为 excel 文件?
- python - 使用python的selenium包,为什么Chromedriver在点击标签时开始显示视频而不是下载?
- javascript - pdf打印javascript时增加了额外的填充
- json - 如何使用多个数组制作 JSON 文件
- axios - 访问 $axios 实例表单 TS 类模块
- java - 线程“主”org.springframework.beans.factory.BeanDefinitionStoreException 中的异常:IOException java.io.FileNotFoundException:bean.xml
- python - How to drop all rows except specific one in pandas?
- javascript - 盖茨比图像背景使用 v3 盖茨比图像
- javascript - https post请求中的clientRequest和response对象有什么区别?