函数中的 cin 和 cout 问题

Issue with cin's and cout's in functions

本文关键字:cout 问题 cin 函数      更新时间:2023-10-16

我的菜单驱动程序调用函数时遇到问题。编译器告诉我,当我试图执行程序时,函数中的所有cin、cout和endl语句都是错误的。关于如何解决这个问题有什么建议吗?

编辑

它给我的错误是,cout、cin和endl都是未声明的标识符。

#include <iostream>
#include <cmath>
using namespace std;

    double ic(double inches, double centimeters)
    {
        cout << "Enter inches" << endl;
        cin >> inches;
        centimeters = 2.54*inches;
        return centimeters;
    }
    double ci(double centimeters, double inches)
    {
        cout << "Enter centimeters" << endl;
        cin >> centimeters;
        inches = centimeters * .3937007874;
        return inches;
    }
    double fim(int feet, double inches, double meters)
    {
        cout << "Enter feet " << endl;
        cin >> feet;
        cout << "Enter inches " << endl;
        cin >> inches;
        inches = feet * 12 + inches;
        meters = inches / 39.370;
        return meters;
    }
    double mfi(double meters, int feet, double inches)
    {
        feet = 0;
        inches = 0;
        meters = 0;
        cout << "Enter meters. " << endl;
        cin >> meters;
        inches = meters * 39.37;
        while (inches > 12)
        {
            if (inches > 12)
                inches = inches - 12;
            feet++;
        }
        return feet, inches;
    }

int main()
{
    double inches, meters, centimeters;
    int exit = 1, feet;
    char choice;
    while (exit == 1)
    {
        cout << "Basic Conversion Calculator" << endl
            << "a. Inches to centimeters" << endl
            << "b. Centimeters to inches" << endl
            << "c. Feet and inches to meters" << endl
            << "d. Meters to feet and inches" << endl
            << "e. Quit" << endl;

        cout << "Insert Option:";
        cin >> choice;

        switch (choice)
        {
        case 'a':  case 'A':
            centimeters = ic(inches, centimeters);
            cout << centimeters << "cm" << endl;
            break;
        case 'b': case 'B':
            inches = ci(centimeters, inches);
            cout << inches << "in" << endl;
            break;
        case 'c': case 'C':
            meters = fim(feet, inches, meters);
            cout << meters << "m" << endl << endl;
            break;
        case 'd': case 'D':
            feet = mfi(meters, feet, inches);
            inches = mfi(meters, feet, inches);
            cout << feet << " ft and " << inches << "in" << endl;
            break;
        case 'e': case 'E':
            exit = 0;
            break;
        default:
            cout << "Input Error!" << endl;
        }
    }
    return 0;
}

我把你的代码复制到我的visual studio中,它运行得很好!:)

它确实有另一个问题,为了让它发挥作用,我自己解决了这个问题:变量"双英寸、米、厘米;int英尺;"在您给它们任何值之前都会在开关中使用。您可以将它们都设为0,因为您无论如何都会从函数中的用户那里获得新值。

希望我能帮上忙!祝你好运