簡體   English   中英

在函數調用方面需要幫助

[英]Need help with function calling

這是我學習IT和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;
}

我想知道這個程序是正確的還是做錯了什么。 提前致謝

你不返回任何東西從insure ,而你傳遞一個未初始化的變量( isSmoker )。 而且您沒有驗證輸入是否有效:如果用戶輸入年齡的“ abc”會發生什么。

#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歲或25歲以上且有煙民的保險適用。 您可以更改insure(age,smokers)函數中的邏輯。

我沒有發現任何根本上有問題的地方,盡管:

  1. 您不會從insure任何回報。 這是設計使然嗎? 也許您想添加return ret

  2. 您沒有為任何變量定義起始值。 這是錯誤的形式,可能會導致不確定的行為。

任務聽起來像您要將bool insure(int age, bool smoker)當作黑匣子,並說明如何調用它。 因此,我想您需要為自己回答的第一個問題是,是否需要您實際編寫insure的定義,還是只需要說明如何使用該函數。 解決之后,

  • insure需要多少個變量和什么類型的變量?
  • insure收益是什么?如何存儲?
  • 如何設置/初始化用於調用它並保持返回值的變量?
  • 您應該執行哪種類型的錯誤檢查,以確保傳遞“好”值來insure (您的課程是否已經涵蓋了錯誤檢查和錯誤處理?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM