温馨提示×

c++ example如何处理复杂逻辑

c++
小樊
82
2024-09-27 18:04:47
栏目: 编程语言

在C++中处理复杂逻辑通常涉及到多个条件和循环的使用,以及函数和类的组织。下面是一个示例,展示了如何处理复杂的逻辑:

#include <iostream>
#include <vector>
#include <string>

// 函数声明
bool is_valid(const std::string& s);
void process_data(std::vector<std::string>& data);

int main() {
    std::vector<std::string> data = {"hello", "world", "123", "456", "!@#", "abc"};

    // 处理数据
    process_data(data);

    return 0;
}

// 函数定义:检查字符串是否有效
bool is_valid(const std::string& s) {
    if (s.empty()) {
        return false;
    }

    for (char c : s) {
        if (!isdigit(c)) {
            return false;
        }
    }

    return true;
}

// 函数定义:处理数据
void process_data(std::vector<std::string>& data) {
    std::vector<std::string> valid_data;
    std::vector<std::string> invalid_data;

    // 遍历数据并分类
    for (const std::string& s : data) {
        if (is_valid(s)) {
            valid_data.push_back(s);
        } else {
            invalid_data.push_back(s);
        }
    }

    // 输出有效数据
    std::cout << "Valid data:" << std::endl;
    for (const std::string& s : valid_data) {
        std::cout<< s << std::endl;
    }

    // 输出无效数据
    std::cout << "Invalid data:" << std::endl;
    for (const std::string& s : invalid_data) {
        std::cout<< s << std::endl;
    }
}

代码解释

  1. 函数声明和定义

    • is_valid 函数用于检查字符串是否只包含数字。
    • process_data 函数用于处理数据,将有效和无效的数据分别存储在两个不同的向量中。
  2. 主函数

    • 创建一个包含多个字符串的向量 data
    • 调用 process_data 函数处理这些数据。
  3. is_valid 函数

    • 检查字符串是否为空。
    • 遍历字符串中的每个字符,检查是否都是数字。
  4. process_data 函数

    • 创建两个向量 valid_datainvalid_data 用于存储有效和无效的数据。
    • 遍历输入数据,使用 is_valid 函数分类数据。
    • 输出有效和无效的数据。

通过这种方式,可以将复杂的逻辑分解为多个小函数,每个函数负责一个特定的任务,从而使代码更易于理解和维护。

0