Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我需要什么样的参数来传递函数。还有,我如何让它循环用户想要的次数?_C++_Function_Variables_Scope_Declaration - Fatal编程技术网

C++ 我需要什么样的参数来传递函数。还有,我如何让它循环用户想要的次数?

C++ 我需要什么样的参数来传递函数。还有,我如何让它循环用户想要的次数?,c++,function,variables,scope,declaration,C++,Function,Variables,Scope,Declaration,因此,我必须做一个包含以下内容的家庭作业: #include <iostream> #include <iomanip> using namespace std; const int HOUR = 60; int minutes = 0; double intake(payment); void intake() { char income, y('y'), n('n'); cout << "Is the income rate over 25,000

因此,我必须做一个包含以下内容的家庭作业:

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

const int HOUR = 60;
int minutes = 0;
double intake(payment);

void intake()
{
char income, y('y'), n('n');


cout << "Is the income rate over 25,000? Y - Yes | N - No): ";
cin >> income;
switch(income)
{
case 'n':
case 'N':       low_procedure()
    break;
case 'y':
case 'y':       high_procedure()
    break;
default: cout << "Invalid entry. You must indicate low or high income.\n"
  break;
}   

}

int main()
{
intake();

cout<<"You owe: \n";
cout<< payment <<endl;


}

double low_procedure()
{
const double LOW_DISCOUNT = 0.40;
const int LOW_TIME = 30;


consult = getConsultTime()
rate = getRate()

if consult > LOW_TIME
{
minutes = consult - LOW_TIME
result = rate * LOW_DISCOUNT
payment = calcPay
}

else
  cout <<"No additional fees. \n";

return payment;

}

double high_procedure()
{
const double HIGH_DISCOUNT = 0.70;
const int HIGH_TIME = 20;

consult = getConsultTime()
rate = getRate()

if consult > HIGH_TIME
{

minutes = consult - HIGH_TIME
result = rate * HIGH_DISCOUNT


}
else 
  cout<<"No additional fees.";
}

int getConsultTime()
{
int consult = 0;
cout << "How long was the consult for in minutes? \n";
    cin >> consult;

return consult;   

}

double getRate()
{
double rate = 0.00;
cout << "What was the hourly rate? \n";
  cin >> rate;

return rate;   

}

double calcPay
{
double payment = 0.00;

payment = result * (minutes/HOUR);

return payment;

}
在纳税季节,每个星期五,强生会计师事务所都会为自己准备纳税申报表的人提供帮助。他们的指控如下

a。如果一个人收入低(收入; 开关(收入) { 案例“n”: 案例“N”:低成本程序() 打破 案例“y”: 案例“y”:高_程序() 打破
默认值:cout您应该在有意义的最小范围内声明它们。因为您显然在多个函数中使用它们,所以文件范围(通常被认为是“全局的”,而不是“本地的”)似乎是合适的


作为替代方案,您可以创建一个将变量和函数作为成员的类,但在这种情况下,这似乎有些过分…

您应该在有意义的最小范围内声明它们。因为您显然在多个函数中使用它们,所以文件范围(通常被认为是“全局的”,而不是“局部的”)看起来很合适


另一种方法是,您可以创建一个包含变量和函数作为成员的类,但在这种情况下,这样做似乎有些过分……

一种方法是将数据分组到一个
结构中,为每个人创建该
结构的一个实例,并使所有函数都接受该
结构的指针或引用
并访问其字段

(当你学习课程时,你可以忘记这个答案。)

有很多原因可以避免全局变量(比如名称空间污染)

即使您将它们限制在文件范围或名称空间范围内,仍然有很多理由避免使用静态存储持续时间的变量(如线程安全、初始化顺序)

经验法则总是“使用尽可能小的范围”

#包括
使用名称空间std;
结构AccountData{
国际咨询;
整数分钟;
双倍费率;
双重结果;
双倍支付;
};
AccountData MakeCount(整数咨询、整数分钟、双倍费率、双倍结果、双倍付款)
{
返回AccountData({查询、分钟、费率、结果、付款});
}
作废高_程序(AccountData*thisAccount)
{

cout一种方法是将数据分组到一个
struct
,为每个人创建该
struct
的实例,并使所有函数接受该
struct
的指针或引用,并访问其字段

(当你学习课程时,你可以忘记这个答案。)

有很多原因可以避免全局变量(比如名称空间污染)

即使您将它们限制在文件范围或名称空间范围内,仍然有很多理由避免使用静态存储持续时间的变量(如线程安全、初始化顺序)

经验法则总是“使用尽可能小的范围”

#包括
使用名称空间std;
结构AccountData{
国际咨询;
整数分钟;
双倍费率;
双重结果;
双倍支付;
};
AccountData MakeCount(整数咨询、整数分钟、双倍费率、双倍结果、双倍付款)
{
返回AccountData({查询、分钟、费率、结果、付款});
}
作废高_程序(AccountData*thisAccount)
{

有趣的是C++曾经被称为“C类”,但这个问题是“C++没有类”。那么,这是一个C问题吗?我们还没有讨论过课程,而老师基本上问我们是否知道如何正确使用函数。我很清楚它不会编译,至少现在你应该避免全局变量,你可以读到更多关于它的有趣的内容,C++曾经被称为“C类”,但是这个问题是“C++没有类”那么这是一个C问题吗?我们只是还没有讨论过类,讲师基本上是在问我们是否知道如何正确使用函数。我很清楚它不会编译,至少现在你应该避免全局变量,你可以阅读更多关于它的内容
#include <iostream>
using namespace std;

struct AccountData {
    int consult;
    int minutes;
    double rate;
    double result;
    double payment;
};
AccountData makeAccount(int consult, int minutes, double rate, double result, double payment)
{
    return AccountData({consult, minutes, rate, result, payment});
}
void high_procedure(AccountData *thisAccount)
{
    cout << "do something with the account, like printing out \"payment \""
         << thisAccount->payment
         << "\n";
}
void low_procedure(AccountData *thisAccount)
{
    thisAccount->payment+=1.0;
    cout << "do something with the account, like adding 1 to \"payment \""
         << "\n";
}
int main() {
    AccountData account1 = makeAccount(1,2,3,4,5);
    high_procedure(&account1);
    low_procedure(&account1);
    high_procedure(&account1);

    AccountData account2 = makeAccount(10,20,30,40,50);
    high_procedure(&account2);
    low_procedure(&account2);
    high_procedure(&account2);

    return 0;
}