我需要確定用戶輸入到系統中的內容。基本上,如果我要求用戶輸入他的年齡,那麼用戶可能會輸入浮點值,整數值或雙精度值。如果用戶輸入整數值,那麼程序應該存儲一個整數,否則存儲雙精度浮點數。以下是我寫的一個基本程序,用戶提示輸入他的年齡。 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