上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

求助,帮帮孩子吧!

[复制链接]
  • TA的每日心情
    开心
    2025-9-16 07:23
  • 签到天数: 91 天

    [LV.6]常住居民II

    28

    主题

    93

    回帖

    125

    积分

    中级工程师

    积分
    125

    油中3周年

    发表于 昨天 17:38 | 显示全部楼层 | 阅读模式
    悬赏400油猫币未解决
    求助各位哥哥们,本人将要参加科技创新大赛,有没有哪位大佬帮忙改改代码的。
    高中牲没时间了。
    还没有实现的功能如下:
    1·删除文件功能不够全面,希望加个选择复制象。直接复制地址。
    2·希望加个鼠标指示功能。
    3.优化一下排版。
    使用的是cpp,谢谢。
    1. #include <iostream>
    2. #include <cstdlib>
    3. #include <limits>
    4. #include <cstdio>
    5. #include <cstring>
    6. #include <unistd.h>

    7. #define MAX_PATH_LENGTH 512

    8. void displayWelcomeMessage(bool firstTime = false) {
    9.     system("cls");
    10.     system("color 0A");  // 使用亮绿色
    11.     std::cout << "\n"
    12.               << "╔════════════════════════════════════════════════╗\n"
    13.               << "║                                                ║\n"
    14.               << "║            欢迎使用 Cmd 辅助使用器             ║\n"
    15.               << "║                                                ║\n"
    16.               << "║                   版本 1.0                     ║\n"
    17.               << "║                                                ║\n"
    18.               << "║                作者:PM 同志                   ║\n"
    19.               << "║                                                ║\n"
    20.               << "╚════════════════════════════════════════════════╝\n\n"
    21.               << "  这是一个用于系统管理和文件操作的辅助工具\n\n"
    22.               << "  主要功能模块:\n\n"
    23.               << "  ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐\n"
    24.               << "  │   1. 系统管理   │ │   2. 文件管理   │ │   3. 高级选项   │\n"
    25.               << "  │ ·查看系统信息  │ │ ·文件删除      │ │ ·注册表编辑    │\n"
    26.               << "  │ ·打开控制面板  │ │ ·系统清理      │ │                 │\n"
    27.               << "  │ ·系统修复      │ │ ·磁盘扫描      │ │                 │\n"
    28.               << "  │                 │ │ ·任务管理      │ │                 │\n"
    29.               << "  └─────────────────┘ └─────────────────┘ └─────────────────┘\n\n"
    30.               << "  使用说明:在主菜单中输入数字(1-4)选择相应功能\n"
    31.               << "            在子菜单中根据提示输入相应数字\n\n";

    32.     if (firstTime) {
    33.         std::cout << "按Enter键继续...";
    34.         std::cin.get();
    35.     }
    36. }

    37. int getUserChoice(int min, int max) {
    38.     int choice;
    39.     while (true) {
    40.         std::cout << "请输入你的选择(" << min << "-" << max << "):";
    41.         std::cin >> choice;

    42.         if (std::cin.fail() || choice < min || choice > max) {
    43.             std::cin.clear();
    44.             std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    45.             std::cout << "无效的选择,请重新输入。\n";
    46.         } else {
    47.             std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    48.             return choice;
    49.         }
    50.     }
    51. }

    52. int deleteFileSafely(const char *filePath) {
    53.     if (remove(filePath) == 0) {
    54.         return 1; // 文件删除成功
    55.     } else {
    56.         return 0; // 文件删除失败
    57.     }
    58. }

    59. void deleteFile(const char *filePath) {
    60.     if (access(filePath, F_OK) != -1) {
    61.         std::cout << "将要删除文件: " << filePath << "\n";
    62.         std::cout << "请确认删除操作 (Y/N): ";

    63.         char confirm;
    64.         std::cin >> confirm;

    65.         if (confirm == 'Y' || confirm == 'y') {
    66.             if (deleteFileSafely(filePath)) {
    67.                 std::cout << "文件已成功删除。\n";
    68.             } else {
    69.                 std::cout << "删除失败: " << filePath << "\n";
    70.             }
    71.         } else {
    72.             std::cout << "删除操作已取消。\n";
    73.         }
    74.     } else {
    75.         std::cout << "文件不存在: " << filePath << "\n";
    76.     }
    77. }

    78. void systemRepair() {
    79.     while (true) {
    80.         std::cout << "系统修复\n";
    81.         std::cout << "1. 系统文件检查\n";
    82.         std::cout << "2. 磁盘检查\n";
    83.         std::cout << "3. 系统清理\n";
    84.         std::cout << "4. 创建系统还原点\n";
    85.         std::cout << "0. 返回\n";
    86.         
    87.         int repairChoice = getUserChoice(0, 4);
    88.         
    89.         switch(repairChoice) {
    90.             case 1:
    91.                 std::cout << "正在运行系统文件检查...\n";
    92.                 system("sfc /scannow");
    93.                 std::cout << "系统文件检查完成。\n";
    94.                 break;
    95.             case 2:
    96.                 std::cout << "正在安排磁盘检查...\n";
    97.                 system("chkdsk C: /F /R /X");
    98.                 std::cout << "磁盘检查已安排在下次重启时进行。\n";
    99.                 break;
    100.             case 3:
    101.                 std::cout << "正在运行系统清理...\n";
    102.                 system("cleanmgr /sagerun:1");
    103.                 std::cout << "系统清理完成。\n";
    104.                 break;
    105.             case 4:
    106.                 std::cout << "正在创建系统还原点...\n";
    107.                 system("wmic.exe /Namespace:\\\\root\\default Path SystemRestore Call CreateRestorePoint "My Restore Point", 100, 7");
    108.                 std::cout << "系统还原点已创建。\n";
    109.                 break;
    110.             case 0:
    111.                 return;
    112.         }
    113.         
    114.         std::cout << "按Enter键继续...\n";
    115.         std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    116.     }
    117. }

    118. void systemManagement() {
    119.     while (true) {
    120.         std::cout << "系统管理\n";
    121.         std::cout << "1. 查看系统信息\n";
    122.         std::cout << "2. 打开控制面板\n";
    123.         std::cout << "3. 系统修复\n";
    124.         std::cout << "0. 返回\n";

    125.         int choice = getUserChoice(0, 3);

    126.         switch (choice) {
    127.             case 1:
    128.                 system("msinfo32.exe");
    129.                 std::cout << "系统信息已查看。\n";
    130.                 break;
    131.             case 2:
    132.                 system("control");
    133.                 std::cout << "控制面板已打开。\n";
    134.                 break;
    135.             case 3:
    136.                 systemRepair();
    137.                 break;
    138.             case 0:
    139.                 return;
    140.         }
    141.         
    142.         std::cout << "按Enter键继续...\n";
    143.         std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    144.     }
    145. }

    146. void fileManagement() {
    147.     while (true) {
    148.         std::cout << "文件管理\n";
    149.         std::cout << "1. 删除文件\n";
    150.         std::cout << "2. 清理\n";
    151.         std::cout << "3. 扫描\n";
    152.         std::cout << "4. 任务管理\n";
    153.         std::cout << "0. 返回\n";

    154.         int choice = getUserChoice(0, 4);

    155.         switch (choice) {
    156.             case 1: {
    157.                 char filePath[MAX_PATH_LENGTH];
    158.                 std::cout << "请输入要删除的文件路径: ";
    159.                 std::cin.ignore();
    160.                 std::cin.getline(filePath, sizeof(filePath));
    161.                 deleteFile(filePath);
    162.                 break;
    163.             }
    164.             case 2: {
    165.                 std::cout << "清理\n";
    166.                 std::cout << "1. 垃圾清理\n";
    167.                 std::cout << "2. 磁盘清理\n";
    168.                 std::cout << "0. 返回\n";
    169.                 int cleanChoice = getUserChoice(0, 2);
    170.                 if (cleanChoice == 1) {
    171.                     system("cleanmgr.exe /sagerun:1");
    172.                     std::cout << "垃圾清理已完成。\n";
    173.                 } else if (cleanChoice == 2) {
    174.                     system("dfrgui.exe");
    175.                     std::cout << "磁盘清理已完成。\n";
    176.                 }
    177.                 break;
    178.             }
    179.             case 3:
    180.                 system("cmd /c dir C:\\ /s");
    181.                 std::cout << "C盘扫描已完成。\n";
    182.                 break;
    183.             case 4:
    184.                 system("taskmgr");
    185.                 std::cout << "任务管理器已打开。\n";
    186.                 break;
    187.             case 0:
    188.                 return;
    189.         }
    190.         
    191.         std::cout << "按Enter键继续...\n";
    192.         std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    193.     }
    194. }

    195. void advancedOptions() {
    196.     while (true) {
    197.         std::cout << "高级选项\n";
    198.         std::cout << "1. 打开注册表\n";
    199.         std::cout << "0. 返回\n";

    200.         int choice = getUserChoice(0, 1);

    201.         if (choice == 1) {
    202.             system("regedit");
    203.             std::cout << "注册表编辑器已打开。\n";
    204.         } else if (choice == 0) {
    205.             return;
    206.         }
    207.         
    208.         std::cout << "按Enter键继续...\n";
    209.         std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    210.     }
    211. }

    212. int main() {
    213.     displayWelcomeMessage(true); // 第一次显示欢迎信息,并等待按键

    214.     while (true) {
    215.         displayWelcomeMessage(); // 每次循环显示欢迎界面,但不等待按键
    216.         
    217.         std::cout << "请选择一个选项:\n";
    218.         std::cout << "1. 系统管理\n";
    219.         std::cout << "2. 文件管理\n";
    220.         std::cout << "3. 高级选项\n";
    221.         std::cout << "4. 退出\n";

    222.         int mainChoice = getUserChoice(1, 4);

    223.         switch (mainChoice) {
    224.             case 1:
    225.                 systemManagement();
    226.                 break;
    227.             case 2:
    228.                 fileManagement();
    229.                 break;
    230.             case 3:
    231.                 advancedOptions();
    232.                 break;
    233.             case 4:
    234.                 std::cout << "退出程序。\n";
    235.                 return 0;
    236.         }

    237.         std::cout << "操作完成,请选择下一步操作:\n";
    238.     }

    239.     return 0;
    240. }
    复制代码



    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表