我是C ++的新手,我的作业需要帮助。 这是我必须做的事情
开发流程图,然后编写一个菜单驱动的C ++程序,该程序使用多个用户定义的函数,重载函数和引用。
程序执行后,屏幕将被清除,下面显示的菜单将出现在屏幕顶部并居中。菜单项目如下所述。
帮助最小的最大退出
H或h(用于帮助)选项将调用名为help()的函数,该函数将显示帮助屏幕。帮助屏幕应指导用户如何与程序交互,要输入的数据类型以及程序产生的结果。每个帮助屏幕应保留在监视器上,直到用户敲击任何键。处理完用户输入后,将清除屏幕并再次显示菜单。 S或s(for Smallest)选项将调用名为smallest()的函数,该函数将提示用户输入两个浮点数并调用函数findSmallest(),该函数将计算并返回集合中的最小数字。找到最小的数字后,将调用函数display()(来自最小()函数)并使用下面显示的格式显示输入的数字和最小数字。 n1 = xxx.xx,n2 = yy.yy,最小的是zzz.zz 其中n1是第一个数字,n2是第二个数字。 x,y和z是实际数字的占位符。请注意,小数点后需要两位有效数字。
要使用的函数原型是:
void smallest(void);
float findSmallest(float f, float s);
void display(float& f, float& s, float& small);
其中f表示第一个数字,s表示第二个数字。 结果应保留在屏幕上,并出现以下提示,该提示将显示在屏幕的右下角: 敲击任何关键继续...... 用户输入密钥后,屏幕将被清除,菜单将再次显示。 L或l(for Largest)选项将调用名为largst()的函数,该函数将提示用户输入两个双精度并调用函数findLargestt(),该函数将计算并返回集合中的最大数字。找到最大数字后,将调用函数display()(来自最大()函数)并使用下面显示的格式显示输入的数字和最小数字。 n1 = xxx.xxxx,n2 = yy.yyyy,最大的是zzz.zzzz 其中n1是第一个数字,n2是第二个数字。 x,y和z是实际数字的占位符。请注意,小数点后需要四位有效数字。
要使用的函数原型是:
void largest(void);
double findLargest(double f, double s);
void display(double& f, double& s, double& large);
其中f表示第一个数字,s表示第二个数字。 结果应保留在屏幕上,并出现以下提示,该提示将显示在屏幕的右下角: 敲击任何关键继续...... 用户输入密钥后,屏幕将被清除,菜单将再次显示。 注意:display()是一个重载函数。 Q或q(退出)选项将清除屏幕并将控件返回到Visual Studio IDE。
这是我到目前为止,我一直收到错误LNK2019和LNK1120
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
extern char menu(void);
void smallest(void);
float findsmallest(float f, float s);
void display (float f, float s, float& small);
void largest(void);
double findlargest(double f, double s);
void display (double f, double s, double& large);
int main(void)
{
float n1, n2;
char op;
while(1)
{
op = menu();
switch(op)
{
case 'h' :
case 'H' :
cout << "\t How to Operate Program\n"
<< "Select any of the menu items\n"
<< "h or H for Help\n"
<< "s or S for Smallest\n"
<< "Option will find the smallest number of two numbers\n"
<< "l or L for Largest\n"
<< "Option will find the largest number of two numbers\n"
<< "q or Q will terminate program\n";
case 's' :
case 'S' :
cout << "\n\nPlease input values for n1 and n2,";
cin >> n1 >> n2;
findsmallest (n1, n2);
break;
case 'l' :
case 'L' :
cout << "\n\nPlease input values for n1 and n2,";
cin >> n1 >> n2;
findlargest (n1, n2);
break;
}
}
return EXIT_SUCCESS;
}
extern char menu(void)
{
char menuOption;
int flag = 1;
while(flag == 1)
{
cout << "\th. Help\t\ts. Smallest\t\tl. Largest\t\tq. Quit\n\n\t\t\tmake"
<< " your selection ==> ";
cin >> menuOption;
switch(menuOption)
{
case 'h' :
case 'H' :
case 's' :
case 'S' :
case 'l' :
case 'L' :
flag = 0;
break;
case 'q':
case 'Q':
cout << "\nFinished..." << endl;
exit(0);
default :
cout << "\n\twrong choice, try again\n\n";
}
}
return menuOption;
}
答案 0 :(得分:4)
您为findLargest
,findsmallest
等声明了原型,但没有定义函数。
你必须定义它们。
答案 1 :(得分:0)
链接器错误也可能是由菜单功能声明引起的。
extern char menu(void);
修复extern菜单功能试试;
extern“c”char menu(void);