c++ - 如何使用用户输入的变量来定义另一个变量

标签 c++ variables input cin

我正在编写一个程序,它将显示员工的信息(预定义),即名字、姓氏、年龄、身份证号码、工资总额、税额和输入身份证号码和金额后的净工资工作时间。非常基本,是吗?

我的问题是,在接受工作时间后,我无法让编译器执行正确的计算以提供总工资、税额和净工资。

根据我所看到的问题,这些计算中涉及的主要变量,即 totalHoursWorked 是基于用户输入的。

如果我声明同一个变量并为其分配一个数量,那么计算会顺利运行并输出正确的值,但这是一个问题,因为用户需要能够从 .1 输入任何值> 到 40(表示最多 40 个工作小时)。

但是,当我删除分配的值并要求用户输入时,一切都出错了。

下面我写了我遇到问题的部分代码。这只是一个粗略的草稿,可以帮助我想象问题出在哪里并专注于调整它:

#include <iostream>
using namespace std;

int main()
{

    double hourlyRate=7.5;
    double taxPercentage=0.16;
    double totalWorkHours;
    double grossSalary=hourlyRate*totalWorkHours;
    double taxAmount=grossSalary*taxPercentage;
    double netSalary=grossSalary-taxAmount;

    cout<<"Please enter total work hours"<<endl;

    cin>>totalWorkHours;

    cout<<grossSalary  <<endl;

    cout<<taxAmount  <<endl;

    cout<<netSalary  <<endl;

    system ("pause");
    return 0;

}

这是我得到的输出:

Please enter total work hours

40                  <----i input 40 here

3.95253e-323 <--- These are the results of the calculations

4.94066e-324

3.45846e-323

Press any key to continue..._

最佳答案

我认为 OP 思想中的实际问题是他们将 C++ 视为一种符号数学符号。即,定义与前三个公式的关系,然后根据公式传递一个具体值来更新结果。然而,这不是真的。发布的代码的作用是根据 totalWorkHours 的值计算 grossSalarytaxAmountnetSalary 的值>,如前所述,它是未定义的和垃圾,然后将一个新值分配给 totalWorkHours,这不会影响已经执行的计算。

关于c++ - 如何使用用户输入的变量来定义另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35216103/

相关文章:

c++ - 覆盖限定的虚拟方法

android - 全局变量安全隐患

java - 将 setFill 与变量一起使用?

c++ - 指针变量在数组内使用float计算平均值C++

javascript - 如何禁用输入但不让文本变成灰色?

c++ - 实现 Resize 函数的哈希表

c++ - 使用流模板以避免复制代码会产生 "error C4430: missing type specifier - int assumed"

c++ - 为什么调用 dtor(使用 annoymous/lambda func)

html - 如何在 HTML5 的数字输入中显示占位符的文本

c - C 中的字符串验证 : Trying to ask for a new string when the old one has an invalid character