制作数字记忆程序的更有效方法

艾玛迪斯

我正在开发一个打印随机德语单词的程序,然后用户输入数字,如果正确,它会增加一个分数,否则它什么都不做。我仍然是一个初学者,所以它只是很多 if 语句,有没有一种方法可以让我只拥有一个具有最少数字的函数,然后计算机将它们随机组合在一起,同时还能从错误的答案中分辨出正确的答案?

我怎样才能制作一个随机的德语单词生成器,而不必为每个数字都做一个 if 语句?

~编辑1

start:
string zero = "Null", one = "Eins", two = "Zwei", three = "Drei", four = "Vier", five = "Funf";
int ans, score = 0;
srand(time(0));          
int x = rand() % 5;     
if (x == 0)
{
    cout << zero;
    cin>>ans
        if (ans == 0)
        {
            score = score + 1;
            goto start;
        }
        else
    goto start;
}
if (x == 1)
{
    cout << one;
    goto start;
}

我尝试这样做的方法是将最少数量的数字放在某处,然后计算机将一组数字拉出并打印出来,然后用户输入数字,如果他们正确,他们的分数就会增加。

例如

-输出:hundertsechsundzwanzig
-输入:126
正确

某程序员哥们

与我知道的其他语言不同,德语中数字的组合方式有一些逻辑。例如“sechs und dreißig”、“sechs und zwanzig”等。很像英文的“thirty6”和“twenty6”,只是数字的顺序有点不同。

这意味着您可以通过使用三个随机数(每个在0之间9)并将它们每个用作三个数组的索引来轻松解决您的问题也许是这样的:

std::string const hundreds[10] = {
    "",
    "hundert",
    "zweihundert",
    // etc...
};

std::string const tens[10] = {
    "",
    "",  // Special case for the tens
    "und swanzig",
    "und dreißig",
    // etc...
}

std::string const ones[10] = {
    "null",
    "ein",
    "zwei",
    // etc...
};

unsigned hundred_digit = get_random_number_between_0_and_9();
unsigned ten_digit = get_random_number_between_0_and_9();
unsigned one_digit = get_random_number_between_0_and_9();

std::string number = hundreds[hundred_digit] + ' ' + ones[one_digit] + ' ' + tens[ten_digit];

正如上面的评论中提到的,如果ten_digit是,1那么你需要一些特殊的处理。不过还是可以用数组解决。one_digit零的特殊情况以及其他极端情况也很有用。但希望你能掌握这一切的一般要点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

哪种方法查找重复的整数更有效?

来自分类Dev

有更有效的方法吗?

来自分类Dev

编写jQuery函数的更有效方法

来自分类Dev

更有效的方法,而不是使用重复的if语句

来自分类Dev

解析嵌套列表元素的更有效方法

来自分类Dev

哪个更有效?

来自分类Dev

从服务更新UI的更有效方法?

来自分类Dev

检查鼠标边界的更有效方法

来自分类Dev

比函数引用更有效的方法?

来自分类Dev

使循环更有效

来自分类Dev

距离市中心最近的更有效方法

来自分类Dev

比ifelse更有效的数字比较方式?

来自分类Dev

有没有更有效的方法来用树形图计数字符串的实例?

来自分类Dev

列出组合的更有效方法

来自分类Dev

制作Unicode转义码的更有效方法

来自分类Dev

选择功能的更有效方法

来自分类Dev

更有效的迭代方法

来自分类Dev

在熊猫中制作序数虚拟列的更有效方法?

来自分类Dev

有没有更有效的方法使用递归函数检查数字是否为质数?

来自分类Dev

比{{}}更有效的在模板中调用Angular方法的方法?

来自分类Dev

制作JButton的更有效方法

来自分类Dev

Django注释-更有效的方法?

来自分类Dev

更有效的循环

来自分类Dev

根据参数制作更有效的SP

来自分类Dev

使循环更有效

来自分类Dev

创建阵列的更有效方法

来自分类Dev

列出组合的更有效方法

来自分类Dev

使用 .text() 将字母/数字序列插入多个子跨度标签。有没有更有效的方法?

来自分类Dev

复制代码的更有效方法