C++ 家庭作业给我带来了问题

C ++ Homework giving me problems

本文关键字:来了 问题 家庭作业 C++      更新时间:2023-10-16

我是新手C++我需要家庭作业方面的帮助。这是我必须做的

开发流程图,然后编写一个菜单驱动的C++程序,该程序使用多个用户定义的函数、重载函数和引用。

程序执行后,屏幕将被清除,下面显示的菜单将出现在屏幕顶部并居中。菜单项说明如下。

帮助最小最大戒烟

H 或 h(用于帮助(选项将调用一个名为 help(( 的函数,该函数将显示一个帮助屏幕。帮助屏幕应指导用户如何与程序交互、要输入的数据类型以及程序将产生什么结果。每个帮助屏幕都应保留在显示器上,直到用户按下任何键。处理用户的输入后,屏幕将被清除并再次显示菜单。S 或 s(表示最小(选项将调用名为 smallest( ( 的函数,该函数将提示用户输入两个浮点数并调用函数 findSmallest((,该函数将计算并返回集合中的最小数字。找到最小数字后,将调用函数 display(((来自 smallest(( 函数(,并使用如下所示的格式显示输入的数字和最小数字。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(表示最大(选项将调用名为 largst( ( 的函数,该函数将提示用户输入两个双精度值并调用函数 findLargestt((,该函数将计算并返回集合中的最大数字。找到最大数字后,将调用函数 display(((来自 largest(( 函数(,并使用如下所示的格式显示输入的数字和最小数字。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 Programn"
                         << "Select any of the menu itemsn" 
                         << "h or H for Helpn"
                         << "s or S for Smallestn"
                         << "Option will find the smallest number of two numbersn"
                         << "l or L for Largestn"
                         << "Option will find the largest number of two numbersn"
                         << "q or Q will terminate programn";
            case 's' :
            case 'S' :
                    cout << "nnPlease input values for n1 and n2,";
                    cin >> n1 >> n2;
                    findsmallest (n1, n2);
                    break;
            case 'l' :
            case 'L' :
                    cout << "nnPlease 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. Helptts. Smallestttl. Largestttq. Quitnntttmake"
                 << " 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 << "ntwrong choice, try againnn";            
            }             
        }    
        return menuOption;
    }

您声明了findLargestfindsmallest等的原型,但没有定义函数。你必须定义它们。

  • 链接器错误也可能是由菜单函数声明引起的。

    外部字符菜单(无效(;

  • 要修复外部菜单功能,请尝试;

    外部"C"字符菜单(无效(;