-1

我有一些琐碎的错误,我只是无法让我的新菜鸟像大脑一样圆润!我在做什么错我得到错误:

C:\Users\George\Desktop\linear_equation_calc\main.cpp||在函数'int main(int, const char**)':|

C:\Users\George\Desktop\linear_equation_calc\main.cpp|101|错误: 'calcparallelplugin' 未在此范围内声明|

C:\Users\George\Desktop\linear_equation_calc\main.cpp|104|error: 'else' without a previous 'if'| ||=== 构建完成:2 个错误,0 个警告 ===|

#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;
}
4

2 回答 2

3

嗯,第一个意味着在main你调用calcparallelplugin()中,这是编译器第一次听说这个函数。也许它在您的包含文件中拼写不同?

由于这个杂散的分号而发生第二个错误:

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

它作为最后一个“if”的主体,因此终止了语句链;因此,几行之后的最后一个“else”与之前的任何“if”无关。

于 2012-04-29T21:30:02.093 回答
1

尾随分号导致else错误:

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

尾随分号表示代码等效于:

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

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

所以else没有previous if: 去掉分号。

于 2012-04-29T21:30:15.840 回答