CharConverter неизвестные ошибки

Я создаю программу вот технические характеристики:

Создайте класс CharConverter, который выполняет различные операции со строками. Для этого он должен иметь следующие две открытые функции-члены.

Функция-член в верхнем регистре принимает строку и возвращает ее копию со всеми строчными буквами, преобразованными в верхний регистр. Если символ уже в верхнем регистре или не является буквой, его следует оставить в покое.

Функция члена ProperWords принимает строку слов, разделенных пробелами, и возвращает ее копию с первой буквой каждого слова, преобразованной в верхний регистр.

Напишите простую программу, которая использует класс. Это должно побудить пользователя ввести строку. Затем он должен вызвать функцию ProperWords и отобразить эту результирующую строку. Наконец, он должен вызвать функцию верхнего регистра и отобразить эту результирующую строку.

Я написал программу без модуляции, чтобы убедиться, что я все правильно преобразовал. Теперь, когда я пытаюсь модулировать, я получаю ошибки, я не знаю, что они означают при компиляции:

ошибки

вот мой код:

#include<iostream>
#include<string>
#include<vector>
#include<ctype.h>

using namespace std;

class CharConverter {

public:
void uppercase(string, int);
void properWords(string, int);

};

void CharConverter::uppercase(string myString, int s) {

s = myString.length();

for (int i = 0; i <= s; i++) {

myString[i] = toupper(myString[i]);

}

cout << myString << endl;

}

void CharConverter::properWords(string myString, int s) {

for (int i = 0; i <= s; i++) {
myString[i];

myString[0] = toupper(myString[0]);

if (myString[i] == ' ') {
myString[i + 1] = toupper(myString[i + 1]);
}
}

cout << myString << endl;
}int main() {

void properWords(string, int);
void uppercase(string, int);string sentence;
int size;

cout << "Enter a sentence you want converted to all uppercase letters and
set up with proper uppercase letters." << endl;
getline(cin, sentence);

size = sentence.length();

properWords(sentence, size);

uppercase(sentence, size);

return 0;
}

0

Решение

В начале основного

int main() {

void properWords(string, int);
void uppercase(string, int);

вы объявляете два Другой функции, а не часть CharConverter, И затем вы вызываете эти функции, а не те, которые вы определили ранее.

И поэтому компилятор (на самом деле компоновщик) жалуется, что не может найти эти функции, не являющиеся членами. И это правда, их не существует.

Теперь вы должны решить, нужен ли вам класс. В этом случае создайте объект класса и вызовите функции-члены. Или пропустите объявление класса и сделайте функции свободными функциями.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]