发布时间:2019-07-29 18:47:00
#include <stdio.h>
#include <stdlib.h>
#define Pi 3.1415927
int main()
{
double Input,ra;
printf("Please input your number to calcution what you want\n\n1.Ball's Volume\n2.Surface Area of The Ball\n\n");
scanf("%lf", &Input);
if (Input == 1)
{
printf(" \n\n\nV=(4/3)πr^3\nPlease input 'r'\n");
scanf("%lf",&ra);
int f = (4 * Pi * ra * ra * ra / 3);
printf(f);这步显示f出错,int类型实参与const char*类型实参不兼容
getchar();
return 0;
}
按你的程序作了必要的几处修改:#include <stdio.h>#include <stdlib.h>#define Pi 3.1415927int main(){ double Input,ra,f; printf("Please input your number to calcution what you want\n\n1.Ball's Volume\n2.Surface Area of The Ball\n\n"); scanf("%lf", &Input); if (Input == 1) { printf(" \n\n\nV=(4/3)Pi*r^3\nPlease input 'r'\n"); scanf("%lf",&ra); f = (4 * Pi * ra * ra * ra / 3); printf("%lf",f); getch(); } return 0;}程序能够运行了:
但是你的 2.Surface Area of The Ball 程序还未加入。
chartowchar不是库函数 , 是你自己定义的函数,定义的时候原型应该是:wchar_t chartowchar( char* );string::data( )返回的是const char* 从const char*到char*时不能直接转换的,解决方式:chartowchar( const_cast<char*>( data.data( ) );但最好不要这样使用,建议将chartowchar的参数定义为const char*.
你程序有多个问题(你的C/C++还没有入门)
关键的是
printf(f);
C/C++的printf第一参数必须是字串,它不能直接输出非字串变量的,正确的
printf(“%f\n",f);
注意,前提是
int f = (4 * Pi * ra * ra * ra / 3);
要改为
double f = (4 * Pi * ra * ra * ra / 3);
另外,你的Input最好是int的,因为理论上,浮点不能直接用==判断的
最后,程序不完整(最后面至少少了})