我正在初学C ++课程。以下是我的任务说明:
编写一个调用值返回函数的程序,该函数提示用户输入以磅为单位的人的权重,然后调用另一个值返回函数来计算以千克为单位的等效权重。输出两个四舍五入到两位小数的权重。 (注意,1千克= 2.2磅。)将输出格式化为两位小数。
我认为一切都很完美。但是,我收到一个调试错误,这是运行时检查错误#3 - T.请查看我的代码并告诉我这里有什么问题。记住,我是初学者。谢谢。
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
using namespace std;
string get_date();
void student_heading();
float get_user_input(float);
float convert_weight(float);
int main()
{
cout << fixed << showpoint << setprecision(2);
string mydate;
float weight_lbs;
float weight_kgs;
mydate = get_date();
student_heading();
weight_lbs = get_user_input();
weight_kgs = convert_weight(weight_lbs);
return 0;
}
string get_date()
{
string mydate;
cout << "Enter today's date:";
getline(cin, mydate);
return mydate;
}
void student_heading()
{
cout << "*******************" << endl;
cout << "Student" << endl;
cout << "ID Number" << endl;
cout << "SYCS-135" << endl;
cout << "Assignment 6" << endl;
cout << "October 6, 2015" << endl;
cout << "******************" << endl;
}
float get_user_input(float lb_weight)
{
cout << "Please provide us with your weight, in pounds:";
cin >> lb_weight;
return lb_weight;
}
float convert_weight(float kg_weight)
{
float lb_weight;
kg_weight = lb_weight / 2.2;
return kg_weight;
}
答案 0 :(得分:0)
您的错误是您正在调用weight_lbs = get_user_input();
你不能没有参数调用get_user_input,因为你没有这样的函数。
答案 1 :(得分:0)
您的代码有几个问题。
您的函数原型不正确。大括号中的参数必须包含变量名称和数据类型。所以只有function(int)
不是enaugh,它应该是function(int MyVariable)
。因此,错误是由调用函数引起的,因为函数原型不正确(预期参数),因此函数原型不存在。
您的get_user_input()
函数有一个不需要的参数。整个功能应如下所示:
float get_user_input()
{
cout << "Please provide us with your weight, in pounds:";
float lb_weight;
cin >> lb_weight;
return lb_weight;
}
质量转换功能如下所示:
float convert_weight(float lb_weight)
{
return lb_weight / 2.2;
}
您的主要功能应如下所示:
int main()
{
cout << fixed << showpoint << setprecision(2);
string mydate;
float weight_lbs;
float weight_kgs;
mydate = get_date();
cout << mydate << endl;
student_heading();
weight_lbs = get_user_input();
weight_kgs = convert_weight(weight_lbs);
cout << weight_kgs << "Kg";
getchar();
getchar();
return 0;
}
别忘了将功能原型更改为:
float get_user_input();
float convert_weight(float lb_weight);