C编程温度转换

时间:2016-07-04 21:42:40

标签: c

我是初学者,想知道为什么下面的代码不起作用?我的编译器是Apple Xcode。

问题1:'conio.h'文件未找到
问题2:缺少类型说明符,默认为'int' 问题3:函数'getch'的隐式声明在C99中无效

有人会向我解释上述含义是什么吗?我很无能......

以下是我的代码:

#include <stdio.h>
#include <conio.h> //----- ISSUE 1 -----//

main() { //----- ISSUE 2 -----//

  float a, b, centigrade, fahrenheit;
  int x; 

  printf("Press 1:Fahrenheit To Centigrade\nPress 2:Centigrade to  Fahrenheit\n");
  scanf("%d",&x);
  switch(x)
    {
      case 1:
      printf("\nEnter the value of Fahrenheit Temperature:");
      scanf("%f",&a);
      centigrade=5*(a-32)/9;
        printf("Centigrade Temperature:%f\n",centigrade);

          break;

      case 2:
      printf("\nEnter the value of Centigrade Temperature:");
      scanf("%f",&b);
      fahrenheit=((9*b)/5)+32;
        printf("Fahrenheit Temperature:%f\n",fahrenheit);

          break;

      default:
      printf("wrong Input");
      }

getch(); //----- ISSUE 3 -----//

return(0);
}

1 个答案:

答案 0 :(得分:2)

问题1: 您的问题是您正在尝试编译最初为osx上的MS-DOS / Windows终端编写的代码。 conio.h是为MS-DOS提供终端用户界面的标头。

您可以通过将其替换为curses lib

来解决您的问题

问题2: main的签名应为int main(int argc, char** argv)

问题3:可能与问题1相关,conio.h不可用,因此其功能的声明(包括fetch)不可用