我正在编写一个程序,它将显示员工的信息(预定义),即名字、姓氏、年龄、身份证号码、工资总额、税额和输入身份证号码和金额后的净工资工作时间。非常基本,是吗?
我的问题是,在接受工作时间后,我无法让编译器执行正确的计算以提供总工资、税额和净工资。
根据我所看到的问题,这些计算中涉及的主要变量,即 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
的值计算 grossSalary
、taxAmount
和 netSalary
的值>,如前所述,它是未定义的和垃圾,然后将一个新值分配给 totalWorkHours
,这不会影响已经执行的计算。
关于c++ - 如何使用用户输入的变量来定义另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35216103/