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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Циклические алгоритмы http://www.cyberforum.ru/cpp-beginners/thread555396.html
Здравствуйте :) У меня вопросы по двум задачам, я знаю как начинать, но не знаю как завершить :( Если кто сможет, помогите, пожалуйста :) 1)Из заданной квадратной матрицы действительных чисел размером n удалить строку и столбец на пересечении которых расположен минимальный элемент данной матрицы. Сформировать новую матрицу размером (n - 1) и вывести ее по строкам. 2)Задан массив...
C++ помогите пожалуйста А. Создать файл, содержащий сведения об ассортименте обуви в магазине фирмы. Структура записи- артикул, наименование, количество, стоимость одной пары. Количество записей -25 Артикул начинается с буквы D- для дамской обуви, М-для мужской, Р- для детской. Б. Определить наличие в файле обуви артикула Х , узнать её стоимость, вывести ассортиментный список дамской обуви с указанием наименования и... http://www.cyberforum.ru/cpp-beginners/thread555385.html
C++ нужно прогнать код через С++ Сode Bloks
если не трудно,прогоните код,у меня вылазиет какая-то ошибка,что-то не так с компилятором,не могу понять что это,гуглил,не помогает.нужен экзешник данной проги для курсовой #include<stdio.h> #include<math.h> #include<conio.h> main()
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 = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0); PROCESSENTRY32 pro; ZeroMemory(&pro, sizeof(PROCESSENTRY32)); pro.dwSize = sizeof(PROCESSENTRY32);
C++ Протоколы передачи информации Какой протокол передачи информации лучше для онлайн-игры: UDP или TCP? И почему? подробнее

Показать сообщение отдельно
Kirill Losev
3 / 3 / 0
Регистрация: 01.10.2011
Сообщений: 249
22.04.2012, 19:37     контроль размера строки при замене слов
Выполняю задание по замене в строке одного заданного слова на другое. При вводе слова, на которое будем менять, пользователь ведь может ввести что-то вроде этого: "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[], который содержит слово, которое я хочу поменять
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru