2016-02-05 140 views
0

我正在编写一个程序,它将显示员工的信息(预定义),即名,姓,年龄,身份证号码,总工资,税额和输入ID号码后的净工资和工作时间。非常基本的东西?如何使用用户输入的变量来定义另一个变量

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

基于我所看到的问题是这些计算中涉及的主变量,即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..._ 
+0

除非另有说明,否则计算机将自上而下运行您的代码。因此,它会计算所有这些事情(使用垃圾信息),然后*然后*要求总工作小时数,然后*它会显示之前计算的垃圾数。 – immibis

回答

0

我不熟悉C++。我刚开始使用它,但我的课程都是java,所以它已经有一段时间了。任何人,这是我会做的。

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

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

cin>>totalWorkHours; 

grossSalary = hourlyRate*totalWorkHours; 
cout<<grossSalary <<endl; 
taxAmount = grossSalary*taxPercentage; 
cout<<taxAmount <<endl; 
netSalary = grossSalary-taxAmount; 
cout<<netSalary <<endl; 

system ("pause"); 
return 0; 

这就是我的两分钱。

+0

谢谢你们,正如我所说,我是一个完整的新手,所以我感谢你的所有输入。我会输入你的建议,让你们都知道结果。 –

+0

好吧,我绝对看到你们都在说什么。现在很清楚。谢谢!特别是迦勒主教,你真的帮助布鲁! –

0

”已经在totalWorkHours中读过,所以计算基于在该位置存储器中发生的任何随机值。

0

尝试一些简单:

int A = 1; 
int B = A + 1; 

A = 3; 
cout << B << endl; 

结果是2

C++中的语句不像数学中的联立方程,它们是作业,并且它们可以被稍后的作业所黯然失色。声明:

int B = A + 1; 

等同于:

int B; 
B = A + 1; 

你的B值设置为2,任务结束。然后,您可以将A的值设置为任何您喜欢的值,并且对B不会产生任何影响。

0

尝试在用户输入工作时间后进行计算。定义totalWorkHours,然后要求他们输入,然后用他们的计算定义所有其他变量。应该管用!

1

我认为OP的思想中的实际问题是他们将C++看作一种符号数学符号。即,定义与前三个公式的关系,然后传递具体值以根据公式更新结果。但是,这不是真的。什么张贴代码做,是计算grossSalarytaxAmountnetSalary基础上的totalWorkHours值,它前面已经说了是不确定的和垃圾,并然后分配一个新值totalWorkHours,这并不影响已经值进行了计算。

相关问题