Замена слова из текста на слово из списка

Мне нужно отредактировать текст так, что бы с большой буквы начинались только первые слова предложения и имена, которые есть в списке. Список у меня - это массив char. У меня получилось всё, кроме замены слова. Прошу Вас помочь мне!

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


using namespace std;

int main()
{ 
    char str2[][5] = { "Alex", "Kira", "Vlad" };

    char str[256];
    cout << "Stroka: ";
    
    gets_s(str);
    str[0] = toupper(str[0]);
    
    for (int i = 1; i < strlen(str); i++) {
        if (str[i] == '.' || str[i] == '!' || str[i] == '?') {
            i++;
            if (str[i] == ' ') {
                i++;
                str[i] = toupper(str[i]);
            }
            else {
                str[i] = toupper(str[i]);
            }
        }
        else {
            if (str[i] != ' ') {
                str[i] = tolower(str[i]);
            }
        }
    }
    cout << str << endl;

}

Ответы (0 шт):