C++ 无法在初始化中将浮点转换为浮点
我希望你们做得很好!我在这里寻求帮助,关于一个我不能很好地理解C++的错误。我是C++初学者,总体上是一个新的编码。这项作业将于晚上11:59完成,因此如果您能给出答案并加以解释,我们将不胜感激。谢谢大家 错误:C++ 无法在初始化中将浮点转换为浮点,c++,C++,我希望你们做得很好!我在这里寻求帮助,关于一个我不能很好地理解C++的错误。我是C++初学者,总体上是一个新的编码。这项作业将于晚上11:59完成,因此如果您能给出答案并加以解释,我们将不胜感激。谢谢大家 错误: #include <iostream> #include <cmath> #include <iomanip> using namespace std; //Prototypes: //Gives user instructions void
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
//Prototypes:
//Gives user instructions
void instructions();
//Asks user for number of books being bought and downloaded
int prompt();
//Calculation for Sub total without discount
float calcSubTotal(float);
//Calculation for Discount
float calcDiscount(int);
//Calculation for Total Cost
float total_cost(int);
//Outputs results for user
void label();
int main()
{
instructions();
int nb = prompt(); //save value of prompt as pR
float subT = calcSubTotal(nb); //save value of calcSubTotal as subT
float Disc = calcDiscount(subT); //save value of calcDiscount as Disc
float totalC = total_cost(Disc); //save value of total_cost as totalc
label();
return 0;
}
//Instructions Function
void instructions(){
cout << "***************************************************************************" << endl;
cout << " Hello and welcome to BandN Book Store!" << endl;
cout << " Each eBook costs $8.99." << endl;
cout << " Today, we are having a special where you can get 15% off your total order. " << endl;
cout << "***************************************************************************" << endl;
}
//Number of books Function
int prompt(){
float books;
cout << "How many ebooks do you wish to download?" << endl;
cin >> books;
return books;
}
//calcSubTotal Function
float calcSubTotal(float books){
float Price_per_book = 8.99;
float subTotal = books * Price_per_book;
return subTotal;
}
//Discount Function
float calcDiscount(int Price_Totaldisc){
float subTotal = Price_Totaldisc;
float disc = 0.15;
float discount = subTotal * disc;
float discount_value = subTotal - discount;
return discount_value;
}
//Total Cost Fucntion
float total_cost(int dis_val){
float sub = calcSubTotal; //ERROR
float dis_value = dis_val;
float totalcost = sub - dis_value;
return totalcost;
}
//Prints Out results
void label (int nb, float, float subT, float disc, float totalC){
cout << "***************************************" << endl;
cout << "The number of ebooks downloaded: " << nb << endl;
cout << setprecision(4);
cout << "Sub-total: " << "$" << subT << endl;
cout << setprecision(4);
cout << "Discount: " << "$" << disc << endl;
cout << setprecision(4);
cout << "Total cost: " << '$' << totalC << endl;
cout << "***************************************" << endl;
}
在函数“int main()”中:
28:7:警告:未使用的变量“totalC”[-Wunused变量]
在函数“浮动总成本(int)”中:
66:13:错误:无法在初始化中将“float(*)(float)”转换为“float”
代码:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
//Prototypes:
//Gives user instructions
void instructions();
//Asks user for number of books being bought and downloaded
int prompt();
//Calculation for Sub total without discount
float calcSubTotal(float);
//Calculation for Discount
float calcDiscount(int);
//Calculation for Total Cost
float total_cost(int);
//Outputs results for user
void label();
int main()
{
instructions();
int nb = prompt(); //save value of prompt as pR
float subT = calcSubTotal(nb); //save value of calcSubTotal as subT
float Disc = calcDiscount(subT); //save value of calcDiscount as Disc
float totalC = total_cost(Disc); //save value of total_cost as totalc
label();
return 0;
}
//Instructions Function
void instructions(){
cout << "***************************************************************************" << endl;
cout << " Hello and welcome to BandN Book Store!" << endl;
cout << " Each eBook costs $8.99." << endl;
cout << " Today, we are having a special where you can get 15% off your total order. " << endl;
cout << "***************************************************************************" << endl;
}
//Number of books Function
int prompt(){
float books;
cout << "How many ebooks do you wish to download?" << endl;
cin >> books;
return books;
}
//calcSubTotal Function
float calcSubTotal(float books){
float Price_per_book = 8.99;
float subTotal = books * Price_per_book;
return subTotal;
}
//Discount Function
float calcDiscount(int Price_Totaldisc){
float subTotal = Price_Totaldisc;
float disc = 0.15;
float discount = subTotal * disc;
float discount_value = subTotal - discount;
return discount_value;
}
//Total Cost Fucntion
float total_cost(int dis_val){
float sub = calcSubTotal; //ERROR
float dis_value = dis_val;
float totalcost = sub - dis_value;
return totalcost;
}
//Prints Out results
void label (int nb, float, float subT, float disc, float totalC){
cout << "***************************************" << endl;
cout << "The number of ebooks downloaded: " << nb << endl;
cout << setprecision(4);
cout << "Sub-total: " << "$" << subT << endl;
cout << setprecision(4);
cout << "Discount: " << "$" << disc << endl;
cout << setprecision(4);
cout << "Total cost: " << '$' << totalC << endl;
cout << "***************************************" << endl;
}
#包括
#包括
#包括
使用名称空间std;
//原型:
//提供用户说明
无效指令();
//询问用户购买和下载的图书数量
int提示符();
//无折扣小计的计算
浮标calcSubTotal(浮标);
//折扣计算
浮点数(整数);
//总成本的计算
浮动总成本(整数);
//为用户输出结果
无效标签();
int main()
{
指令();
int nb=prompt();//将提示的值另存为pR
float subT=calcSubTotal(nb);//将calcSubTotal的值另存为subT
float Disc=calcDiscount(subT);//将calcDiscount的值另存为Disc
float totalC=总成本(Disc);//将总成本值另存为totalC
标签();
返回0;
}
//指令功能
无效指令(){
cout您在calcSubTotal
调用中缺少参数。您需要编写float sub=calcSubTotal(在书中)
据我所知,当calcSubTotal是函数名时,您编写它就像一个变量。您需要说
float sub = calcSubTotal(books);
您需要调用prompt(),然后调用calcSubTotal(books),然后调用total_cost(dis_val)
我会在total_cost()中定义一个浮动变量和小计
修复后,您需要修复主函数内部的label()调用。我会让您这样做,但如果您需要任何帮助,我会:)calcSubTotal
是一个函数。也许您想调用它?calcSubTotal(somevar)
如果没有规范,就没有bug。也许他真的想分配这个函数,所以下面的行应该被修复?@MateuszDrostfloat calcSubTotal(float);
是一个规范。@MateuszDrost从上下文来看,OP似乎不太可能存储函数指针。指定的类型是float
,稍后代码会尝试从中减去一个值。非常感谢!我感谢Zac的帮助!我会让你知道标签的。是的……我需要标签方面的帮助!哈哈。很抱歉。请告诉我您对标签Zac的代码知识!@Jonathan您的label()函数需要参数才能工作。请确保您为它提供了所需的所有输入。