我被困在第3.3章使用C ++的原则和实践:
他提到: - 获取要运行的“名称和年龄”示例。然后,修改它以写出月份的年龄: 以年为单位读取输入并乘以(使用*运算符)12。将年龄读入a 允许可以为自己五岁半而自豪的孩子加倍 而不仅仅是五个。
这是我运行的名称和年龄示例,没有任何问题:
#include "std_lib_facilities.h"
int main()
{
cout << "Please enter your name and age.\n";
string name; //string variable
int age; //integer variable
cin >> name >> age; //reads string and integer
cout << "Hello, " << name << " (Age: " << age << ")\n";
}
之后,我尝试将年龄改为几个月而不是我能用这个来实现:
#include "std_lib_facilities.h"
int main()
{
cout << "Please enter your name and age\n";
string name;
int age;
cin >> name >> age;
cout << "Hello, " << name << " (Age: " << age * 12 << " Months Old)\n";
}
所以问题仍然存在,我如何将这个年龄读成一个双重的&#39;?虽然我设法让我的输出显示几个月的年龄,但我相信我还没有清楚地理解解决这个问题的方法。
答案 0 :(得分:4)
只需使用double
作为变量的类型来读取数据。
// What is this?
//#include "std_lib_facilities.h"
#include <iostream>
#include <string>
using std::cout;
using std::string;
using std::cin;
int main()
{
cout << "Please enter your name and age\n";
string name;
double age;
cin >> name >> age;
cout << "Hello, " << name << " (Age: " << age * 12 << " Months Old)\n";
return 0;
}
答案 1 :(得分:1)
只需将年龄宣布为双倍。你的问题应该解决了。
示例代码
#include "std_lib_facilities.h"
int main()
{
cout << "Please enter your name and age\n";
string name;
double age;
cin >> name >> age;
cout << "Hello, " << name << " (Age: " << age * 12 << " Months Old)\n";
}
现在程序应该没有任何问题。