C++ 随机单词(萌新练习项目)

news2024/9/22 17:26:11

目录

项目名称

项目目标

功能描述

技术要点

示例代码

扩展建议

学习资源


项目名称

随机单词生成器(Random Word Generator)

项目目标

  • 学习C++基本语法和数据结构。
  • 练习使用C++标准库中的随机数生成功能。
  • 理解容器(如std::vector)的使用方法。
  • 实践简单的用户界面设计。

功能描述

  1. 单词存储:使用std::vector存储一组单词。
  2. 随机选择:从单词列表中随机选择一个单词。
  3. 用户交互:允许用户输入命令来获取随机单词或退出程序。
  4. 输出结果:显示选中的单词。

技术要点

  • C++基础:了解C++的基本语法,如变量声明、控制流(if语句、循环)。
  • 标准库:熟悉<iostream><vector><cstdlib><ctime>等头文件的使用。
  • 随机数生成:使用std::rand()srand()函数生成随机数。
  • 容器操作:学习如何向std::vector中添加元素,以及如何遍历容器。

(想学没环境的可以看看我以下文章)

Windows - C 语言开发环境 llvm-mingw + vscode (零基础超适用)

为什么很多人都无法解决 VSCode C 系列调试问题 (经验分享 有用)

示例代码

#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>

// 假设我们有一个简单的单词结构
struct Word {
    std::string word;
    std::string translation;
    std::string example;
};

int main() {
    // 初始化单词数据库
    std::vector<Word> words = {
        {"apple", "苹果", "I ate an apple yesterday."}, // 我昨天吃了一个苹果。
        {"book", "书", "She is reading a book about history."}, // 她正在阅读一本关于历史的书籍。
        {"cat", "猫", "The cat is sleeping on the couch."}, // 猫正在沙发上睡觉。
        {"dog", "狗", "His dog is very friendly."}, // 他的狗非常友好。
        {"elephant", "大象", "Elephants are the largest land animals."}, // 大象是陆地上最大的动物。
        {"flower", "花", "She loves flowers and often buys some for her room."}, // 她喜欢花,经常买一些来装饰房间。
        {"giraffe", "长颈鹿", "A giraffe can reach leaves high up in trees."}, // 长颈鹿能够到树上很高的叶子。
        {"hat", "帽子", "Don't forget to take your hat; it's cold outside."}, // 不要忘记戴帽子;外面很冷。
        {"ice", "冰", "The ice cream is melting in the hot sun."}, // 冰淇淋在炎热的阳光下融化了。
        {"jacket", "夹克", "He wore a leather jacket to the party."}, // 他穿着皮夹克去参加派对。
        {"kite", "风筝", "The children were flying kites in the park."}, // 孩子们在公园里放风筝。
        {"lemon", "柠檬", "She squeezed some lemon into the tea."}, // 她挤了一些柠檬汁到茶里。
        {"monkey", "猴子", "The monkey climbed up the tall tree."}, // 猴子爬上了高高的树。
        {"nose", "鼻子", "She touched her nose to make sure she wasn't dreaming."}, // 她摸了摸鼻子,确定自己不是在做梦。
        {"orange", "橙子", "Oranges are rich in vitamin C."}, // 橙子富含维生素C。
        {"pencil", "铅笔", "I need a pencil to write this down."}, // 我需要一支铅笔来记下这个。
        {"queen", "女王", "The queen was crowned in a grand ceremony."}, // 女王在一个盛大的仪式中被加冕。
        {"rabbit", "兔子", "The rabbit hopped quickly across the road."}, // 兔子快速地跳过了马路。
        {"snake", "蛇", "The snake slithered silently through the grass."}, // 蛇悄无声息地在草丛中滑行。
        {"tree", "树", "The tree's branches provided shade for the picnickers."}, // 树的枝条为野餐者提供了阴凉。
        {"umbrella", "伞", "She opened her umbrella to shield herself from the rain."}, // 她打开了伞以遮挡雨水。
        {"violin", "小提琴", "He played a beautiful tune on his violin."}, // 他用小提琴演奏了一首美妙的旋律。
        {"window", "窗户", "The window was open to let in the fresh air."}, // 窗户开着以让新鲜空气进来。
        {"xylophone", "木琴", "The musician played a lively song on the xylophone."}, // 音乐家用木琴演奏了一首活泼的歌曲。
        {"yacht", "游艇", "They sailed their yacht along the coast."}, // 他们沿着海岸航行他们的游艇。
        {"zebra", "斑马", "The zebra's stripes are unique to each individual."} // 斑马的条纹对每个个体来说都是独一无二的。
    };

    // 随机种子
    srand(static_cast<unsigned int>(time(nullptr)));

    // 随机选择一个单词进行测试
    int index = rand() % words.size();
    Word currentWord = words[index];

    // 显示单词和例句
    std::cout << "Word: " << currentWord.word << std::endl;
    std::cout << "Example: " << currentWord.example << std::endl;

    // 这里可以添加更多的交互逻辑,如检查用户输入、播放发音等

    return 0;
}

扩展建议

  • 增加单词数量:扩充单词列表,包含更多单词。
  • 用户界面:添加简单的文本菜单,允许用户选择获取更多单词或退出。
  • 功能增强:添加功能,如显示单词释义、发音等。
  • 错误处理:增加对用户输入的基本错误处理。

学习资源

  • C++官方文档和在线教程。
  • 编程社区和论坛,如Stack Overflow。
  • 相关书籍,如《C++ Primer》。

(到底啦)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1973961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

由浅入深的了解进程(5)--环境变量

环境变量 前言环境变量1、更多的环境变量及添加和删除2、整体理解环境变量系统 前言 在上一篇文章中简单的介绍了环境变量&#xff0c;但是没有讲述的比较全面了&#xff0c;所以现在再写一篇来介绍环境变量。 环境变量 在上一篇文章中&#xff0c;我们已经简单的学习了如何…

“网络身份证”来了,淘宝、微信、小红书等已上线试点版功能

“网络身份证时代”即将开启。 近日&#xff0c;公安部、国家网信办共同起草《国家网络身份认证公共服务管理办法&#xff08;征求意见稿&#xff09;》公开征求意见后&#xff0c;未来是否需要“持证上网”一时间引发热议。而在征求意见的期间&#xff0c;小红书、淘宝、微信等…

linux-环境变量,进程地址空间

1.环境变量 1.1基本概念 环境变量 (environment variables) 一般是指在操作系统中用来指定操作系统运行环境的一些参数 如&#xff1a;我们在编写 C/C 代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪里&#xff0c;但 是照样可以链接…

Stable Diffusion绘画 | 文生图设置详解—随机种子数(Seed)

随机种子数&#xff08;Seed&#xff09; Midjourney 也有同样的概念&#xff0c;通过 --seed 种子数值 来使用。 每次操作「生成」所得到的图片&#xff0c;都会随机分配一个 seed值&#xff0c;数值不同&#xff0c;生成的画面就会不同。 默认值为 -1&#xff1a;每次随机分…

速度规划之:起点速度和终点速度不为零的非对称梯形速度规划

起点速度和终点速度不为零的非对称梯形速度规划 一、引言二、理论基础1. 梯形速度规划概述2.数学建模- 变量定义- 约束关系- 公式推导 三、计算过程1.只存在减速段2.只存在加速段3.存在加速段和减速段4.存在加速度段、匀速段和减速段 四、仿真实现五、优缺点优点缺点 六、总结 …

电销外呼系统是如何实现高效触客?

首先我们都有个疑问&#xff1f; 什么是外呼系统&#xff0c;有什么用处 简单来说就是解决打电话高频封号问题&#xff0c;提升销售工作效率&#xff0c;搞笑筛选一线客户 沃创云电销外呼系统通过一系列智能化、自动化的功能和技术手段&#xff0c;实现了高效触客。以下是该系…

MySQL数据库学习笔记

1、数据库的相关概念 数据库是存储数据的仓库,数据是有组织的进行存储 (DataBase)DB. 数据库管理系统:操作和管理数据库的大型软件 DataBase Mangement System(DBMS) SQL 操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。 1、Oracle 2、MySQL 3…

LLC数字控制TMS320F28034,3-DSP的timer定时器配置介绍

***配套代码工程*** LLC数字控制TMS320F28034&#xff0c;3-DSP的timer定时器配置介绍 LLC数字控制TMS320F28034&#xff0c;3-DSP的timer定时器配置介绍1 TMS320F280341.1 系统时钟大小1.2 TMS320F28034 芯片系统时钟源介绍 2 时钟库函数说明示例3 TMS320F28034手写定时器功能…

武汉流星汇聚:亚马逊平台消费者众多,助力中国卖家销售额大幅增长

在全球电商的浩瀚星空中&#xff0c;亚马逊凭借其庞大的消费者规模和强大的市场影响力&#xff0c;为无数商家特别是中国卖家提供了前所未有的发展机遇。近年来&#xff0c;越来越多的中国卖家选择通过亚马逊平台&#xff0c;将优质产品直接送达全球消费者的手中&#xff0c;并…

【系统架构设计师】二十三、通信系统架构设计理论与实践②

目录 二、5G 网络边缘计算 三、存储网络架构 四、软件定义网络架构 五、网络构建关键技术 5.1 网络的高可用性 5.2 IPv4 与 IPv6 融合组网技术 六、网络构建和设计方法 6.1 网络需求分析 6.2 网络技术遴选及设计 6.3 层次化网络模型设计 6.4 网络安全控制技术 6.5 …

基于Gromacs的蛋白质与小分子配体相互作用模拟教程

在生命科学的广阔领域中&#xff0c;蛋白质与小分子配体之间的相互作用扮演着至关重要的角色。这些相互作用不仅影响着生物体内的各种生命活动&#xff0c;如信号传导、代谢调控和药物作用等&#xff0c;同时也是药物设计和开发的核心内容。因此&#xff0c;深入理解并模拟这些…

模板进阶【C++】

文章目录 模板的特殊化函数模板特化的作用 函数模板的的特殊化语法&#xff1a;函数模板特化的要求 类模板的特殊化类模板的特殊化的要求类模板的特殊化的语法全特化偏特化实例化部分模板参数对基本类模板&#xff08;母板&#xff09;的模板参数进行限制 非类型模板参数非类型…

ESP32低功耗蓝牙服务端的库介绍和实例演示

ESP32低功耗蓝牙服务端的库介绍和实例演示 1.概述 前面的文章介绍了经典蓝牙库和使用示例&#xff0c;这篇文章介绍低功耗蓝牙库的使用。 这篇文章不介绍低功耗蓝牙实现的架构知识&#xff0c;只介绍 如何使用它的库文件实现应用开发只介绍服务端蓝牙开发方式 2.低功耗蓝牙…

R语言大尺度空间数据分析模拟预测及可视化:地统计与空间自相关、空间数据插值、机器学习空间预测、空间升降尺度、空间模拟残差订正、空间制图等

目录 专题一 R语言空间数据介绍及数据挖掘关键技术 专题二 R语言空间数据高级处理技术 专题三 R语言多维时空数据处理技术、数据清洗整合和时间序列分析 专题四 R语言地统计与空间自相关、空间插值方法 专题五 R语言机器学习与空间模型预测及不确定性评估 专题六 R语言空…

htsjdk库ReferenceSequenceFile接口介绍

ReferenceSequenceFile 是 HTSJDK 库中的一个接口,用于表示参考基因组文件。它定义了读取参考基因组序列的标准方法。这个接口使得不同类型的参考基因组文件(如 FASTA 格式)能够以统一的方式进行访问。 ReferenceSequenceFile 接口主要功能 访问参考序列: 提供获取参考基因…

如何在 Windows/Mac/iPhone/Android 上将 PDF 转换为 Word

PDF&#xff08;便携式文档格式&#xff09;是一种流行的格式&#xff0c;广泛用于在数字电子设备中呈现文档。输出文件小且兼容性强&#xff0c;使 PDF 如此受欢迎。但是&#xff0c;编辑 PDF 文件并非免费。您无需购买 PDF 编辑器&#xff0c;而是可以将 PDF 转换为 Word 进行…

嘉兴网站建设的思路

随着互联网的快速发展&#xff0c;网站已经成为企业宣传和推广的重要工具。作为浙江省的一个重要城市&#xff0c;嘉兴具有得天独厚的地理位置和经济实力&#xff0c;因此开展嘉兴网站建设具有重要意义。在进行网站建设的过程中&#xff0c;需要有一定的思路和规划&#xff0c;…

跑深度学习模型Ⅱ:一文安装正确pytorch及dgl

如果要用到GPU &#xff0c;先看这篇安装并保证cuda可用。跑深度学习模型I&#xff1a;一文正确使用CUDA-CSDN博客 啊每次都是pytorch版本问题引发的一系列错误&#xff01; 1. 查看自己的cuda版本 nvcc --version 可以看到我的cuda版本是11.8 nvidia-smi 查看NVIDIA驱动版…

智能变“智障”?云鲸扫地机器人频发故障引质疑

近年来&#xff0c;扫地机器人市场以其智能化技术革新和不断升级的产品功能&#xff0c;成功吸引了消费者的目光&#xff0c;甚至打破了家电行业的价格僵局&#xff0c;实现了价格与价值的双重攀升。然而&#xff0c;在这股智能家电的浪潮中&#xff0c;云鲸扫地机器人却因其频…

【C++从小白到大牛】栈和队列(优先级队列)

目录 引言&#xff1a; 使用方法篇&#xff1a; stack&#xff1a; queue priority_queue 使用方法&#xff1a; 模拟实现篇&#xff1a; stack&#xff1a; 原码&#xff1a; queue 原码&#xff1a; priority_queue 插入和删除数据的思想&#xff1a; 仿函数实…