如何将局部变量初始化为未知值C ++

时间:2018-06-08 02:22:22

标签: c++

试图让我的第一篇文章正确,所以这里就是。

我遇到了这个问题并且无法解决这个问题。我一直收到错误:

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

2 个答案:

答案 0 :(得分:0)

您应该完全取出该行,并将后一行更改为double miles = capacity_Gallons * miles_Gallon;

最好不要使用手工制作的舍入代码,而是在显示语句中使用标准舍入函数,... << std::lround(miles) << ...虽然你的作业规定说你应该向下舍入,而不是舍入到最近的你现在在做什么。 (所以你可以在那里施放int

答案 1 :(得分:0)

您不需要在那里声明miles,您可以在它有值时声明它。

#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");
}

另外,using namespace stda bad habit