我试图解决第2章(Prata的c ++引物加)
中的ex7任务是:
编写一个程序,要求用户输入小时值和分钟值 然后main()函数应将这两个值传递给显示的类型void函数 以下示例中显示的格式中的两个值运行: 输入小时数:9 输入分钟数:28 时间:9:28
我的代码是:
#include <iostream>
void hours(int);
void minutes(int);
int main()
{
using namespace std;
int hhrs;
int mnts;
cout << "Enter hours: "; cin >> hhrs; cout << endl;
cout << "Enter minutes: "; cin >> mnts; cout << endl;
hours(hhrs);
minutes(mnts);
cout << "Time is: " << hours << ":" << minutes << endl;
cin.get();
cin.get();
return 0;
}
void hours(int n)
{
using namespace std;
cout << n;
}
void miutes(int m)
{
using namespace std;
cout << m;
}
错误是:
1)错误1错误LNK2019:未解析的外部符号“void __cdecl minutes(int)”(?minutes @@ YAXH @ Z)在函数_main G中引用:\ ~DEV #c ++ \ he \ he \ Source.obj < / p>
2)错误2错误LNK1120:1个未解析的外部G:\ ~DEV#c ++ \ he \ Debug \ he.exe 1
答案 0 :(得分:4)
除了拼写错误(miutes
而不是minutes
)之外,您还没有做出问题所在:
编写一个程序,要求用户输入小时值和分钟 value.main函数应该将这两个值传递给一个类型 void函数,以显示的格式显示两个值 以下示例运行:输入小时数:9输入数字 分钟:28时间:9:28
这要求您输入2个值,并将这些值传递给单个函数,该函数将以所需格式打印它们。
答案 1 :(得分:2)
你在函数定义中拼错了minutes
。
void miutes(int m)
^^^^^^
请注意,您的hours
和minutes
功能完全相同。拥有它们都没有意义。您可以拥有一个名为print
的函数。但是,由于他们所做的只是调用另一个函数(cout.operator<<
),我只是将它们全部放在一起。只需在需要时cout << hhrs
和cout << mnts
。您的问题确实需要您将 小时和分钟的打印移动到函数中。
答案 2 :(得分:0)
除void miutes(int m)
中的拼写错误外,逻辑不需要两个单独的函数来调用。
另外,如果您查看以下行:
cout&lt;&lt; “时间是:”&lt;&lt;小时&lt;&lt; “:”&lt;&lt;分钟&lt;&lt; ENDL;
此处“小时”和“分钟”将始终评估为True
。因此最终它将在输出中显示1:1,而不是9:28(根据您的输入)。