小白提问,求助

现在小白 2018-05-04 12:59:18
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

double fun(double,double);
double fun1(double,double);

int main()
{
cout<<"输入一个整数身高"<<endl;
double Cm,In,Ft;
cin>>Cm;
fun(In,Cm);
fun1(Ft,Cm);
cout<<setiosflags(ios::fixed)<<setprecision(10)<<In<<" "<<Ft<<endl;
return 0;
}

double fun(double In,double Cm)
{
In=Cm/2.54;
return In;
}

double fun1(double Ft,double Cm)
{
Ft=Cm/30.48;
return Ft;
}


为什么输出的值是0.0000000000
...全文
746 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Imlym 2018-05-05
  • 打赏
  • 举报
回复
In = fun(In,Cm); Ft = fun1(Ft,Cm);
qq_40162781 2018-05-04
  • 打赏
  • 举报
回复
你没把返回值赋给变量
evilDog_xjtu 2018-05-04
  • 打赏
  • 举报
回复
如果想要改变函数参数的值,则需要将参数改为指针访问或者引用;在子函数中使用该参数时,是对原始参数的复制,所以在子函数中改变该参数的值,并不能改变原始参数的值。
zhouqunhai 2018-05-04
  • 打赏
  • 举报
回复
返回值好像没赋值
棉猴 2018-05-04
  • 打赏
  • 举报
回复
《C++Primer第5版中文版》P187
“每次调用函数时,都会重新创建它们的形参,并用传入的实参对形参进行初始化”
对于
double fun(double In,double Cm)

double fun1(double Ft, double Cm)

这两个函数的参数都是值传递,也就是说,fun()和fun1()中的形参In和Ft与实参
	double Cm, In =0.0, Ft = 0.0;
fun(In, Cm);
fun1(Ft, Cm);

In和Ft是不同的值,所以在fun()和fun1()中改变形参In和Ft,实际上对实参In和Ft没有影响,这两个值仍然是0.0
P189
通过使用引用形参,允许函数改变一个或多个实参的值。
正如3楼所说,可以将fun()和fun1()中的形参改为引用形参,即
double fun(double& In,double Cm)

double fun1(double &Ft, double Cm)

此时,fun()和fun1()中的形参In和Ft与实参In和Ft是同一个变量,在函数中修改了形参In和Ft,实际上就修改了实参In和Ft。

请参考《C++的引用与重载函数》https://blog.csdn.net/hou09tian/article/details/77425358
希望能够帮到你
白色一大坨 2018-05-04
  • 打赏
  • 举报
回复
用引用:

double fun(double &In, double Cm)
{
	In = Cm / 2.54;
	return In;
}

double fun1(double &Ft, double Cm)
{
	Ft = Cm / 30.48;
	return Ft;
}

int main()
{
	cout << "输入一个整数身高" << endl;
	double Cm = 0, In = 0, Ft = 0;
	cin >> Cm;
	fun(In, Cm);
	fun1(Ft, Cm);
	cout << setiosflags(ios::fixed) << setprecision(10) << In << " " << Ft << endl;
	return 0;
}

# VeighNa - By Traders, For Traders. VeighNa是一套基于Python的开源量化交易系统开发框架,在开源社区持续不断的贡献下一步步成长为多功能量化交易平台,自发布以来已经积累了众多来自金融机构或相关领域的用户,包括私募基金、证券公司、期货公司等。 :rocket: :rocket: :rocket: **面向专业交易员的【VeighNa Elite量化终端】已经正式发布,针对专业交易员群体在海量策略并发、智能移仓换月、算法拆单执行、多账户交易支持等方面的需求提供了完善支持。了解更详细的信息请扫描下方二维码关注后,点击菜单栏的【社区交流 -> Elite会员服务】即可**:

在使用VeighNa进行二次开发(策略、模块等)的过程中有任何疑问,请查看[**VeighNa项目文档**](https://www.vnpy.com/docs/cn/index.html),如果无法解决请前往[**官方社区论坛**](https://www.vnpy.com/forum/)的【提问求助】板块寻求帮助,也欢迎在【经验分享】板块分享你的使用心得! 针对VeighNa的金融机构用户,创建了一个专门的【VeighNa机构用户群】(QQ群号:676499931),主要分享机构应用方面相关的问题,如:银行间市场接入、资管O32系统、分布式部署等内容。请注意本群只对金融机构用户开放,加群时请注明:姓名-机构-部门。 ## 功能特点 1. 多功能量化交易平台(trader),整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的API,用于快速构建交易员所需的量化交易应用。 2. 覆盖国内外所拥有的下述交易品种的交易接口(gateway): -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

65,207

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧