Лабораторная работа №7
Создание программы обработки строк.
Цель: Научится обрабатывать строки (массивов символов) в С++, на примере задачи записи введенной строки с конца.
Задача: Создать приложение с формой, которое вводит некоторую строку и затем выводит ее с конца. Организовать функцию выхода из программы.
Порядок выполнения:
- Создать проект с формой.
- Задать имя формы Name=Form1
- Задать надпись в верхней части окна Form1->Caption= “ Запись строки с конца”
- На форму вынести элемент главного меню, задать пункт Файл-Выход и действие Form1->Close();
- На форму вынести элемент Edit: Name= Edit1, Text=Edit1.
- На форму вынести элемент Label: Name= Label1, Captiion=*. Параметры шрифта выбираются на свое усмотрение.
- На форму вынести кнопку Button и задать ей имя Button1, надпись “ Переписать”
- На событие OnClick кнопки Button1 записать код:
char r;
char txt[80] ="";
Edit1->Text=Edit1->Text+" ";
strcpy(txt, Edit1->Text.t_str());
int l = strlen(txt);
for (int i = 0; i < l/2; i++)
{
r = txt[i];
txt[i] = txt[l-i-1];
txt[l-i-1] = r;
}
Label1->Caption = txt;
- Подключить модуль <stdio.h>
- Запустить программу.
Пояснения к коду программы:
Подключаемый модуль:
#include <string.h> //подключаются функции над строками
На кнопку Вычислить:
char r; //объявляется символьная переменная r
char txt[80] =""; // объявляется символьный массив txt с размером 80 элементов
Edit1->Text=Edit1->Text+" "; /*к содержимому однострочного окна редактирования Edit1 добавить символ пробела*/
strcpy(txt, Edit1->Text.t_str()); /*скопировать содержимое однострочного окна редактирования Edit1 в массив txt*/
int l = strlen(txt); //определяется длина строки в массиве txt и это значение присваивается переменной целого типа l */
for (int i = 0; i < l/2; i++) /* открыть цикл в котором переменная i=0 целого типа увеличивается каждый раз на 1 пока i < l/2 */
{ //начало цикла для i
r = txt[i]; //выполняется действие r = txt[i]
txt[i] = txt[l-i-1]; //выполняется действие txt[i] = txt[l-i-1]
txt[l-i-1] = r; //выполняется действие txt[l-i-1] = r
} //конец цикла для i
Label1->Caption = txt; //значение txt выводится в надписи Label1
Главное меню:
Form1->Close(); //закрыть форму Form1 (закрыть программу)
Анимация выполнения работы:
Pr7.exe (8 MБ) Скачать