当前位置: 首页 > 知识库问答 >
问题:

被称为对象类型'int'不是函数或函数指针+枚举

隗瑞
2023-03-14

大家好!

我的教授还希望我使用下面代码中包含的枚举,我甚至不知道从哪里开始。

任何帮助都会很棒。

#include <iostream>
using namespace std;

enum ConvType {
    CelToFah, KelToFah, FahToCel, CelToKel, KelToCel, FahToKel, Exit,
};

ConvType menu();
double ctoF(double c);
double ktoF(double k);
double ftoC(double f);
double ctoK(double c);
double ktoC(double k);
double ftoK(double f);

int answer;
double temp;




int main() {
    ConvType menu();

}
return 0;

ConvType menu() {
    
    cout<< "Welcome to the temperature conversion program."<<endl;
    cout<< "Please enter a temperature to convert: "<<endl;
    cin >> temp;
    cout<< "Please choose an option from the menu below: "<<endl;
    cout<< "1. Celsius to Fahrenheit \n2. Kelvin to Fahrenheit \n3. Fahrenheit to Celsius \n4. Celsius to Kelvin \n5. Kelvin to Celsius \n6. Fahrenheit to Kelvin \n7. Exit."<<endl;
    cin >> answer;

    if (answer == 1) {
        double ctoF(double c);
        
    }else if (answer == 2) {
        double ktoF(double k);
    }else if (answer == 3) {
        double ftoC(double f);
    }else if (answer == 4) {
        double ctoK(double c);
    }else if (answer == 5) {
        double ktoC(double k);
    }else if (answer == 6) {
        double ftoK(double f);
    }else {
        break;
    }

}

double ctoF(double c) {
    c = temp;
    double f = 9/5(c) + 32;
    cout<< c << " Celsius converted to Fahrenheit is: "<< f <<endl; 
}

double ktoF(double k) {
    k= temp;
    double f = 9/5(k - 273) + 32;
    cout<< k << " Kelvin converted to Fahrenheit is: "<< f <<endl; 

}

double ftoC(double f) {
    f = temp;
    double c = 5/9 (f - 32);
    cout<< f << " Fahrenheit converted to Celsius is: "<< c <<endl; 

}

double ctoK(double c) {
    c = temp;
    double k = c + 273;
    cout<< c << " Celsius converted to Kelvin is: "<< k <<endl; 

}

double ktoC(double k) {
    k = temp;
    double c = k - 273;
    cout<< k << " Kelvin converted to Celsius is: "<< c <<endl; 

}

double ftoK(double f) {
    f = temp;
    double k = 5/9(f-32) + 273;
    cout<< f << " Fahrenheit converted to Kelin is: "<< k <<endl; 

}

共有1个答案

韦星文
2023-03-14

您编写了9/5(c)例如,您需要编写9/5*c

此外,枚举最有可能用于:

switch(stoi(answer)) {
    case CelToFah : 
    ...
}
 类似资料:
  • 8. 函数类型和函数指针类型 在C语言中,函数也是一种类型,可以定义指向函数的指针。我们知道,指针变量的内存单元存放一个地址值,而函数指针存放的就是函数的入口地址(位于.text段)。下面看一个简单的例子: 例 23.3. 函数指针 #include <stdio.h> void say_hello(const char *str) { printf("Hello %s\n", str); }

  • 一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个 指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。这种指针就是 函数指针。 函数指针的定义形式为: returnType (*pointerName)(param list); returnType

  • 函数指针基础语法 函数指针用于指向一个函数,函数名是函数体的入口地址。函数指针可以实现面向对象编程,可以实现软件分层设计(回调函数)。 #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <string.h> #include <stdio.h> //数组指针 语法 梳理 //定义一个数组类型 //int a[10]

  • 无法理解为什么在尝试实现此角度代码时会出现TypeError。它在类({constructor:function(){}})周围生成错误。不确定原因。谢谢你的帮助

  • 问题内容: 有没有机会从以字符串表示的函数名称中获取指向函数的指针?例如,这需要将某些函数作为参数发送给另一个函数。您知道某种元编程。 问题答案: Go函数是一等值。您无需恢复动态语言中的技巧。 操场 输出: 如果函数的选择取决于某些仅在运行时已知的值,则可以使用映射:

  • 函数指针包含函数在内存中的地址。第4章介绍了数组名实际上是数组中第一个元素的内存地址。同样,函数名实际上是执行函数任务的代码在内存中的开始地址。函数指针可以传人函数、从函数返回、存放在数组中和赋给其他的函数指针。 要演示如何使用函数指针,我们修改图 5.15 的冒泡排序程序,变成图 5.26 的程序。新程序包括 main 和函数 bubble、swap、ascending 和 descending