- •Часть 1 Строки и структуры
- •Содержание
- •Порядок выполнения лабораторных работ
- •Оборудование, технические средства, инструмент
- •6.2 Работа с предложениями текста
- •6.3 Работа со структурами и бинарными файлами
- •Void create(void) // Создание файла
- •Void view(void) // Просмотр файла
- •6.4. Задание 1
- •6.5 Задание 2
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ И. И. ПОЛЗУНОВА
Л. Ю. Качесова
ПРОГРАММИРОВАНИЕ НА С++
Часть 1 Строки и структуры
Методические указания к лабораторным работам
по дисциплине “Программирование”
БАРНАУЛ 2011
УДК 681.3.06:519.682(0.75.5)
Качесова Л.Ю. Программирование на языке С++. Часть 1: Методические указания к лабораторным работам по дисциплине “Программирование” для студентов направления 23. 01.00 – Информатика и вычислительная техника./Алт. гос. техн. ун-т им. И. И. Ползунова. – Барнаул: Изд-во АлтГТУ, - 2011.- 13 с.
Рассмотрены и одобрены
на заседании кафедры САПР
Протокол № от
Содержание
Порядок выполнения лабораторных работ 4
Требования к оформлению лабораторных работ 4
Требования к защите лабораторных работ 4
Лабораторная работа №6. Строки и структуры 5
6.1 Работа со словами текста 5
6.2 Работа с предложениями текста 6
6.3 Работа со структурами и бинарными файлами 9
6.4. Задание 1 13
6.5 Задание 2 15
-
Порядок выполнения лабораторных работ
Для выполнения лабораторной работы нужна предварительная подготовка:
-
знакомство с темой и целью лабораторной работы;
-
изучение необходимых к выполнению лабораторной работы теоретических сведений и примеров программ;
-
знакомство с заданием к лабораторной работе, постановка задачи индивидуального варианта, обдумывание алгоритма и программной реализации задачи.
Выполнение лабораторной работы означает: набор, отладка и тестирование программы на компьютере, а также демонстрация преподавателю блок – схемы алгоритма решения задачи и безошибочного выполнения программы.
Оборудование, технические средства, инструмент
Лабораторные работы выполняются в компьютерном классе, оснащенном персональными компьютерами. На компьютерах должна быть установлена система программирования, поддерживающая создание консольных программ на С++, например, Geany, Visual C++ или другие.
-
Требования к оформлению лабораторных работ
Отчет по лабораторной работе оформляется в виде принтерных распечаток на сброшюрованных листах формата А4. Он должен содержать:
-
титульный лист;
-
задание к лабораторной работе;
-
постановка задачи;
-
алгоритм решения задачи в виде блок-схемы;
-
листинг программы;
-
тестовые примеры, иллюстрирующие все варианты работы программы.
-
-
Требования к защите лабораторных работ
После выполнения лабораторную работу защищают, т. е. поясняют алгоритм работы программы и отвечают на контрольные вопросы.
На защиту не допускаются студенты, не оформившие отчет о выполненной лабораторной работе.
-
Лабораторная работа №6. Строки и структуры
Цель работы: получить практический опыт написания программ по обработке информации с использованием строк и структур.
-
6.1 Работа со словами текста
В листинге 6.1 представлена программа, которая определяет, сколько раз встретилось заданное слово в текстовом файле, длина строки в котором не превышает 80 символов (рис. 6.1). Текст не содержит переноса слов. Слово – это последовательность алфавитно-цифровых символов, после которых следует знак пунктуации, разделитель или признак конца строки. Результат выполнения программы представлен на рис. 6.2.
Первый вызов функции strtok в операторе 1 формирует адрес первого слова строки line. Он сохраняется в переменной tok. Функция strtok заменяет на NULL разделитель, находящийся после найденного слова, поэтому в операторе 2 можно сравнивать на равенство искомое и выделенное слово. В операторе 3 выполняется поиск следующего слова в той же строке. Для этого в функции strtok задается в качестве первого параметра NULL.
Листинг 6.1 Подсчет количества вхождений слова в текст
#include <iostream>
#include <string>
using namespace std;
int main(void)
{ const int len = 81;
char word[len], line[len];
char delims[]=",.!?/|)(*:; "; //разделители слов
FILE * f;
f=fopen("D:\\FileTXT\\text.txt","r");
if (f != NULL)
{ cout << "Вв. слово для поиска: \n";
cin >> word;
char *tok;
int kol = 0;
while(!feof(f))
{ fgets(line,sizeof(line), f);
tok=strtok(line, delims); //оператор 1
while (tok != NULL)
{ if (!strcmp(tok, word)) kol++;//оператор 2
tok= strtok(NULL,delims); //оператор 3
}
}
fclose(f);
cout<<"Кол-во вхождений заданного слова = "<<kol;
cout << endl;
} else cout << "Файл не найден!\n";
}
Рисунок 6.1 – Файл с текстом
Рисунок 6.2 – Результат выполнения программы.