我需要确定用户输入到系统中的内容。基本上,如果我要求用户输入他的年龄,那么用户可能会输入浮点值,整数值或双精度值。如果用户输入整数值,那么程序应该存储一个整数,否则存储双精度浮点数。以下是我写的一个基本程序,用户提示输入他的年龄。 atm我只能将年龄存储为函数中的整数。确定功能中用户的输入类型
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
void input(string,void *age);
int main()
{
int age;
input("What is your age : ", &age);
cout<<age;
system("PAUSE");
return EXIT_SUCCESS;
}
void input(string str,void *age)
{
int *pointer=(int*) age;
cout<<str;
cin>>*pointer;
}
我想在这里做的是 - 你看到函数指针中的指针,我希望程序明确指向用户输入的数据类型。例如,如果用户输入了一个浮点数,那么该函数应该指向一个浮点数并将其值存储为一个浮点数。但是,上面的代码并不完整,因为main()中的函数只允许int作为参数,我需要将其更改为接受任何类型的数据类型并进行相应的存储。
还有一件事情,只有当有一种方法来检查用户在将特定类型声明为特定类型之前输入的内容为int来存储“年龄”,那么我可以完成它。
你在想这个。如果您的程序可以接受非整数年龄段,则将其作为浮点数存储。 – 2014-10-29 00:49:46
有没有办法....? – 2014-10-29 01:20:28
12.5是一个浮点还是双点? – 2014-10-29 01:36:19