2017-09-16 19 views
0

我最近嘗試製作一個程序,它有幾個主要的功能,但由於某種原因,「聲明與我的所有變量和函數都不兼容」。是否有一種簡單的方法使用main之外的函數並且可互換地引用變量?我收到的錯誤是:E0147。這是我的代碼:有一些功能問題,以及它們如何幹擾主要

#include <iostream> 
using namespace std; 
int dager; 
int mintemp; 
int maxtemp; 
int nedbor; 
int i = 1; 
int j; 
int mintempg; 
int maxtempg; 
int nedborg; 

int mintemp() { 
    cout << "hva er dag:" << i << " sin min temp? \n"; 
    cin >> mintempg; 

    if (mintempg >= -70 && mintempg <= 70) 
    { 
     mintemp += mintempg; 
    } 
    else 
    { 
     cout << "ugyldig temperatur."; 
     mintemp(); 
    } 
} 
int maxtemp() { 
    cout << "hva er dag:" << i << " sin max temp? \n"; 
    cin >> maxtempg; 

    if (maxtempg >= mintempg && maxtemp <= 70) 
    { 
     maxtemp += maxtempg; 
    } 
    else 
    { 
     cout << "ugyldig temperatur."; 
     maxtemp(); 
    } 
} 
int nedbor() { 
    cout << "hva er dag:" << i << " sin mm nedbør? \n"; 
    cin >> nedborg; 

    if (nedborg >= 0 && nedborg <= 200) 
    { 
     nedbor += nedborg; 
    } 
    else 
    { 
     cout << "ugyldig mengde nedbor."; 
     nedbor(); 
    } 
} 



int main() { 
    cout << "Hvor mange dager er det i måneden? " << "\n"; 
    cin >> dager; 


    for (j = dager; j > 0; j--) { 
     if (dager >= 28 && dager <= 31) 
     { 
      mintemp(); 

      maxtemp(); 

      nedbor(); 

      i++; 
     } 
    } 
    system("pause"); 
} 

因此,大家可以看到它提供了很多的可讀性,以我的代碼做這樣的,這就是爲什麼我決定我不希望這一切是在主。此外,它可以讓以後重用代碼變得更加容易。問題:有沒有辦法讓編譯器在不使用系統(「暫停」)的情況下運行代碼時不會關閉; ?,我似乎想起我們的教授在我們的一次講座中提到它,但我沒有完全理解它。反正所有的幫助表示讚賞!

+0

你不能有一個變量名'foo'和命名函數'FOO()'。 C++不能以這種方式工作。就這麼簡單。 –

+0

哦謝謝!我不知道。一個簡單的問題,當它說函數必須返回一個值時,使用「void functionmame()」還是使int函數返回0有區別? –

+1

一個是不返回任何內容的void函數。另一個是返回一個「int」0值的函數。這是不同的。 –

回答

-1

爲了您的問題;爲了防止窗口關閉看這篇文章。

- 如果您使用的是Visual Studio,並且您正在從IDE中啓動控制檯應用程序:按CTRL-F5(啓動時未調試)將啓動應用程序,並保持控制檯窗口處於打開狀態,直到您按任意鍵。

- 你可以插入std :: getchar();在主要功能的末尾。該功能被包括在內。

參考:stackoverflow.com/questions/2529617/...

+0

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/17348973) – EJoshuaS