Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаФИН kosh.doc
Скачиваний:
29
Добавлен:
15.02.2016
Размер:
3.16 Mб
Скачать

Пример 3 Программа, которая считывает строку символов и создает новую строку, заменяя заданное слово на другое.

Создайте диалоговое приложение и спроектируйте его как показано на рисунке.

Свяжите переменные с окнами редактирования как показано ниже.

IDC_EDIT1

CString str;

IDC_EDIT2

CString oldWord;

IDC_EDIT3

CString newWord;

IDC_EDIT4

CString rez

Добавьте функцию для кнопки OK и добавьте в нее код, показанный ниже.

void CstrChangeDlg::OnBnClickedOk()

{

UpdateData();

rez.Empty();

// из исходной строки в результирующую будем переписывать по одному символу

int L = str.GetLength();

for (int i = 0; i < L;) // проходим по исходной строке

{

// пробелы просто переписываем в результирующую строку:

while (i < L && str[i] == ' ') rez += str[i++];

CString tmp; // строка для хранения очередного слова

// переписываем слово в строку очередное слово:

while (i < L && str[i] != ' ') tmp += str[i++];

// если очередное слово из строки совпадает с заданным, заменяем его на новое:

if (tmp == oldWord) tmp = newWord;

rez += tmp; // переписываем слово в новую строку

}

UpdateData(false);

}

Задания для самостоятельного выполнения

  1. Из двух вводимых с клавиатуры строк, состоящих только из слов, запи­сан­ных латинскими буквами, разделенных запя­тыми и пробелами (с проверкой правильности ввода), создать третью строку, кото­рая должна содержать символы, присутствующие одновременно в обеих исходных строках. В ре­зультирующую строку каждый символ должен входить только один раз. Указание: используйте функцию Find().

  2. Из двух вводимых с клавиатуры строк, состоящих только из слов, записан­ных русскими буквами, разделенных точками и пробелами (с проверкой правильности ввода), создать третью строку, кото­рая должна содержать символы, присутствующие только во второй строке. В результирующую строку каждый символ должен входить только один раз. Указание: используйте функцию Find().

  3. Создать приложение, которое считывает строку текста, состоящую только из слов записанных латинскими буквами, разделенных запя­тыми и про­бе­лами (с проверкой правильности ввода). Если за за­пя­той не стоит пробел, вставить его и получившуюся строку вывести на экран.

  4. Создать приложение, которое считывает строку текста, состоящую только из слов записанных русскими буквами, разделенных точками и пробелами (с проверкой правильности ввода). Если перед точкой сто­ят пробелы, уда­лить их и получившуюся строку вывести на экран.

  5. Создать приложение, которое считывает строку текста, состоящую только из слов записанных латинскими буквами, разделенных точками и про­бе­лами (с проверкой правильности ввода). Если первое слово, идущее за точ­кой, начинается с маленькой буквы, заменить эту бук­ву большой и полу­чившуюся строку вывести на экран.

  6. Создать приложение, которое считывает строку текста, состоящую только из чисел, разделенных пробелами (с проверкой правильности ввода). Уда­лить лишние пробелы между числами, т.е. из нескольких идущих под­ряд пробелов оставить только один. Получившуюся строку вывести на эк­ран.

  7. Создать приложение, которое считывает строку текста, состоящую только из слов, записанных русскими буквами, разделенных пробела­ми (с про­вер­кой правильности ввода). Если в слове встречаются две идущие подряд боль­шие буквы, заменить вторую большую букву ма­лень­кой.

  8. Создать приложение которое считывает строку текста и подсчитыва­ет, сколько раз заданный символ встречается в этой строке. При вводе символа не позволять пользователю вводить более одного.

  9. Создать приложение, которое считывает две строки символов и про­веряет, является ли вторая строка анаграммой первой (т.е. можно ли получить вторую строку путем перестановки символов первой), например: "корт" и "крот". Указание: отсортируйте обе строки и сравните.

  10. Создать приложение, которое считывает строку символов, сос­тоящую только из цифр и латинских букв (с проверкой пра­виль­ности ввода). Вставить после каждого символа запятую и полученную стро­ку вывести на экран.

  11. Создать приложение, которое считывает строку текста, состоя­щую только из цифр и запятых (с проверкой правильности ввода). Удалить запятые из строки и результат вывести на экран.

  12. Создать приложение, которое считывает строку текста, состоя­щую только из русских букв и запятых (с проверкой правильности ввода). Заменить запятые пробелами и результат вывести на экран.

  13. Создать приложение, которое считывает строку текста, содер­жа­щую фа­милию, имя и отчество. Заменить фамилию на новую, которая вводится в другом окне редактирования. Полученную строку вывести на экран.

  14. Создать приложение, которое считывает строку текста и переносит первое слово в конец строки. Результат вывести на экран.

  15. Создать приложение, которое считывает строку текста и переносит пос­леднее слово в начало строки. Результат вывести на экран.

  16. Создать приложение, которое считывает строку текста и выводит на экран те слова, которые начинаются и заканчиваются на одну и ту же букву.

  17. Создать приложение, которое считывает строку текста и выводит на экран те слова, которые начинаются с цифры.

  18. Создать приложение, которое считывает строку текста и после второго слова вставляет новое, которое вводится в другом окне редактирования. Полученную строку вывести на экран.