我希望这个程序计算工资总额,但它输出错误。
#include<stdio.h>
int main() {
float base-salary = 1500.00;
float bonus-rate = 200.00;
float commission-rate = quantity * 2/100;
int quantity;
float Price;
float Gross-salary;
printf("Enter quantity of computers sold\n");
scanf("%d",&quantity);
printf("Enter Price of computers sold\n");
scanf("%f",&Price);
Gross-salary = base-salary + (quantity * bonus-rate) + (quantity * Price) * commission-rate;
printf("Gross salary equals :%f",Gross-salary);
//Gross salary = base salary + (quantity * bonus rate) + (quantity * Price) * commission rate
}
它会吐出这些错误。
5 13 Documents \ Untitled10.cpp [错误]预期的初始化程序&#39; - &#39; 代币 16 2文件\ Untitled10.cpp [错误]&#39; Gross&#39;未在此范围内声明16 2 Documents \ Untitled10.cpp [错误]&#39; base&#39;不是 在此范围内声明16 2 Documents \ Untitled10.cpp [错误] &#39;工资&#39;未在此范围内宣布16 2 Documents \ Untitled10.cpp [错误]&#39;奖金&#39;没有在这宣布 范围16 2文件\ Untitled10.cpp [错误]&#39; rate&#39;没有宣布 在此范围16 2 Documents \ Untitled10.cpp [错误]&#39;佣金&#39;是 未在此范围内声明
答案 0 :(得分:2)
您不能在C ++标识符名称中使用-
破折号。切换到下划线。
引用http://en.cppreference.com/w/cpp/language/identifiers:
标识符是一个任意长的数字,下划线,小写和大写拉丁字母序列,以及大多数Unicode字符(不允许使用基本源字符集中的控制字符和字符)。有效标识符必须以非数字字符(拉丁字母,下划线或Unicode非数字字符)开头。标识符区分大小写(小写和大写字母是不同的),每个字符都很重要。
此外,在计算中使用浮动除法,而不是整数。
float commission-rate = quantity * 2/100;
由于数量为int
,因此将执行整数除法,并且您将只获得结果的截断部分。这样做:
float commission_rate = quantity * 2/100.f;
在声明变量之前使用变量还有另一个错误:
float commission_rate = quantity * 2/100;
int quantity;
数量未声明,因此不能在第1行中使用。交换这些语句。另请注意,C ++ 不是符号数学语言。在计算表达式时获取变量值。这是一个常见的初学者错误,首先声明一个公式,然后初始化它包含的变量。因此,第1行必须移动到输入部分下方。
您的固定代码可能如下所示:
const float base_salary = 1500.f;
const float bonus_rate = 200.f;
int quantity;
float price;
float gross_salary;
printf("Enter quantity of computers sold\n");
scanf("%d",&quantity);
printf("Enter Price of computers sold\n");
scanf("%f",&price);
const float commission_rate = quantity * 2/100.f;
const gross_salary = base_salary + quantity * bonus_rate + \
quantity * price * commission_rate;
printf("Gross salary equals :%f",gross_salary);
答案 1 :(得分:1)
您不能在变量名称声明中使用减号( - )。 使用下划线表示法
float base_salary = 100;
或camelCase(我更喜欢):
float baseSalary = 100;