嗨,我刚开始学习c ++.我试图找出如何根据另一个变量进行变量更改.它显示了一个奇怪的答案当我尝试它从它得到它的idk.无论如何我只是把我的代码放在这里,希望有人理解我在做什么.
#include <iostream>
long int mult (float hours,float payrate,float tax,float overtimerate,float overtimehours,float overtimeday,float insurance);
int main()
{
float insurance;
float hours;
float payrate;
float tax;
float overtimerate;
float overtimehours;
float overtimeday;
insurance=.81;
overtimehours=0;
overtimerate=1.5;
tax=4.93372123545367;
std::cout<<"Paycheck calculator\n";
std::cout<<"Enter your hours\n";
std::cin>>hours;
std::cin.ignore();
std::cout<<"Did you work over 8 hours in a day?\n If so enter how much? If none enter 0\n";
std::cin>>overtimeday;
if (hours>80)
{
overtimehours=((hours - 80)+overtimeday);
}
std::cout<<overtimehours+overtimeday<<"\n";
std::cout<<"Enter your pay rate\n";
std::cin>>payrate;
std::cin.ignore();
std::cout<<"Your paycheck should be approximately: "<<((overtimeday+overtimehours)*(overtimerate*payrate
))+(((hours-overtimehours)*payrate)-((((hours-(overtimeday+overtimehours))*payrate)/tax)
-insurance))<<"\n";
}
Run Code Online (Sandbox Code Playgroud)
在表达式中:
x=(t*w)+((hours-t)*rate);
您正在使用t,即使t从未设置过.
t此时将不确定,并且可能具有任何值.
同样的事情hours和rate.
你的编译器应该给你关于未初始化变量的警告.
编辑更多地查看您的代码,似乎您正在尝试为小时,费率和t建立"规则",然后填写值,期望这些"规则"将被保留.
C++ 不能像这样工作.它是一种顺序语言,意味着每个指令都会被执行一次,因为它是从上到下读取的.
您需要将程序流程更改为:
您似乎颠倒了步骤1和2,尝试在收集变量之前设置计算.