Это задание на c ++, над которым я работаю:
//Numbers Class
#ifndef NUMBERS_H
#define NUMBERS_H
#include<iostream>
#include<string>
#include<math.h>
using namespace std;
class Numbers
{
private:
static int number;
public:
void setNumber(int x)
{
number = x;
}
int getNumber() const
{
return number;
}
void print();
};
void Numbers::print()
{
static string lessThan20[21] = {"zero", "one", "two", "three",
"four", "five", "six", "seven",
"eight", "nine", "ten", "eleven",
"twelve", "thirteen", "fourteen",
"fifteen", "sixteen", "seventeen",
"eighteen", "nineteen", "twenty"};
static string tens[10] = {"zero", "ten", "twenty", "thirty",
"forty", "fifty", "sixty", "seventy",
"eighty", "ninety"};
static string hundred = "hundred";
static string thousand = "thousand";
int processedNumber;
int thousandsRemainder;
int hundredsRemainder;
int tensRemainder;
int singlesRemainder;
processedNumber = Numbers.getNumber(); \\ This line
processedNumber = abs(processedNumber);
thousandsRemainder= processedNumber / 1000;
if (thousandsRemainder > 1)
{
cout << lessThan20[thousandsRemainder] << " " << thousand << " ";
processedNumber -= thousandsRemainder * 1000;
}
hundredsRemainder = processedNumber / 100;
if (hundredsRemainder > 1)
{
cout << lessThan20[hundredsRemainder] << " " << hundred << " ";
processedNumber -= hundredsRemainder * 100;
}
if(processedNumber < 21)
{
cout << lessThan20[processedNumber];
}
else
{
tensRemainder = processedNumber/10;
cout << tens[tensRemainder] << " ";
processedNumber -= tensRemainder * 10;
if(processedNumber > 1)
cout << lessThan20[processedNumber];
}
} // End of class
#endif
Я новичок в работе с классами и прочитал много учебников, но я не могу найти подобный код, который мог бы поучиться, который помог бы мне с моей проблемой.
Моя проблема лежит на линии:
processedNumber = Numbers.getNumber();
Я не уверен, как присвоить значение числа для Обработанный номер. Как правильно присвоить значение число для числа обработанных?
Спасибо за ваши комментарии.