簡體   English   中英

我如何編寫帶有計數器的 function?

[英]How do i write a function with a counter inside?

第一周編碼請善待。
我需要從用戶那里得到 4 個輸入,如果其中 2 個是-100 ,我需要 function 說你失敗了。

我需要在function here並且可能在里面添加一個計數器,但我不知道如何。

代碼看起來像這樣

cout << "What are the grades of your 4 take-home exams? ";
    cin >>th1>>th2>>th3>>th4;
function here

我需要從用戶那里得到 4 個輸入

cin >>th1>>th2>>th3>>th4;

看起來這是正確的。

如果其中 2 個是 -100

1. 條件

答案就在你的問題本身。 專注於if一詞。

編程語言有各種不同的方法來檢查事物,檢查某事物是否等於其他事物,或者如果某事物小於其他事物,則運行一段代碼。 我們稱這些條件 如果某個條件為,做某事,否則,做一些不同的事情。 例子:

int x = 0;
cin >> x; // take input from user
if (x > 20)
{
   cout << "x is greater than 20";
}
else 
{
   cout << "x is less than 20";
}

此外,您甚至可以同時檢查兩個變量!

int x = 1;
int y = 2;
if (x == 1 && y == 2)
   cout << "X is 1, and y is 2";
else
   //print something else

功能

函數是一種將一些代碼放入塊中的方法,您可以隨時重復使用。 想象一下,假設您正在制作蛋糕,並且需要某種糖漿。 現在,如果您願意,您可以每次從零開始制作糖漿,或者您可以制作大量糖漿,並且每次您想制作蛋糕時都使用它。 這絕對是一個不好的例子,但你明白了。

讓我們做一個小的 function。 此 function 將采用int作為參數並檢查該參數是否等於 100。 如果它等於 100,我們將return一個值: 1給調用者。 否則我們將返回一個值: 0

int checkIfHundredOrNot(int value)
{
    if (value == 100)
       return 1;
    else
       return 0;
}

//caller
int main()
{
    int x = 0;
    cin >> x;
    int result = checkIfHundredOrNot(int value);
    cout << "Result is: " << result;
    return 0;
}

使用此信息,嘗試解決您的問題。 它應該相當簡單。 如果您發現任何困難,請谷歌它。 你會在那里找到你所有的答案。 具體谷歌這個:

  • C++ 中的 function 參數是什么?
  • C++ 的返回值是多少?
  • C++ 中的 function 是什么?
  • 為什么我們使用 C++ 中的函數?
  • C++ 中的運算符是什么?
  • C++ 中的比較運算符是什么?
  • ===之間有區別嗎?

然后仔細閱讀它們,並用自己的雙手寫下每一段代碼,然后重復直到你理解為止。

所以我自己是個菜鳥,但我會試一試。 我建議看看我的解決方案,並嘗試以“你”的方式做你的,因為還有更多的途徑可以獲得正確的答案。 如果你真的很明確只有 4 個輸入,你可以試試這個:

bool isFail(int a, int b, int c, int d) {

int counter = 0;
if (a == -100) {
    counter++;
}
if (b == -100) {
    counter++;
}
if (c == -100) {
    counter++;
}
if (d == -100) {
    counter++;
}

if (counter >= 2) {
    return true;
}
else
{
    return false;
}

}

function 基本上需要 4 個整數,並根據 -100 檢查每個整數。 如果結果是 -100,則計數器增加 1。之后,我們只需檢查計數器是否等於或大於 2,如果是,則返回真值,因為它失敗了(兩個或更多輸入為 -100)。 如果不是,我們只返回一個 false。

在您的主要 function 中,您可以簡單地初始化變量,輸入它們並簡單地執行 function 調用,您可以將其與另一個“真實”值進行比較。 如果結果是肯定的,則打印出失敗消息。

int a, b, c, d;
std::cin >> a >> b >> c >> d;

if (isFail(a, b, c, d) == true) {
    std::cout << "Fail!" << std::endl;;
}
else
{
    std::cout << "Passed!" << std::endl;
}

此致!

暫無
暫無

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

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