21xrx.com
2025-04-28 03:17:46 Monday
文章检索 我的文章 写文章
如何在C++中判断输入的姓名、学号和性别是否正确
2023-06-28 10:33:06 深夜i     27     0
C++ 判断 姓名 学号 性别

在C++中,判断输入的姓名、学号和性别是否正确是非常重要的。正确的输入可以保证程序的正常运行,而错误的输入则可能会导致程序出错或者无法得到正确的结果。下面介绍一些判断输入的方法。

1. 判断姓名是否正确

姓名的输入可能含有空格、特殊字符和数字等,因此需要使用正则表达式来判断。正则表达式可以用来表示一类字符的规则,例如匹配字母、数字、空格、特殊字符等。下面是一个示例代码,可以判断输入的姓名是否为纯字母,并且首字母大写:

#include <regex>
#include <iostream>
int main() {
  std::string name = "John Smith";
  std::regex pattern("[A-Z][a-zA-Z]*"); // 匹配纯字母,并且首字母大写
  if (std::regex_match(name, pattern))
    std::cout << "姓名输入正确" << std::endl;
   else
    std::cout << "姓名输入错误" << std::endl;
  
  return 0;
}

2. 判断学号是否正确

学号通常是由数字组成的,所以可以用isdigit函数判断输入的学号是否为数字。但是有些学号可能会有前缀或者后缀,这时候也需要使用正则表达式来判断。下面是一个示例代码,可以判断输入的学号是否为一个8位的数字:

#include <regex>
#include <iostream>
int main() {
  std::string id = "20210101";
  std::regex pattern("\\d{8}"); // 匹配8位数字
  if (std::regex_match(id, pattern))
    std::cout << "学号输入正确" << std::endl;
   else
    std::cout << "学号输入错误" << std::endl;
  
  return 0;
}

3. 判断性别是否正确

性别只有男和女两种情况,因此可以使用一个简单的if语句来判断输入的性别是否正确。下面是一个示例代码,可以判断输入的性别是否为男或女:

#include <iostream>
int main() {
  std::string gender = "女";
  if (gender == "男" || gender == "女")
    std::cout << "性别输入正确" << std::endl;
   else
    std::cout << "性别输入错误" << std::endl;
  
  return 0;
}

综上所述,以上是在C++中判断输入的姓名、学号和性别是否正确的三种方法。当然,在实际应用中,还需要根据具体的情况进行适当的修改和扩展。

  
  

评论区