函数中的 cin 和 cout 问题
Issue with cin's and cout's in functions
我的菜单驱动程序调用函数时遇到问题。编译器告诉我,当我试图执行程序时,函数中的所有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,因为您无论如何都会从函数中的用户那里获得新值。
希望我能帮上忙!祝你好运
相关文章:
- C++正确书写和打印复数精度 (cout) 的问题?
- 在 cout 中将线条表单文件与自定义文本组合时出现问题
- 二进制表达式 cout 问题的无效操作数
- C++ do/while 循环和 if/else: 骰子游戏 -- 第 75 行错误:"Cout"之前的预期"While" -- 如何解决这个问题?
- Cout 不是 STD 的成员,以及有关 C++ 的其他问题
- COUT和特定的字符串长度算术操作C 的问题
- 从输入创建最大可能的数字 - 使用 cout 实现问题
- C++中带有 cout 运算符问题的向量
- 关于如何在 cout 中处理布尔值的考试问题
- 从printf-scanf转换为cin-cout时出现问题
- 函数中的 cin 和 cout 问题
- 编程:cout问题的原则和实践
- 获取文件数据后刷新 cout 的问题
- 错误:cout 未声明,并且给我带来了编译问题
- 关于 cin/cout 过载的简单问题 4.
- <iostream> 标准:函数内的cout不打印(修复:用于循环问题)
- COUT只在内存中打印位置的c++问题
- 用cout显示双精度的c++问题
- 关于cout和cin的c++简单代码问题
- Printf调用与std::thread混淆,但std::cout没有问题