C 程序 - 将开关与 Void 功能相结合



我正在尝试将切换到空函数以将摄氏度转换为华氏度,反之亦然。我不确定将开关和无效功能组合在一起的正确方法是什么。我的代码在下面。任何建议对我来说都是有价值的。谢谢。

#include<stdio.h>
void fahtocel(void);
void celtofah(void);
int main(void)
 {
    int tem;
    printf("Please select your choicen");
    printf("Enter 1 if you need to convert Fahrenheit to Celsiusn");
    printf("Enter 2 if you need to convert Celsius to Fahrenheitn");
    scanf("%d", &tem);
    switch(tem) {
case 1:
    fahtocel();
    break;
case 2:
    celtofah();
    break;
}
return 0;
}
void fahtocel()
{
 float fahr;
   printf("Please input Fahrenheit: ");
   scanf("%2.f", &fahr);
   printf("%3f Fahrenheit is equal %3.0f Celsius n",fahr,(5.0/9.0)*(fahr - 32)*5/9;
} 
void celtofah()
{
 float celsius;
 printf("Please input celsius: ");
 scanf("%2.f", &celsius);
 printf("%2.f Celsius is equal %2.f Fahrenheitn",celsius, (9*celsius/5)+32);
 }

你一定遇到了编译器问题。在 printf 的末尾加上括号,并将扫描件中的%2.f更改为 %f。

此代码有效...

#include<stdio.h>
void fahtocel(void);
void celtofah(void);
int main(void)
{
    int tem;
    printf("Please select your choicen");
    printf("Enter 1 if you need to convert Fahrenheit to Celsiusn");
    printf("Enter 2 if you need to convert Celsius to Fahrenheitn");
    scanf("%d", &tem);
    switch (tem) {
    case 1:
        fahtocel();
        break;
    case 2:
        celtofah();
        break;
    }
    return 0;
}
void fahtocel()
{
    float fahr;
    printf("Please input Fahrenheit: ");
    scanf("%f", &fahr);
    printf("%3f Fahrenheit is equal %3.0f Celsius n", fahr, (5.0 / 9.0) * (fahr - 32) * 5 / 9);
}
void celtofah()
{
    float celsius;
    printf("Please input celsius: ");
    scanf("%f", &celsius);
    printf("%2.f Celsius is equal %2.f Fahrenheitn", celsius, (9 * celsius / 5) + 32);
}

最新更新