需要帮助函数调用

时间:2011-03-31 15:06:44

标签: c++

这是我学习I.T.的第一年。和c ++所以我对c ++没有太多的了解。问题是关于函数调用。

功能标题为:

bool insure(int age, bool smoker)

我的任务是写下正确的函数调用并声明我将在调用语句中使用的所有变量。

到目前为止,这是我提出的:

#include <iostream>
using namespace std;

bool insure(int age, bool smokers)
{
    bool ret;
}
int main ()
{
    int age;
    bool isSmoker;
    bool ret;

    cout << "Enter your age: ";
    cin >> age;
    ret = insure(age, isSmoker);

    return 0;
}

我想知道这个程序是否正确或者我做错了什么。提前致谢

4 个答案:

答案 0 :(得分:7)

您没有从insure返回任何内容,并且您正在向其传递未初始化的变量(isSmoker)。并且您没有验证输入是否有效:如果用户为其年龄输入“abc”会发生什么。

答案 1 :(得分:2)

#include <iostream>
using namespace std;

bool insure(int age, bool smokers)
{        
    if(age>=25&&smokers==true)return true;
    else return false;
}

int main ()
{        
    int age=25;
    bool isSmoker=true;
    bool ret;

    cout << "Enter your age: ";
    cin >> age;
    ret = insure(age, isSmoker);
    cout<<"Insure:"<<ret;

    return 0;
}

这个代码块的编写假设保险适用于25岁或以上的人和吸烟者。您可以更改insure(age,smokers)功能中的逻辑。

答案 2 :(得分:1)

我没有看到任何根本错误,但是:

  1. 您不会从insure返回任何内容。这是设计的吗?也许您想添加return ret

  2. 您没有为任何变量定义起始值。这是不好的形式,可能会导致未定义的行为。

答案 3 :(得分:1)

这个任务听起来像是将bool insure(int age, bool smoker)作为一个黑盒子,并展示如何调用它。因此,我认为您需要自己回答的第一个问题是,您是否需要实际编写insure的定义,或者只是必须说明如何使用该函数。一旦你解决了这个问题,

  • insure需要多少和哪些类型的变量?
  • insure返回什么以及如何存储?
  • 如何设置/初始化用于调用它的变量并保持值是返回?
  • 您应该采取哪种错误检查以确保将“好”值传递给insure? (您的课程是否包括错误检查和错误处理?)