【问题描述】声明一个datatype(数据类型)类,该类能够根据用户的输入,确定输入的数据类型,能处理包含字符型、整形、浮点型3种类型的数据,并给出合理的输出。
提示:需要进行构造函数的重载
【输入形式】给用户选择,当输入1时,选择输入整型;输入2时,输入字符型;选择3时,输入浮点型。不考虑其他错误情况
【输出形式】输入该数据以及该数据的类型
【样例输入1】
2
c
【样例输出1】character:c
【样例输入2】
1
12
【样例输出2】int:12
【样例输入3】
3
1.44F
【样例输出3】float:1.44
【样例说明】请一定使用有关类和对象的相关知识来完成。
【评分标准】
代码如下:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<istream>
#include<iomanip>
#include<ostream>
#include<list>
#include<vector>
#include<set>
#include<map>
#include<fstream>
#include<stack>
#include<ctime>
#include<deque>
#include<queue>
#include <sstream>
#pragma warning (disable:4996)
using namespace std;
class datatype {
public:
void print() {
cout << type << ":" << value << endl;
}
private:
string type;
string value;
public:
datatype(int i) {
type = "int";
value = to_string(i);
}
datatype(char c) {
type = "character";
value = c;
}
datatype(float f) {
type = "float";
value = to_string(f);
value = value.substr(0, 4);
}
};
int main() {
int choice;
cin >> choice;
if (choice == 1) {
int i;
cin >> i;
datatype dt(i);
dt.print();
}
else if (choice == 2) {
char c;
cin >> c;
datatype dt(c);
dt.print();
}
else if (choice == 3) {
float f;
cin >> f;
datatype dt(f);
dt.print();
}
return 0;
}