gpt4 book ai didi

c++ - 在 C++ 中使用引用变量的 void 返回类型

转载 作者:行者123 更新时间:2023-11-27 22:29:43 26 4
gpt4 key购买 nike

我已经在这个 C++ 源文件上工作了几个星期,但不明白我哪里出错了..

//This program will ask the user for the measurement of all 3 sides of a triangle
//and first determine if the numbers will equal a triangle, then give the area and
//perimeter of the triangle.

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

void calc(double , double , double ,double &, double &);
void s(double , double , double , double &);

int main()
{
double a;
double b;
double c;
double per;
double sr;
double areat;

cout<<"Enter the three side of your triangle: ";
cin>> a >> b >> c;
per = a+b+c;

if (a > b || a < b || b > c || b < c)
{
cout<< "Sorry, this is not a triangle.\n";
}
else
{
cout<<"For a Triangle with the sides of "<<a<<", "<<b<<",and " <<c <<endl;
cout<< setprecision(3)<<fixed<<showpoint;
cout<<"The Perimeter is "<<per<<endl;
calc(a,b,c,sr,areat);
cout<< "The Area is "<<areat<<endl;
}
system ("pause");
return 0;
}

void s(double a, double b, double c, double &sr)
{
sr = (a+b+c)/2;
}

void calc(double a, double b, double c, double &sr, double &areat)
{
areat = sqrt(sr*(sr-a)*(sr-b)*(sr-c));
}

最佳答案

您没有调用函数 s(),因此变量 sr 没有被初始化。

其他小事:

if (a > b || a < b || b > c || b < c)
cout << "Sorry, this is not a triangle.\n";

这条线将拒绝所有三角形,除非 a == b == c。您是否打算限制为等边三角形?

在函数calc()中,sr不是输出,不需要通过引用传递。

关于c++ - 在 C++ 中使用引用变量的 void 返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4294279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com