- •Главление
- •Часть 1 Решение уравнения 42
- •Практическое занятие №1 Тема: «Знакомство со средой разработки и элементами управления. Создание диалогового приложения».
- •1. Настройка среды разработки Microsoft Visual Studio 2008 при первом запуске.
- •2. Создание нового проекта.
- •3. Создание диалогового приложения.
- •3.1. Работа с мастером mfc Application Wizard. Шаг 1.
- •3.2. Работа с мастеромMfcApplicationWizard. Шаг 2. Выбор типа приложения.
- •4. Знакомство со средой разработки.
- •5.Создание диалогового окна при помощи визуальных средств разработки.
- •5.1. Знакомство с обозревателем ресурсов и окном свойств объекта. Настройка рабочего языка проектируемого приложения.
- •5.2. Работа с редактором ресурсов. Знакомство со способами удаления и размещения элементов управления в диалоговом окне.
- •5.3. Работа с окном свойств. Настройка свойств выбранных элементов управления.
- •5.4. Настройка внешнего вида диалогового окна.
- •5.5. Подготовка к работе элементов управления.
- •5.6. Выравнивание управляющих элементов и редактирование порядка переключения между элементами управления
- •6. Проверка работоспособности, компиляция и запуск программы
- •7. Связывание программного кода с элементами управления
- •7.1. Связывание переменных с элементами управления. Работа с мастером добавления новой переменной.
- •7.2. Удаление переменной, связанной с элементом управления
- •7.3. Создание обработчика события. Работа с мастером обработки событий.
- •8. Написание программного кода для выполнения вычислений.
- •9. Тестирование разработанного приложения.
- •10. Исправление ошибки, связанной сUnicode.
- •Задания для самостоятельного выполнения
- •Практическое занятие №2. Тема: «Приложения, использующие команды ветвления». Часть 1 Решение уравнения
- •Часть 2 Пример приложения, использующего операторswitch
- •Задание для самостоятельного выполнения
- •Практическое занятие №3 Тема: «Приложения, использующие команды повторения» Часть 1 Приложение, использующее циклwhile
- •Часть 2 Приложение, использующее циклdo-while
- •Часть 3 Отладка программы. Использование оператора trace
- •Приложение, использующее циклfor
- •Часть 4 Погрешность. Понятие погрешности. Проверка полученного значения на соответствие заданной точности.
- •Пример программы, вычисляющей сумму ряда
- •Задания для самостоятельного выполнения
- •Практическое занятие №4. Тема: «Вспомогательные функции. Работа с элементом управления Список(List Box)» Элемент управления «Список»
- •Добавление вспомогательной функции с помощью мастера.
- •Пример 1 Приложение, которое находит дружественные числа на заданном отрезке
- •Пример 2 Программа, которая находит заданное количество чисел, которые равны сумме квадратов двух натуральных чисел
- •Задания для самостоятельного выполнения
- •Практическое занятие №5.
- •Тема: «Работа со строками».
- •Пример 1
- •Программа, которая считывает строку символов, состоящую только из русских букв, точек и пробелов, и увеличивает длину строки, если она меньше заданной, вставляя пробелы между словами
- •Пример 2 Программа, которая считывает строку, содержащую числа, с проверкой допустимости вводимых символов и оставляет по 2 цифры после точки, удаляя остальные цифры дробной части
- •Пример 3 Программа, которая считывает строку символов и создает новую строку, заменяя заданное слово на другое.
- •Задания для самостоятельного выполнения
- •Практическое занятие №6 Тема: «Диалоговое приложение для работы с файлами»
- •6.1. Приложение, которое считывает файл посимвольно и делает ширину текста равной заданному количеству символов в строке.
- •6.2. Открытие и считывание файла. Нахождение строк, содержащих цифры. Запись нового файла
- •Задания для самостоятельного выполнения
- •Практическое занятие №7 Тема: «Однодокументное приложение для работы с файлами. Полосы прокрутки. Использование модальных диалоговых окон».
- •7.1. Простой пример однодокументного приложения для чтения текстового файла.
- •7.2. Простой пример однодокументного приложения, использующего класс документа для чтения файла и полосы прокрутки для отображения файла в окне.
- •Задания для самостоятельного выполнения
- •Практическое занятие №8 Тема: «Элементы графики. Использование мыши».
- •Задания для самостоятельного выполнения
6.2. Открытие и считывание файла. Нахождение строк, содержащих цифры. Запись нового файла
Создадим диалоговое приложение, которое открывает файл, считывает его и выводит содержимое файла на экран. Имя файла задается в отдельном диалоговом окне для открытия файлов. Найдем строки, содержащие цифры, и только их запишем в новый файл. Новый файл создается в том же каталоге, что и открытый для чтения. Имя нового файла составляется следующим образом: Имя старого файла + «New».
Создайте диалоговое приложение, разместив в главном диалоговом окне элементы управления так, как показано на рис. 82.
Рис. 82 Окончательный вид главного диалогового окна
Кнопка «Выход» - это «стандартная» кнопка Cancel, однако у нее мы изменили название. С текстовым полем для вывода содержимого файла свяжите переменную sFromFile типа CString. С полем для вывода строк, подлежащих записи, свяжите переменную сForFile типа CString. Добавьте в класс СВашаФамилияDlg глобальные переменные file, file2 типа CStdioFile с типом доступа public. С кнопкой «Открыть файл» свяжите обработчик события нажатия на кнопку.
Измените код обработчика события так, как показано ниже:
void CSolushkovDlg::OnBnClickedButton1()
{
UpdateData(true);
//строка для чтения файла по строкам
CString sTmp;
//строка для поиска цифр в считанных строках
CString sNumStr = "0123456789";
//инициализируем переменные
sTmp.Empty(); cForFile.Empty();
static char cFilter[] = "Text Files(*.txt; *.dat)|*.txt; *.dat|HeaderFiles(*.h)|*.h|SourceFiles(*.cpp)|*.cpp|AllFiles(*.*)";
CFileDialog dlgf(true, " ", "*.txt", OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, cFilter);
if (dlgf.DoModal()==IDOK)
{
CString name = dlgf.GetPathName();
//формируем имя файла для записи
//берем имя старого файла без расширения
CString name2 = name.Left(name.GetLength() - 4);
//добавляем к нему слово New
name2 += "New";
//создаваемый файл будет иметь то же расширение, что и открытый
name2 += name.Right(4);
BOOL flag;
if (file.m_pStream) {file.Close();}
file2.Open(name2, CFile::modeCreate);
file2.Close();
if (file.Open(name, CFile::modeRead) && file2.Open(name2, CFile::modeWrite))
{
do
{
flag = file.ReadString(sTmp);
//если в строке содержатся цифры
if(sTmp.FindOneOf(sNumStr)!=-1)
{
//выводим ее на экран для показания того, что будет записано
cForFile += sTmp;
//записываем найденные строки в файл
file2.SeekToEnd();
file2.WriteString(sTmp);
file2.WriteString("\n");
}
//выводим содержимое открытого файла на экран
sFromFile += sTmp;
} while(flag);
}
}
//закрываем файлы после работы с ними
file2.Close();
file.Close();
UpdateData(false);
}
Задания для самостоятельного выполнения
Создать диалоговое приложение, которое считывает текст из файла, выводит его на экран и подсчитывает, сколько раз заданный символ содержится в тексте. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла, выводит его на экран и подсчитывает, сколько раз заданное слово содержится в тексте. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, выравнивая длину каждой строки до заданной. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран первые n символов этого файла. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран первые n слов этого файла. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран первые n строк этого файла. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран первые n символов каждой строки. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран те строки, которые начинаются с заданной последовательности символов. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран первые n слов каждой строки. Если в строке меньше слов, то выводится вся строка. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран те строки, которые заканчиваются заданной последовательностью символов. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран те слова, которые начинаются на заданную последовательность символов. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран те слова, которые содержат заданную последовательность символов. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран те слова, которые заканчиваются заданной последовательностью символов. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем выводит на экран те слова, длина которых равна заданной. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем повторно выводит на экран текст из файла, вставляя после заданного символа пробел, если он еще не стоит там. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.
Создать диалоговое приложение, которое считывает текст из файла и выводит его на экран, затем повторно выводит его на экран, удаляя перед заданным символом пробелы, если они стоят там. Имя файла должно считываться с помощью специального диалогового окна для открытия файлов.