C++ 赋值有助于创建可重用代码吗?

C++ assignment help on creating codes for reusability?

我做这个作业时遇到了问题。我只是很难理解,我不完全确定该怎么做。我研究并观看了视频,但未能找到正确的具体信息。这是一堆问题,所以我希望有人不仅能给我答案,还能给我解释,让我有一个深刻的理解:)。以下是问题:

1) 在这个练习中,我们得到了一些程序代码,可以接受两个整数作为输入 并评估哪一个拥有更大的价值。此评估发生在多个地方 在整个代码中。编写一个程序可以用来执行相同评估的函数 而不是一遍又一遍地复制代码。从编写合适的函数声明开始 朝向代码文件的开头。您必须决定您的功能是否 return 有没有输出。

2) 编写声明后继续定义函数,包括适当的部分 代码将评估两个整数中哪个是最大的。如果您之前声明您的 函数将 return 一个值,请务必在此处定义它将 return 的值。

3) 使用第 (1) 和 (2) 部分的结果来减少主函数中重复代码的数量 通过将整数比较的多个实例替换为调用 您创建的功能。请记住,该函数需要传入两个整数 作为参数,如果你 return 从函数中获取一些值,它应该被使用(存储在 一个变量,输出到屏幕等)。作为忠告,测试你的功能后是否正常工作 只替换其中一个评估,不要一次替换它们(如果函数正常工作 对于第一个替换,那么它应该适用于其他人)。

4) 因为你创建的函数只是比较参数的值,并没有写入 对它们(即改变存储在它们中的值)我们应该在函数声明中指定并且 定义这些参数应该像常量一样对待。做必要的 修改功能并再次测试以验证功能是否仍然有效。确认功能 不会让您通过尝试在函数中包含操作来更改参数的数据 这会改变其中一个变量的值(例如 number2 += 10;)

-- 代码如下(抱歉写得太长了):

#include <iostream>

int main(void)
{
using std::cout;
using std::cin;
using std::endl;

int nNum1 = 10, nNum2 = 11;

cout << "This program will compare two numbers and report which one is larger.\n\n"
    << "Proceeding with evaluation...\n" << endl;

cout << "\nUsing numbers: " << nNum1 << " and " << nNum2 << ", the larger one is: ";
if (nNum1 > nNum2)
    cout << nNum1 << endl;
else if (nNum1 < nNum2)
    cout << nNum2 << endl;
else
    cout << "Neither of them! It's a draw." << endl;

int numberA = 234;
int numberB = 234;
cout << "\nUsing numbers: " << numberA << " and " << numberB << ", the larger one is: ";
if (numberA > numberB)
    cout << numberA << endl;
else if (numberA < numberB)
    cout << numberB << endl;
else
    cout << "Neither of them! It's a draw." << endl;

int one = 'a';
int two = 'A';
cout << "\nUsing numbers: " << one << " and " << two << ", the larger one is: ";
if (one > two)
    cout << one << endl;
else if (one < two)
    cout << two << endl;
else
    cout << "Neither of them! It's a draw." << endl;

cout << "\nUsing numbers: " << 13 << " and " << 84 << ", the larger one is: ";
if (13 > 84)
    cout << 13 << endl;
else if (13 < 84)
    cout << 84 << endl;
else
    cout << "Neither of them! It's a draw." << endl;

int input1 = 0;
int input2 = 0;
cout << "\nPlease enter a number: ";
cin >> input1;
cout << "\nPlease enter a second number: ";
cin >> input2;

cout << "\nUsing numbers: " << input1 << " and " << input2 << ", the larger one is: ";
if (input1 > input2)
    cout << input1 << endl;
else if (input1 < input2)
    cout << input2 << endl;
else
    cout << "Neither of them! It's a draw." << endl;

cout << "\n\tThank you for running me :3\n" << endl;
return 0;

}

您基本上必须重构代码以替换 main 函数中的重复代码部分。

如果你仔细观察,你会发现重复这样的代码:

cout << "\nUsing numbers: " << nNum1 << " and " << nNum2 << ", the larger one is: ";
if (nNum1 > nNum2)
    cout << nNum1 << endl;
else if (nNum1 < nNum2)
    cout << nNum2 << endl;
else
    cout << "Neither of them! It's a draw." << endl;

所以把它放到一个函数中:

void CompareNumbers(int nNum1, int nNum2)
{
    cout << "\nUsing numbers: " << nNum1 << " and " << nNum2 << ", the larger one is: ";
    if (nNum1 > nNum2)
        cout << nNum1 << endl;
    else if (nNum1 < nNum2)
        cout << nNum2 << endl;
    else
        cout << "Neither of them! It's a draw." << endl;
}

并在您的主函数中调用它,而不是复制上述代码块。