C++;错误';其他';没有以前的';如果'; 我是C++新手,一直在做一个赋值< /p>
好的,这样就运行了,但它不做计算 当窗口打开时,我输入B或C 然后是单词的长度 它只是说pay=0 以下是新代码:C++;错误';其他';没有以前的';如果'; 我是C++新手,一直在做一个赋值< /p>,c++,if-statement,output,C++,If Statement,Output,好的,这样就运行了,但它不做计算 当窗口打开时,我输入B或C 然后是单词的长度 它只是说pay=0 以下是新代码: #include <iostream> using namespace std; char authorLevel; int numberOfWords, payTotal; int fixedPayAmount; int main() { cout << "Enter Author Level(A,B,or C):"; char au
#include <iostream>
using namespace std;
char authorLevel;
int numberOfWords, payTotal;
int fixedPayAmount;
int main()
{
cout << "Enter Author Level(A,B,or C):";
char authorLevel;
cin >>authorLevel;
cout << "Enter Length(in words):";
int numberOfWords;
cin >>numberOfWords;
cout << "Pay is: $" << payTotal << endl;
int payTotal;
cout << "Fixed Pay is:$" << fixedPayAmount << endl;
int fixedPayAmount;
//Calculations for C Level Author
if (authorLevel == 'C')
{
//If the Number of words is <7500 multiply by 0.08
if (numberOfWords <=7500)
{
payTotal= numberOfWords * 0.08;
}
//If the numberOfWords is >7500 to <=8000 pay is fixed 600
if (numberOfWords >7500 || numberOfWords <= 8000)
{
fixedPayAmount= 600;
}
//If the numberOfWords is >8000 to <=17500 multiply by 0.075
if (numberOfWords >8000 || numberOfWords <=17500)
{
payTotal= numberOfWords * 0.075;
}
//If the numberOfWords is >17500 to <= 19000 fixed $1313
if (numberOfWords >17500 || numberOfWords <= 19000)
{
fixedPayAmount=1313;
}
//If the numberOfWords is >=19000 multiply 0.07
if (numberOfWords >=19000)
{
payTotal= numberOfWords * 0.07;
}
}
else if (authorLevel== 'A')
{
//If the Number of words is <7500 multiply by 0.14
if (numberOfWords <=7500)
{
payTotal= numberOfWords * 0.14;
}
//If the numberOfWords is >7500 to <=8000 pay is fixed $1050
if (numberOfWords >7500 || numberOfWords <= 8000)
{
fixedPayAmount= 1050;
}
//If the numberOfWords is >8000 to <=17500 multiply by 0.13125
if (numberOfWords >8000 || numberOfWords <=17500)
{
payTotal= numberOfWords * 0.13125;
}
//If the numberOfWords is >17500 to <= 19000 fixed $2297.75
if (numberOfWords >17500 || numberOfWords <= 19000)
{
fixedPayAmount=2297.75;
}
//If the numberOfWords is >=19000 multiply 0.1225
if (numberOfWords >=19000)
{
payTotal= numberOfWords * 0.1225;
}
}
else if (authorLevel== 'B')
{
//If the Number of words is <7500 multiply by 0.1
if (numberOfWords <=7500)
{
payTotal= numberOfWords * 0.1;
}
//If the numberOfWords is >7500 to <=8000 pay is fixed $750
if (numberOfWords >7500 || numberOfWords <= 8000)
{
fixedPayAmount= 750;
}
//If the numberOfWords is >8000 to <=17500 multiply by 0.09375
if (numberOfWords >8000 || numberOfWords <=17500)
{
payTotal= numberOfWords * 0.09375;
}
//If the numberOfWords is >17500 to <= 19000 fixed $1641.25
if (numberOfWords >17500 || numberOfWords <= 19000)
{
fixedPayAmount=1641.25;
}
//If the numberOfWords is >=19000 multiply 0.0875
if (numberOfWords >=19000)
{
payTotal= numberOfWords * 0.0875;
}
}
return 0;
}
#包括
使用名称空间std;
字符作者级;
int numberOfWords,paytoal;
固定支付金额;
int main()
{
cout>authorLevel;
字数;
cout在第一个if
后面有一个分号(在行尾)。删除该分号即可
if (authorLevel = 'C');
应该是
if (authorLevel == 'C')
正如其他人所注意到的,还有其他分号和错误。请小心!如果
,则在第一个末尾有一个分号:
if (authorLevel = 'C');
您已经生成了一个if
语句,除了一个空语句外,该语句没有附加任何代码。然后,您将得到一个不相关的代码块,该代码块后面有一个else
您需要删除分号。您必须删除结尾处的“;”(并将“=”替换为“=”)
截至年底
if (numberOfWords <=7500);
if(numberOfWords是“if”语句末尾的分号,例如
if (authorLevel = 'C');
这相当于:
if (authorLevel = 'C')
{
;
}
换句话说,这意味着“if”语句后面的块不是“if”语句的一部分,并且不是有条件执行的
您在代码中重复执行该操作,但正是我作为示例使用的语句导致了您告诉我们的编译器错误
编辑:另外,“=”是赋值运算符。您几乎肯定想使用“==”,这是相等比较运算符。使用适当的缩进。删除后面的分号;
如果语句请仔细检查您的条件块,这只是括号的问题:-)更好的方法是,如果你可以,使用开关
。缩进注释不仅仅是对你的问题吹毛求疵。如果你学会使用编辑器的自动缩进功能,和/或更加注意格式,它将大大有助于发现像你遇到的问题一样的问题。加上其他一些实际应该是这样的地方if(authorLevel='C')
我修复了;和==,谢谢大家。现在它说第70行的“{”标记前面应该有“;”,其他行(authorLevel==A)和第138行的输入末尾应该有错误}返回0之后;}我知道这可能是我的{是的,但我在任何地方都找不到它,我一遍又一遍地检查我的代码。我看到有人说开关会更好?我如何将它转换为开关?你解决了所有的==和;问题吗?如果你能发布新代码,那会有帮助。通常编写和测试比这更小的代码块,然后扩展它是一个好主意。如果你在这里这样做,将更容易跟踪错误,并知道您在正确的路径上。您正在打印计算结果,然后才实际执行计算。我修复了;和==,谢谢大家。现在它说错误预期“;”在“{”标记之前,第70行else(authorLevel==A)和错误预期}在返回0后输入第138行的末尾;}我知道我的{可能有问题,但我到处都找不到,我一遍又一遍地检查我的代码。我看到有人说开关会更好?我如何将其转换为开关?您也有一个;
第65行,您是否删除了它?如果(numberOfWords>7500 | | | numberOfWords是的,我都拿到了,我留下了那些在付款后的东西Total=numberOfWords*0.13125;固定的付款金额=2297.75;当我把它们拿出来的时候,它说的是错误,让我把它们放回去。它说的是预期错误;在{else(authorLevel=='A'){你忘了else-if(authorLevel=='A'){'中的'if'了吗?是的,这就是问题所在,我错过了2个;我让程序运行了,但它没有给我答案
if (authorLevel = 'C')
{
;
}