2012-04-29 14 views
0

私はちょうど傾けることができないいくつかの笑いのエラーを持っている脳ラウンドのような私の新しいnoobを得る!私が間違って何をやっている私はエラーを取得:2小さなエラー私はちょうど私の頭脳をC++で得ることができません!

C:\Users\George\Desktop\linear_equation_calc\main.cpp||In function 'int main(int, const char**)':|

C:\Users\George\Desktop\linear_equation_calc\main.cpp|101|error: 'calcparallelplugin' was not declared in this scope|

C:\Users\George\Desktop\linear_equation_calc\main.cpp|104|error: 'else' without a previous 'if'| ||=== Build finished: 2 errors, 0 warnings ===|

#include <iostream> 
#include <string.h> 

using namespace std; 

// Function includes 
// I try to keep them in the order they appear in the 
// output below for organization purposes 
#include "calc.m.xy12plugin.cpp" 
#include "calc.b.xymplugin.cpp" 
#include "calc.m.xybplugin.cpp" 
#include "calc.point.xymplugin.cpp" 
#include "calc.parallelplugin.cpp" 

// The above one would be here, too 

int main(int argc, const char* argv[]) { 
int i; 
i = 0; 
cout << "Linear Equation Calculator" << endl << "Copyright (c) 2011 Patrick Devaney" << endl 
<< "Licensed under the Apache License Version 2" << endl; 
// This loop makes the code a bit messy, 
// but it's worth it so the program doesn't 
// crash if one enters random crap such as 
// "zrgxvd" or "54336564358" 
while(i < 1) { 
cout << "Type:" << endl 
<< "0 to calculate a slope (the M value) based on two points on a line" << endl 
<< "1 to calculate the Y-intercept (the B value) based on two points and a slope" << endl 
<< "2 to calculate the slope (the M value) based on the Y-intercept and X and Y" << endl << 
"plug-ins" << endl 
<< "3 to find the next point up or down a line based on the slope (M) and X and Y" 
<< endl << "plug-ins" << endl 
<< "4 to find a point x positions down the line based on the slope (M) and X and Y" 
<< endl << "plug-ins" << endl 
<< "5 to find the equation of a parallel line in form y=mx+c" 
<< endl << "plug-ins" << endl; 

string selection; 
cin >> selection; 
if(selection == "0") { 
mcalcxyplugin(); 
i++; 
} 
else if(selection == "1") { 
calcbxymplugin(); 
i++; 
} 
else if(selection == "2") { 
calcmxybplugin(); 
i++; 
} 
else if(selection == "3") { 
calcpointxymplugin(1); 
i++; 
} 
else if(selection == "4") { 
int a; 
cout << "How many points up/down the line do you want? (Positive number for points" << endl 
<< "further up, negative for previous points" << endl; 
cin >> a; 
calcpointxymplugin(a); 
i++; 
} 
else if(selection == "5");{ 

calcparallelplugin(); 
i++; 
} 
else { 
i = 1; 
} 
// End of that loop below 
} 
return 0; 
} 
+0

さて、 'calcparallelplugin()'の宣言はどこですか? –

+1

コンパイラは、あなたが間違っていることをすでに伝えています。また、cppファイル全体をインクルードしていることに注意してください。最初にそれらが正しいことを確認してください( 'else'、' if'エラーなし)。 – phoxis

答えて

3

まあが、最初のものはmainにあなたがcalcparallelplugin()を呼び出すことを意味し、それは、コンパイラは、この機能のことを聞いた最初のです。おそらく、あなたのインクルードファイルには違ったスペルがありますか?

第2のエラーがあるため、この浮遊セミコロンで起こる:

else if(selection == "5");{ 
         ^
         | 

文の連鎖を終了する「IF」、したがって最後のボディとして機能します。したがって、数行後の最後の "else"は以前の "if"とは無関係です。

1

セミコロンはelseエラーの原因となっている後続:

else if(selection == "5");{ 

末尾のセミコロンは、コードと等価であることを意味する。のでelseは前ifを持たない

else if(selection == "5") { } 

{ 
    calcparallelplugin(); 
    i++; 
} 
else { 
    i = 1; 
} 

。セミコロンを削除します。

関連する問題