2401_84559320 2024-04-22 14:36 采纳率: 0%
浏览 10

用c++设计一个程序

设计一个打字程序。包括随机产生字符串,以及字符串比较和统计。通过此课题,熟练掌握数组、格式输出、字符串处理等。
课题要求:
(1)随机产生一字符串,每次产生的字符串内容、长度都不同;
(2)根据(1)的结果,输入字符串,判断输入是否正确,输出正确率;
13)具有输入输出界面。

  • 写回答

7条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-22 14:36
    关注

    引自免费微信小程序:皆我百晓生

    为了实现这个打字练习程序,我们将分为几个步骤编写代码:生成随机字符串、用户输入、比较字符串并计算正确率、以及显示界面。这里是一个完整的C++代码示例:

    #include <iostream>
    #include <string>
    #include <cstdlib>
    #include <ctime>
    
    // 生成随机字符串的函数
    std::string generateRandomString(int length) {
        std::string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        std::string randomString;
        srand(time(0)); // 设置随机数种子
    
        for (int i = 0; i < length; ++i) {
            randomString += chars[rand() % chars.size()];
        }
    
        return randomString;
    }
    
    // 比较两个字符串并计算正确率
    double compareStrings(const std::string& original, const std::string& input) {
        int correctChars = 0;
        int totalChars = original.length();
    
        for (size_t i = 0; i < totalChars; ++i) {
            if (original[i] == input[i]) {
                correctChars++;
            }
        }
    
        return static_cast<double>(correctChars) / totalChars;
    }
    
    int main() {
        std::cout << "欢迎来到打字练习程序!\n";
    
        while (true) {
            int stringLength;
            std::cout << "请输入您想要练习的字符串长度(1-20): ";
            std::cin >> stringLength;
    
            if (stringLength < 1 || stringLength > 20) {
                std::cerr << "无效的长度,请重新输入!\n";
                continue;
            }
    
            std::string originalString = generateRandomString(stringLength);
            std::cout << "请开始打字:'" << originalString << "'\n";
    
            std::string userInput;
            std::getline(std::cin, userInput);
    
            double accuracy = compareStrings(originalString, userInput);
            std::cout << "您的正确率为:" << accuracy * 100 << "%\n\n";
        }
    
        return 0;
    }
    

    这段代码首先定义了一个名为generateRandomString的函数,用于生成指定长度的随机字符串。然后定义了compareStrings函数,它接收两个字符串作为参数,并返回它们之间的正确率。

    在主函数中,我们创建了一个无限循环,以便用户可以进行多次练习。首先提示用户输入他们想要练习的字符串长度,然后根据用户的选择生成随机字符串。接着,让用户输入他们认为正确的字符串,然后调用compareStrings函数计算正确率,并输出结果。

    注意,这个程序没有包含退出条件,如果你想添加一个退出条件,可以在主循环中加入相应的逻辑,例如检查用户的某个特殊输入,或者在一定次数后自动结束。

    将上述代码保存为typing_practice.cpp,然后使用C++编译器编译并运行它:

    g++ typing_practice.cpp -o typing_practice
    ./typing_practice
    

    现在你应该有了一个简单的打字练习程序,它可以随机生成字符串并计算用户的打字正确率。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月22日