制作一个从函数返回字符串的数字拼写程序

Making a number spell program that returns a string from a function

本文关键字:字符串 返回 数字 程序 函数 一个      更新时间:2023-10-16

我对此很陌生,刚刚学习字符串,我想知道是否有人可以帮助我完成创建这个函数。 我正在尝试编写函数,以便它返回字符串值,但是当我将函数定义为字符串时,我不断收到错误。 我想在支票编写程序中使用此函数来返回始终低于 100 美元的金额。 我的数字拼写函数用作 void 函数,但我想将其用作返回字符串。但是,我似乎无法让函数返回字符串。 这是代码。 谢谢。

string spellNumber(int firstDigit, int secondDigit)
{
    string tens[] {"", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
    string teens[]{"", "eleven", "tweleve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
    string ones[]{"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
    if ((firstDigit == 0) && (secondDigit == 0))
        return "zero";
    if ((secondDigit > 0) && (secondDigit<10) && (firstDigit == 0))
        return ones[secondDigit];
    if (firstDigit == 1)
        return teens[secondDigit];
    if (firstDigit >1)
        return tens[firstDigit], ones[secondDigit];
}
  1. 首先,请确保包含std::string标头:

    #include <string>
    using namespace std;
    
  2. 您没有正确声明string数组。改变

    string tens[] {"", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
    string teens[]{"", "eleven", "tweleve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
    string ones[]{"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
    

    string tens[] = {"", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
    string teens[] = {"", "eleven", "tweleve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
    string ones[] = {"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};   
    
  3. 并且,对于

    return tens[firstDigit], ones[secondDigit];
                           ^
                           |                
                     comma operator
    

    您正在使用 comma operator ,它将始终返回第一个。我想这不是你想要的,改变它以适应你的目的。如果你想把它们"添加"在一起,你可以简单地使用

    return tens[firstDigit] + ones[secondDigit];