尝试使用函数计算有剩余球员的球队数量
Trying to calculate num of teams with leftover players using functions
我在编写代码时没有遇到任何错误,但一旦编译并运行程序,我就会遇到运行时错误。当试图计算球队和剩余球员的数量时,就会出现错误。我尝试将变量放在不同的部分,但如果去掉printResult
函数,似乎一切都正常。除了不能计算之外。
#include <iostream>
using namespace std;
int GetPlayersPerTeam();
int GetTotalPlayersAvailable();
int CalculateNumberOfTeamsAndLeftover(int players, int numTeams, int leftOver, int teamPlayers);
void PrintResults(int numTeams, int leftOver);
int main()
{
int teamPlayers, players, numTeams, leftOver;
teamPlayers = GetPlayersPerTeam();
players = GetTotalPlayersAvailable();
numTeams, leftOver = CalculateNumberOfTeamsAndLeftover(players, numTeams, leftOver,
teamPlayers);
PrintResults(numTeams, leftOver);
}
int GetPlayersPerTeam()
{
int teamPlayers;
cout << "How many players do you wish per team?" << endl;
cout << "(Enter a value in the range 9 - 15): "; cin >> teamPlayers;
while (teamPlayers < 9 || teamPlayers > 15)
{
cout << "You should have at least 9 but no" << endl;
cout << "more than 15 per team." << endl;
cout << "How many players do you wish per team?: "; cin >> teamPlayers;
}
return teamPlayers;
}
int GetTotalPlayersAvailable()
{
int players;
cout << "How many players are available?: "; cin >> players;
while (players < 1)
{
cout << "Please enter a positive number: "; cin >> players;
}
return players;
}
int CalculateNumberOfTeamsAndLeftover(int players, int numTeams, int leftOver, int teamPlayers)
{
numTeams = players / teamPlayers;
leftOver = players % teamPlayers;
return numTeams;
return leftOver;
}
void PrintResults(int numTeams, int leftOver)
{
cout << "There will be " << numTeams << " teams with ";
cout << leftOver << " players left over.n";
}
是的,函数不能返回2个内容,只能返回1个。一种选择是将numTeams转换为引用,这将允许您在函数体中对其进行修改。
int CalculateNumberOfTeamsAndLeftover(int players, int& numTeams, int leftOver, int teamPlayers)
{
numTeams = players / teamPlayers;
leftOver = players % teamPlayers;
return leftOver;
}
然后当你调用方法时,你可以做:
leftOver = CalculateNumberOfTeamsAndLeftover(players, numTeams, leftOver,
teamPlayers);
这应该可以解决问题。
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 为什么使用 "this" 指针调用派生成员函数?
- 尝试使用函数计算有剩余球员的球队数量
- C++,处理多个构造函数重载和冗余代码
- 使用最终类说明符时,最终函数说明符是否冗余?
- 简化冗余std :: array初始化,当时没有constexpr构造函数
- 尝试使用 OpenMP 并行化递归函数的冗余计算
- C++类中冗余测试函数的影响
- 防止在存在菱形继承的情况下进行冗余函数调用
- 避免指定包含模板化函数指针的冗余模板参数
- c++大多是违反DRY的冗余默认和参数化构造函数