大家好!
我的教授还希望我使用下面代码中包含的枚举,我甚至不知道从哪里开始。
任何帮助都会很棒。
#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;
}
您编写了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