如何将局部变量初始化为未知值C++
试着把我的第一篇文章写对,就这样吧 我遇到了这个问题,一直没有弄明白。我一直收到错误:如何将局部变量初始化为未知值C++,c++,C++,试着把我的第一篇文章写对,就这样吧 我遇到了这个问题,一直没有弄明白。我一直收到错误: error C4700: uninitialized local variable 'miles' used 我已经清理了所有StackOverflow,并一直运行到相同的答案:我必须初始化我的局部变量,但当我这样做时,我正在创建一个设置值。我希望将局部变量“miles”设置为未知值,因为我希望用户能够在程序运行时设置该值 一切都很顺利,直到我尝试将最终值“英里”转换为截断值 如果我使用了不正确的术语,请纠
error C4700: uninitialized local variable 'miles' used
我已经清理了所有StackOverflow,并一直运行到相同的答案:我必须初始化我的局部变量,但当我这样做时,我正在创建一个设置值。我希望将局部变量“miles”设置为未知值,因为我希望用户能够在程序运行时设置该值
一切都很顺利,直到我尝试将最终值“英里”转换为截断值
如果我使用了不正确的术语,请纠正我。刚出世就开始编程。提前向大家表示感谢
问题:
编写一个程序,提示汽车油箱的容量(加仑)和汽车每加仑可行驶的英里数。程序输出汽车在不加油的情况下可以行驶的英里数。为容量输入的数字必须允许输入整数容量和小数形式的每加仑英里数。里程数必须输出到下一个不带小数的最低整数
#include "stdafx.h"
//include statement
#include<iostream>
//include namespace statement
using namespace std;
//main function
int main()
{
//variable declaration
double capacity_Gallons;
double miles_Gallon;
double miles = static_cast<int>(miles < 0 ? miles - 0.5 : miles + 0.5);
//inputting capacity of automobile
cout << "Enter the capacity of the automobile fuel in gallons: ";
cin >> capacity_Gallons;
cout << endl;
//inputting the miles per Gallons
cout << "Enter the miles per gallons the automobile can be driven: ";
cin >> miles_Gallon;
cout << endl;
//calculating miles
miles = capacity_Gallons * miles_Gallon;
//display output data
cout << "Number of miles driven wihtout refueling: " << miles << endl;
//pause system for some time for user continuation
system("pause");
} //end main
你应该把那条线完全去掉,然后把后面的那条线改成双英里=容量×英里×加仑 最好在display语句中使用标准舍入函数,而不是手工编制的舍入代码 你不需要在那里声明英里数,你可以在它有值的地方声明
#include<iostream>
int main()
{
//inputting capacity of automobile
double capacity_Gallons;
std::cout << "Enter the capacity of the automobile fuel in gallons: ";
std::cin >> capacity_Gallons;
std::cout << endl;
//inputting the miles per Gallons
double miles_Gallon;
std::cout << "Enter the miles per gallons the automobile can be driven: ";
std::cin >> miles_Gallon;
std::cout << endl;
//calculating miles
double miles = capacity_Gallons * miles_Gallon;
//display output data
std::cout << "Number of miles driven wihtout refueling: " << miles << std::endl;
//pause system for some time for user continuation
system("pause");
}
另一方面,使用名称空间std是非常有用的 双倍里程=静态里程<0?英里-0.5:英里+0.5;你认为这是在做什么?双倍里程=静态里程<0?英里-0.5:英里+0.5;在代码中的这一点上,您正试图使用本身初始化变量miles,但它没有初始化。miles的初始值应该是多少?它是由用户输入的吗?不管您将里程初始化为什么,也不管您是否初始化它。第一次使用时,将为其指定一个新值。基本的良好实践仍然是初始化它,0.0是一个非常标准的初始值。。。或者您可以稍后声明,例如,当您实际计算值时,请避免编辑您的问题以包含评论或答案中讨论的解决方案。对于未来的访客来说,这一切都是断章取义的。要回答剩下的问题,请使用将正值或负值向零截断。这将舍入到最接近的整数,而不是向下。@5类似于将原始代码舍入到最接近的整数,我提供了一种更简洁的方法,并指出您的作业要求向下舍入。