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