You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++实现vector禁止用户输入重复整数的方法

C++控制台菜单添加数字去重实现方案

核心修改思路

原有代码直接将用户输入存入vector,没有查重环节,仅需在'A'/'a'分支中增加循环校验逻辑即可实现禁止重复值存入的需求,无需改动其他已实现的菜单功能:

  • 引入<algorithm>头文件,调用std::find方法快速判断输入整数是否在list_items中存在
  • 拿到用户输入后先做查重,重复则提示错误并要求重新输入,直到拿到不重复的整数再执行存入操作
  • 保留原有大小写兼容逻辑,大写A、小写a都可正常触发添加功能

修改后的'A'/'a'分支代码

case 'a':
case 'A':
    while (true) {
        cout << "Enter an integer to add to the list: ";
        cin >> list_adder;
        // 查找输入值是否已存在于列表中
        auto it = find(list_items.begin(), list_items.end(), list_adder);
        if (it != list_items.end()) {
            // 检测到重复值,提示后重新进入输入环节
            cout << "The number " << list_adder << " already exists, please enter a different integer." << endl;
        } else {
            // 无重复值,存入列表后跳出输入循环回到主菜单
            list_items.push_back(list_adder);
            cout << list_adder << " added" << endl;
            break;
        }
    }
    break;

编译注意事项

  • 必须在代码头部添加#include <algorithm>,否则find方法无法正常编译
  • 校验逻辑放在while(true)无限循环中,只有输入不重复的合法整数时才会break跳出循环,避免重复值存入

内容的提问来源于stack exchange,提问作者ABDULLAH -

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 07:24:17