gpt4 book ai didi

c++ - 为什么这个 TAD 返回 0.0000 而不是相关函数的结果?

转载 作者:行者123 更新时间:2023-11-28 02:36:53 25 4
gpt4 key购买 nike

为了通过考试,我编写了这个小程序。它涉及一种称为 C++ 的语言中的抽象类型数据,这是 C++ 的有限版本。它在我的大学中使用是为了提供一种有助于学习和纠正的小型语言,没有 C++ 那样多的可能性。

#include <stdio.h>


//Definimos una estructura, casi una clase, que contiene lo siguiente
typedef struct Calculadora
{
//procesos
float Sumar(float a, float b);
float Restar(float a, float b);

//variables

private:

float a;
float b;
float resultado;

};
// Fin de declaración de la estructura
// Declaración de los tipos de datos de la estructura

float Calculadora::Sumar(float a, float b) // Así declaramos las funciones de una estructura
{

resultado = a + b;
return (resultado);
}

float Calculadora::Restar(float a, float b) // Así declaramos las funciones de una estructura
{

resultado = a - b;
return (resultado);
}

// FIN DE LA DECLARACION DE TIPOS DE DATOS Y FUNCIONES DE LA ESTRUCTURA



int main()
{
float resultado,a,b;

printf("Introduce aquí los valores de la primera variable");
scanf("%f",&a);
printf("Introduce aquí los valores de la segunda variable");
scanf("%f",&b);

Calculadora cal;
cal.Sumar(a,b);

printf("El resultado es %f", resultado);
}

但是,结果总是 0.00000 这不是程序的目标。知道这段代码可能有什么问题吗?

最佳答案

您正在打印出在函数 main() 中未初始化的局部变量 resultado

您可能想要做的是使用成员函数打印出 Calculadora 中的成员变量

cal.Sumar(a,b); 的结果将被丢弃,在这种情况下,如果要存储结果,则必须将结果分配给主函数中的局部变量。

关于c++ - 为什么这个 TAD 返回 0.0000 而不是相关函数的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27140833/

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