2012-09-23 49 views
-1
#include <iostream> 
#include <iomanip> 
using namespace std; 

int main() // print to console: 3.0*5.0=15.00 
{ 
    double a; 
    double b; 
    a =(3.0); 
    b =(5.0); 
    cout << " " << fixed << setprecision (1) << a << "\n" << endl; 
    cout << "* " << b << "\n" << endl; 
    cout << "------" << endl; 
    cout << fixed << setprecision (2) << a*b << "\n" << endl; 
    return 0; 
} 

int calculate() // print to console: (7.1*8.3)-2.2=56.73 
{ 
    double a; 
    double b; 
    double c; 
    a = (7.1); 
    b = (8.3); 
    c = (2.2); 
    cout << " " << fixed << setprecision (1) << a << "\n" << endl; 
    cout << "* " << b << "\n" << endl; 
    cout << "- " << c << "\n" << endl; 
    cout << "------" << endl; 
    cout << setprecision(2) << (a*b)-c << "\n" << endl; 
    return (a*b)-c; 
} 

int calculation() // print to console: 3.2/(6.1*5.0)=0.10 
{ 
    double a; 
    double b; 
    double c; 
    a=(3.2); 
    b=(6.1); 
    c=(5.0); 
    cout << " " << fixed << setprecision (1) << a << "\n" << endl; 
    cout << b << "*" << c << endl; 
    cout << "------" << endl; 
    cout << setprecision(2) << a/(b*c) << "\n" << endl; 

    system("PAUSE"); 
    return a/(b*c); 
} 

我從來沒有遇到過這個錯誤。我是新來的C++,所以一些方向將是偉大的!如何更改此代碼以便在不閃爍的情況下進行打印。謝謝!我如何得到這個工作 - 我不明白的2個嚴重錯誤?

輸出: 1> LINK:錯誤LNK2001:無法解析的外部符號_mainCRTStartup 1>致命錯誤LNK1120:1周無法解析的外部

+0

什麼是子系統設置值? – Borgleader

+0

我不知道那是什麼? –

+0

項目 - >屬性 - >鏈接器 - >系統 - >子系統。什麼是價值? – Borgleader

回答

0

最大的可能是你的[的.cpp]文件不是項目源文件的一部分,因此它沒有被編譯,並且沒有相應的目標代碼文件被鏈接。

重現錯誤:

 
[d:\dev\test] 
> type nul >bah.rc 

[d:\dev\test] 
> rc /nologo bah.rc 

[d:\dev\test] 
> dir /b *.res 
bah.res 

[d:\dev\test] 
> link /nologo bah.res /out:bah.exe /entry:mainCRTStartup /subsystem:console /machine:x86 
LINK : error LNK2001: unresolved external symbol _mainCRTStartup 
bah.exe : fatal error LNK1120: 1 unresolved externals 

[d:\dev\test] 
> _ 

解決方案:將文件添加到Visual Studio項目(而不是作爲一個解決方案文件)。


關於代碼,試試這個:

#include <iostream>   // std::wcout, std::endl, std::fixed 
#include <iomanip>   // std::setprecision 
#include <string>   // std::wstring 
using namespace std; 

void display(char const expression[], double const result) 
{ 
    wcout << expression << " = " << result << endl; 
} 

#define DISPLAY(expr) display(#expr, expr) 

int main() 
{ 
    wcout << fixed << setprecision(1); 
    DISPLAY(3.0*5.0); 
    DISPLAY((7.1*8.3)-2.2); 
    DISPLAY(3.2/(6.1*5.0)); 
} 

我通常不會只是提出了一個典型的家庭作業問題的解決方案。

但是,你的嘗試解決方案似乎是在一個錯誤的(不利於學習)方向。

0

檢查/更新這個變量:

enter image description here

此設置控制你的 「主」 函數的名稱。換句話說,這個設置告訴鏈接器在啓動鏈接過程時應該查找什麼名字。大約有8個子系統,每個都有自己的「主」。

+0

錯誤消息比缺少「main」更微妙一些。這是運行時庫中缺少的入口點。看到我的答案是可能發生的一種(也許是唯一的)方式。 –

+0

這可能是你是對的。 –

相關問題