Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

контроль размера строки при замене слов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Циклические алгоритмы http://www.cyberforum.ru/cpp-beginners/thread555396.html
Здравствуйте :) У меня вопросы по двум задачам, я знаю как начинать, но не знаю как завершить :( Если кто сможет, помогите, пожалуйста :) 1)Из заданной квадратной матрицы действительных чисел...
C++ помогите пожалуйста А. Создать файл, содержащий сведения об ассортименте обуви в магазине фирмы. Структура записи- артикул, наименование, количество, стоимость одной пары. Количество записей -25 Артикул начинается с... http://www.cyberforum.ru/cpp-beginners/thread555385.html
C++ нужно прогнать код через С++ Сode Bloks
если не трудно,прогоните код,у меня вылазиет какая-то ошибка,что-то не так с компилятором,не могу понять что это,гуглил,не помогает.нужен экзешник данной проги для курсовой #include<stdio.h> ...
C++ Упорядочить текст по длине строки по убыванию
помогите пожалуйста =) текст: I vpilsya komar kak raz Tetke pryamo v praviy glaz. Povariha poblednela, Obmerla i okrivela. Slugi, svatiya i sestra S krikom lovyat komora.
C++ Список процессов http://www.cyberforum.ru/cpp-beginners/thread555333.html
Надо написать диспетчер задач. Список процессов я получаю QQueue<PROCESSENTRY32> deq; if (deq.size() != 0) deq.clear(); HANDLE shot =...
C++ Протоколы передачи информации Какой протокол передачи информации лучше для онлайн-игры: UDP или TCP? И почему? подробнее

Показать сообщение отдельно
Kirill Losev
3 / 3 / 0
Регистрация: 01.10.2011
Сообщений: 249

контроль размера строки при замене слов - C++

22.04.2012, 19:37. Просмотров 245. Ответов 0
Метки (Все метки)

Выполняю задание по замене в строке одного заданного слова на другое. При вводе слова, на которое будем менять, пользователь ведь может ввести что-то вроде этого: "hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh", из-за чего программа аварийно завершится.
Для того, чтобы это предотвратить, я написал вот такой кусок кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
......
int size = 256;
char zamena[size];
int ch = 0; //для интерфейса с пользователем(выводит "поле" "Ввод: " если допущена ошибка при вводе)
while(1)
{
    if(ch > 0)
        cout << "Ввод: ";
    cin >> zamena;
    if(strlen(string) + strlen(zamena) - strlen(slovo) >= 256)
    {
        cout << "Слишком длинное слово для замены. Исправьтесь и повторите ввод.\n";
        ch++;
        continue;
    }
    else
        break;
}
......
Проблема заключается в том, что если пользователь введет то, что представлено выше, то программа укажет на ошибку и предложит ввести данные заново. Но после этого, даже когда ввожу один символ для замены, программа все равно выдает ошибку.

Вот и, собственно, вопрос: почему так происходит?

Заранее всех благодарю!

Добавлено через 4 минуты
Дополнение: даже бывает так, что и вводит, но присваивает часть символов из массива zamena[] и массив slovo[], который содержит слово, которое я хочу поменять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru