C++ 代码中的错误,如';变量';未在此范围中声明

C++ 代码中的错误,如';变量';未在此范围中声明,c++,C++,我需要帮助,我正试图制作一个程序,通过引入一些变量来计算某个人的净工资,在这个例子中,我刚刚制作了速度常数 这些变量是:玛丽姓名、工作时数(35)、小时工资率(10.50)、总工资(367.50)、税收(20%=73.50)、PRSI(2.5%=9.19)和工会会费(3.50) 这些都是经过计算得出的净工资 我认为这很容易,但我不明白哪里出了问题,我的代码是: #include <iostream> #include <string> using namespace st

我需要帮助,我正试图制作一个程序,通过引入一些变量来计算某个人的净工资,在这个例子中,我刚刚制作了速度常数

这些变量是:玛丽姓名、工作时数(35)、小时工资率(10.50)、总工资(367.50)、税收(20%=73.50)、PRSI(2.5%=9.19)和工会会费(3.50)

这些都是经过计算得出的净工资

我认为这很容易,但我不明白哪里出了问题,我的代码是:

#include <iostream>
#include <string>
using namespace std;

double net_pay (double hours, double gpay, double hrate, double dues,double tax, double taxr,double prsir,double prsi);

int main()
{

    string name;
    const double hrate = 10.50;
    const double taxr = .2;
    const double prsir = .025;
    const double dues = 3.50;
    const int hours = 35;
    cout << "enter name";
    cin >> name;

    net_pay ( hours,  gpay,  hrate, dues, taxr, tax, prsi, prsir);
    cout << name;
    cout << net_pay;


return 0;
}

double net_pay (double hours, double gpay, double hrate , double dues , double taxr, double tax , double prsi , double prsir) {

    gpay = hours * hrate;
    tax = gpay * taxr;
    prsi = prsir * gpay;
    return net_pay = gpay - (tax+prsi+dues);

}

//taxr = taxrate....prsir = prsirate....gpay = grosspay
#包括
#包括
使用名称空间std;
双倍净工资(双倍工时、双倍gpay、双倍hrate、双倍会费、双倍税收、双倍税收、双倍prsir、双倍prsi);
int main()
{
字符串名;
常数双hrate=10.50;
const-double-taxr=.2;
常数双prsir=.025;
常数双倍费用=3.50;
常数整小时=35;
姓名;
净工资(小时、gpay、hrate、应付款、税收、税收、prsi、prsir);

cout返回变量net\u pay是函数的名称。只需执行以下操作:

double net_pay (double hours, double gpay, double hrate , double dues , double taxr, double tax , double prsi , double prsir) {

    gpay = hours * hrate;
    tax = gpay * taxr;
    prsi = prsir * gpay;
    return gpay - (tax+prsi+dues);

}
在你的主要文件中没有声明:

int main()
{

string name;
const double hrate = 10.50;
const double taxr = .2;
const double prsir = .025;
const double dues = 3.50;
const int hours = 35;
cout << "enter name";
cin >> name;

double n_pay_var = net_pay ( hours,  gpay,  hrate, dues, taxr, tax, prsi, prsir);
cout << name;
cout << net_pay_var;


return 0;
}

返回变量net_pay是函数的名称。只需执行以下操作:

double net_pay (double hours, double gpay, double hrate , double dues , double taxr, double tax , double prsi , double prsir) {

    gpay = hours * hrate;
    tax = gpay * taxr;
    prsi = prsir * gpay;
    return gpay - (tax+prsi+dues);

}
在你的主要文件中没有声明:

int main()
{

string name;
const double hrate = 10.50;
const double taxr = .2;
const double prsir = .025;
const double dues = 3.50;
const int hours = 35;
cout << "enter name";
cin >> name;

double n_pay_var = net_pay ( hours,  gpay,  hrate, dues, taxr, tax, prsi, prsir);
cout << name;
cout << net_pay_var;


return 0;
}

您正在使用未定义的参数调用函数:

net_pay ( hours,  gpay,  hrate, dues, taxr, tax, prsi, prsir); // No no!
                  ^^^^                      ^^^  ^^^^
未在main中定义这些。请在调用
net\u pay
之前尝试定义
gpay
tax
prsi

返回值时,不需要将其设置为该函数:

return net_pay = gpay - (tax+prsi+dues);  // No no!
       ^^^^^^^^^
只是

此外,将净薪酬的结果存储在变量中:

double r = net_pay(hours,  gpay,  hrate, dues, taxr, tax, prsi, prsir);

cout << name;
cout << r;
cout << endl;
double r=净工资(小时数、gpay、hrate、会费、税费、prsi、prsir);

cout您正在使用未定义的参数调用函数:

net_pay ( hours,  gpay,  hrate, dues, taxr, tax, prsi, prsir); // No no!
                  ^^^^                      ^^^  ^^^^
未在main中定义这些。请在调用
net\u pay
之前尝试定义
gpay
tax
prsi

返回值时,不需要将其设置为该函数:

return net_pay = gpay - (tax+prsi+dues);  // No no!
       ^^^^^^^^^
只是

此外,将净薪酬的结果存储在变量中:

double r = net_pay(hours,  gpay,  hrate, dues, taxr, tax, prsi, prsir);

cout << name;
cout << r;
cout << endl;
double r=净工资(小时数、gpay、hrate、会费、税费、prsi、prsir);

我认为这句话是错误发生的原因

return net_pay = gpay - (tax+prsi+dues);
net_pay是一个方法名,而不是一个变量,因此请像下面那样更改它:

return gpay - (tax+prsi+dues);

我认为这种说法是错误发生的

return net_pay = gpay - (tax+prsi+dues);
net_pay是一个方法名,而不是一个变量,因此请像下面那样更改它:

return gpay - (tax+prsi+dues);

你需要正确地调试你的!它说的是哪个变量没有声明?它说的是gpay、prsi和tax没有在这个范围内声明你需要正确地调试你的!它说的是哪个变量没有声明?它说的是gpay、prsi和tax没有在这个范围内声明工作感谢,但我还有一个问题程序工作,但它没有返回烧掉任何东西…它在运行,什么也不会来out@johnsmith:我回答了。(更新)谢谢,但我还有一个问题程序在运行,但没有返回任何东西…正在运行,什么也没有出现out@johnsmith:我回答了。(更新)这是感谢uts运行,但我有另一个问题…当我运行它时,什么都没有发生:/你怎么知道什么都没有发生?尝试在net\u pay方法中设置断点。这是感谢uts运行,但我有另一个问题…当我运行它时,什么都没有发生:/你怎么知道什么都没有发生?尝试在net\u pay方法中设置断点。是的,这就是我所做的d错了,所以它可以工作,但现在当我运行它的时候,这种情况发生了(我改变了它,所以它输出了我从每个值得到的值)我得到了总工资的值(gpay)对于1.5389e-313和prsi,我得到了1.79539e-313,这使我在控制台中的净工资打印值为1。你应该会发现你的错误。这是我的错误,所以它工作正常,但现在当我运行它时,发生了这种情况(我更改了它,以便它输出我得到的每个值)我得到了总工资值(gpay)对于1.5389e-313和prsi,我得到了1.79539e-313,这使我在控制台中的净打印值为1。您应该找到您的错误