看似没用,其实更没用的一段c++程序

这是一个孩子姓名计算器,有一个没有的进度条。
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <chrono>
#include <thread>

void printProgressBar(int progress) {
    const int barWidth = 50;
    std::cout << "[";
    for (int i = 0; i < barWidth; ++i) {
        if (i < static_cast<int>(barWidth * progress / 100)) {
            std::cout << "=";
        } else {
            std::cout << " ";
        }
    }
    std::cout << "] " << progress << "%\r";
    std::cout.flush();
}

int main() {
    std::srand(static_cast<unsigned int>(std::time(0))); // 初始化随机数生成器

    std::string fatherName, motherName, childName;
    std::cout << "请输入父亲的名字: ";
    std::getline(std::cin, fatherName);
    std::cout << "请输入母亲的名字: ";
    std::getline(std::cin, motherName);

    std::cout << "正在计算孩子的名字...\n";
    int progress = 0;
    while (progress < 100) {
        printProgressBar(progress);
        std::this_thread::sleep_for(std::chrono::milliseconds(100 + std::rand() % 300)); // 随机延迟
        progress += std::rand() % 10 + 5; // 随机进度增加,确保进度条不会卡住
        if (progress > 100) progress = 100;
    }
    printProgressBar(100); // 完成进度条
    std::cout << std::endl;

    // 组合父姓和母姓作为孩子的名字
    childName = fatherName + motherName;

    std::cout << "孩子的名字是: " << childName << std::endl;

    return 0;
}

在这个程序中,我们使用std::this_thread::sleep_for来模拟进度条的更新延迟,并且确保进度条的进度在每次更新时至少增加5%,但不超过10%,以避免进度条卡住。最后,孩子的名字由父姓和母姓组合而成。

请确保你的编译器支持C++11或更高版本,因为程序中使用了C++11的特性。如果你的编译器不支持,你可能需要升级编译器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值