确定C++中用户输入的类型,而无需任何标准库函数
Determine type of user input in C++ without any standard library functions
我正在"帮助"一个朋友做一些他想用C++做的事情,但由于限制,我被困住了:他不应该使用任何库函数。目标是获取用户输入并确定输入是大写字母、小写字母、数字还是其他字符(如 *、& 或 #)。
这是我到目前为止所拥有的:
#include<string>
#include<vector>
#include<iostream>
using namespace std;
int main() {
string x = "";
vector<string> uppercaseAlphabet = {"A","B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
vector<string> lowercaseAlphabet = {"a","b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
cout<<"nEnter a character.n";
getline(cin, x);
if(std::find(uppercaseAlphabet.begin(), uppercaseAlphabet.end(), x) != uppercaseAlphabet.end()) {
cout<<"The input was an uppercase character.";
}
if(std::find(lowercaseAlphabet.begin(), lowercaseAlphabet.end(), x) != lowercaseAlphabet.end()) {
cout<<"The input was a lowercase character.";
}
return 0;
}
这并不优雅,但到目前为止它有效。我的问题是找出用户何时输入数字。解决这个问题的最佳方法是什么?
我也不知道我是否通过使用 find
、begin
和 end
之类的东西违反了规范。如果您认为这是不允许的,请告诉我。
这是我第一次编写任何C++所以我确定我的代码不遵循任何约定。也可能仅仅因为using namespace std;
线而变得糟糕。
我假设输入总是应该是一个字符。您可以通过比较 ASCII 值来确定字符的类型。https://en.wikipedia.org/wiki/ASCII
#include<string>
#include <cstdio>
#include<iostream>
using namespace std;
int main() {
char x;
cout<<"nEnter a character.n";
x=getchar();
if(x>='A' && x <= 'Z') {cout<<"Uppercase character";}
else if(x>='a' && x <= 'z') {cout<<"Lowercase character";}
else if(x>='0' && x <= '9') {cout<<"Number";}
else {cout<<"Other character";}
return 0;
}
相关文章:
- 库函数需要一个 std::function<void(void)>,如何传入类函数?
- 有没有一个 c++ gmp 库函数与 python gmpy2 库 divm(..) 函数相同?
- 好友库函数可以访问子数据
- 覆盖程序中的标准 C 库函数C++
- 是否有任何 C 标准函数将值"1"传递给所有 (%s)
- VS2017 #error: : snprintf 的宏定义与标准库函数声明冲突
- 在不使用内置库函数的情况下添加字符串,我做错了什么?
- 返回time()库函数的数据类型
- 将C++中的多个参数传递给MatLab共享库函数
- 在将匿名对象作为参数传递时,不会调用任何构造函数
- 从另一个动态链接库项目调用静态库函数
- 导入的库函数是否可以在内存中移动
- 带参数的线程调用库函数
- 在 MASM 中调用标准库函数
- char concat c++ 没有库函数
- 任何 GraphAttributes 函数调用上的 OGDF 段错误
- 确定C++中用户输入的类型,而无需任何标准库函数
- 2 升至 N 次幂,无需任何循环或递归或库函数
- 无需任何库函数即可将浮点数转换为字符串的有效方法
- 没有任何库的正弦函数