c++ - 随机将字符转换为大写的函数
问题描述
我正在重温在线课程中的一个练习,我们创建了一个“鲸鱼翻译器”,它检查用户输入的每个字符并仅提取/返回元音。
我认为将返回的值随机大写会很有趣,所以整个事情会有点像 Dory 说话的鲸鱼(寻找 Nemo)所以我创建了一个函数来获取每个字符并根据是否为随机数将它们转换为大写是奇数还是偶数。问题是我无法让程序承认或使用我的功能。否则运行良好。
有人可以告诉我我哪里出错了吗?
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
char converter(char);
int main() {
std::cout << "WeELCooOmE ToOOoO the WHaALe translaAtoOor \n";
std::cout << "\n PlEaAsE EnntEer yoOur text tOo beEE trAanslaAateEd \n\n";
std::string input;
std::getline(std::cin, input);
std::cout << "\n";
std::vector<char> vowels;
vowels.push_back('a');
vowels.push_back('e');
vowels.push_back('i');
vowels.push_back('o');
vowels.push_back('u');
std::vector<char> whale_talk;
for (int i = 0; i < input.size(); i++) {
for (int j = 0; j < vowels.size(); j++) {
if (input[i] == vowels[j]) {
whale_talk.push_back(input[i]);
}
}
}
std::cout << "HeEre iS yOoUr translaAtiOn..\n\n";
for (int k = 0; k < whale_talk.size(); k++) {
converter(whale_talk[k]);
std::cout << whale_talk[k];
}
std::cout << "\n";
}
char converter(char x) { //function to convert characters toupper based on random number generation.
int rando = rand() % 100;
if (rando % 2 == 0) {
x = toupper(x);
return x;
}
else {
return x;
}
}
解决方案
推荐阅读
- sql - 如何从 select 进行 Oracle SQL 更新?
- weblate - 如何设置 weblate 来处理带有 resx 文件的 .net 项目
- amazon-web-services - 如何使用 AWS CLI 在 S3 存储桶中一次删除多个图像
- vb.net - vb.net 如何从 String 解析到 DateTime
- ios - Apple Watch - 以编程方式获取元素的宽度 - WKInterfaceTable、WKInterfaceGroup
- ansible - 在循环中的模板查找中使用 item 变量
- php - PHP Parent Class is a DB connection:由于继承而多次使用会影响性能吗?
- python-3.x - 我的网站上有一个注册提醒。我该如何处理
- javascript - Vue JS方法没有触发
- asp.net-mvc - 错误类型错误:无法读取未定义的属性“名称”(离子 4)