如何在函数中返回结构? C ++

我在这里有问题,请您帮我一下。程序运行正常,直到创建了三角形。变量的值没有传递给函数,因此在输出中我只能看到零。如何修复?

这是我的任务:

  

嵌套结构

     

创建一个包含三个结构的程序,以描述3维空间中的点,线和三角形。使第一个类型为“点”的结构保留空间中任何点的x,y和z坐标。然后制作另一个“线”类型的结构,其中包含两个描述线的起点和终点的点结构。最后,创建一个包含三个点结构的“三角形”结构,这些点结构可容纳三角形的顶点。

     

您将需要创建三个函数来接收这些结构。的   第一个功能将从2个点中创建一条直线。第二个函数从3个点中创建一个三角形,第三个函数从一条线和一个点中创建一个三角形。通过引用将线和三角形传递给函数,并在main()中打印它们的值。

     

然后在“ 0,0”,“ 1,1,1”和“ -1,-1,-1”处创建三个点。使用这三个点来创建3行:第1行开始于“ 0,0”,结束于“ 1,1”;第2行从“ 1,1”开始,到“ -1,-1,-1”结束;第3行从“ -1,-1,-1”开始,到“ 0,0”结束。然后将相同的三个点传递给该函数以形成一个三角形。最后但并非最不重要的一点是,将第2行和第1点传递到该函数以创建一个三角形。

这是我试图做到的方式:

#include <iostream>
#include <string>
using namespace std;

struct point
{
    int x;
    int y;
    int z;
}a;

struct line
{
    point pl1;
    point pl2;
}line_1;

struct triangle
{
    point pt1;
    point pt2;
    point pt3;
};

struct triangle1
{
    line line1;
    line line2;
    point pt3;
};

void func1(line line_1,point pl1,point pl2)
{
    line_1.pl1;

    line_1.pl2;

    cout << "Line begins at x = " << pl1.x << ",y = " << pl1.y << ",z = " << pl1.z << endl;
    cout << "Line ends at x = " << pl2.x << ",y = " << pl2.y << ",z = " << pl2.z << endl;
}

int func2(triangle triangle_1,point pt1,point pt2,point pt3)
{
    triangle_1.pt1;

    triangle_1.pt2;

    triangle_1.pt3;

    cout << "Triangle has vertices at: " << triangle_1.pt1.x << triangle_1.pt1.y << triangle_1.pt1.z << "," << triangle_1.pt2.x << triangle_1.pt2.y << triangle_1.pt2.z << "  " << triangle_1.pt3.x << triangle_1.pt3.y << triangle_1.pt3.z << endl;

    return 0;
}

int func3(triangle1 triangle,line line1,line line2,point pt3)
{
    triangle.line1;

    triangle.line2;

    triangle.pt3;

    cout << "Triangle has vertices at: " << triangle.line1.pl1.x << triangle.line1.pl1.y << triangle.line1.pl1.z << "  " << triangle.line2.pl1.x << triangle.line2.pl1.y << triangle.line2.pl1.z << "  " << triangle.pt3.x << "," << triangle.line2.pl1.y << "," << triangle.line2.pl1.z << endl;
    return 0;
}

int main()
{
    point a = { 0,0 };

    point b = { 1,1 };

    point c = { -1,-1,-1 };

    line line__1 = { 0,0 },line__2 = { 0,line__3 = { 0,0 };

    func1(line__1,a,b);

    func1(line__2,b,c);

    func1(line__3,c,a);

    triangle triangle__1 = { 0,0 };

    func2(triangle__1,c);

    triangle1 triangle_1 = { 0,0 };

    func3(triangle_1,line__2,line__3,c);


    system("pause>nul");

    return 0;
}
esh2007 回答:如何在函数中返回结构? C ++

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2945766.html

大家都在问