Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

poi_labs

.pdf
Скачиваний:
15
Добавлен:
14.02.2015
Размер:
786.93 Кб
Скачать

количеством экземпляров больше 100 с выводом найденных записей на

экран.

3)Структура записей: Номер рейса (строка 5 символов), Пункт отправления

(строка 10 символов), Пункт назначения (строка 10 символов), Дни полетов (от 1 до 7). Запрос: Поиск рейсов, вылетающих из города

"Барнаул" в среду(3день) с выводом найденных записей на экран.

4)Структура записей: Ф.И.О. (строка 15 символов), Домашний адрес (строка

20 символов), Номер участка (целое число), Год рождения (1910..2010).

Запрос: Поиск всех граждан из списка, родившихся до 1980 года и номером участка = 55 с выводом найденных записей на экран.

5)Структура записей: Шифр товара (строка 5 символов), Наименование товара (строка 20 символов), Цена в руб. (вещественное число), Признак наличия или отсутствия. Запрос: Поиск всех товаров, имеющихся в наличии и цена которых не превышает 1500 руб., с выводом найденных записей на экран.

6)Структура записей: Ф.И.О. (строка 20 символов), Факультет (строка 5

символов), Группа (строка 6 символов), Год рождения(целое число).

Запрос: Поиск всех студентов, группы "ПОИ91", родившихся в 1992 году с выводом найденных записей на экран.

7)Структура записей: Ф.И.О. авторов (строка 20 символов), Название

(строка 20 символов), Год издания (целое число), Шифр (строка 8

символов). Запрос: Поиск книг, названия которых начинаются с буквы ‗П‘ и изданных до 1990 года с выводом найденных записей на экран.

8)Структура записей: Ф.И.О. авторов (строка 20 символов), Название

(строка 20 символов), Год издания (целое число), Шифр (строка 8

символов). Запрос: Поиск книг, поле шифр которых начинаются с буквы

‗Т‘ и изданных после 1990 года с выводом найденных записей на экран.

9)Структура записей: Номер рейса (целое число), Пункт полетов (строка 20

символов), Пункт назначения (строка 10 символов), Дни полетов (от 1 до

61

7). Запрос: Поиск всех рейсов с номерами большими, чем 50, и

вылетающими в "Краснодар", с выводом найденных записей на экран.

10)Структура записей: Ф.И.О. (строка 15 символов), Домашний адрес

(строка 30 символов), Номер участка (целое число), Год рождения

(1910..2010). Запрос: Поиск всех граждан, родившихся до 1970 года и фамилия которых начинается с буквы ‗П‘ с выводом найденных записей на экран.

11)Структура записей: Шифр книги (строка 5 символов), Ф.И.О. авторов

(строка 20 символов), Название (строка 15 символов), Год издания (целое число). Запрос: Поиск книг, изданных до 1950 году и шифром "СС11" с

выводом найденных записей на экран.

12)Структура записей: Шифр товара (строка 5 символов), Наименование

(строка 20 символов), Цена в руб. (вещественное число), Количество экземпляров (целое число). Запрос: Поиск товаров, имеющих цену не меньше 20000 руб. и количеством экземпляров больше 180 с выводом найденных записей на экран.

13) Структура записей: Номер рейса (строка 5 символов), Пункт отправления (строка 12 символов), Пункт назначения (строка 10

символов), Дни полетов (от 1 до 7). Запрос: Поиск рейсов, вылетающих из города "Барнаул" в 1 или 3 день недели с выводом найденных записей на экран.

14)Структура записей: Ф.И.О. (строка 15 символов), Домашний адрес

(строка 20 символов), Номер участка (целое число), Год рождения

(1910..2010). Запрос: Поиск всех граждан из списка , родившихся до 1980

года и номером участка не более 100 с выводом найденных записей на экран.

15) Структура записей: Шифр товара (строка 5 символов), Наименование товара (строка 20 символов), Цена в руб. (вещественное число), Признак наличия или отсутствия. Запрос: Поиск всех товаров , которых нет в

62

наличии и имеющих цену, не меньше 5000 руб.с выводом найденных

записей на экран.

16)Структура записей: Ф.И.О. (строка 20 символов), Факультет (строка 5

символов), Группа (строка 6 символов), Год рождения(целое число).

Запрос: Поиск всех студентов, группы "ПОИ91", родившихся до 1990 с

выводом найденных записей на экран.

17)Структура записей: Ф.И.О. авторов (строка 20 символов), Название

(строка 20 символов), Год издания (целое число), Шифр (строка 8

символов). Запрос: Поиск книг, фамилии авторов которых начинаются с буквы ‗В‘, и изданных после 1990 года с выводом найденных записей на

экран.

18)Структура записей: Ф.И.О. авторов (строка 20 символов), Название

(строка 20 символов), Год издания (целое число), Шифр (строка 8

символов). Запрос: Поиск книг, поле шифр которых начинаются с буквы

‗И‘ и изданных до 1990 года с выводом найденных записей на экран.

19)Структура записей: Номер рейса (целое число), Пункт полетов (строка

20 символов), Пункт назначения (строка 10 символов), Дни полетов (от 1

до 7). Запрос: Поиск всех рейсов с номерами меньшими, чем 100 и

вылетающими в из пункта "Адлер" с выводом найденных записей на экран.

20)Структура записей: Ф.И.О. (строка 15 символов), Домашний адрес

(строка 30 символов), Номер участка (целое число), Год рождения

(1910..2010). Запрос: Поиск всех граждан, родившихся после 1970 года и фамилия которых начинается с буквы ‗А‘ с выводом найденных записей на экран.

Контрольные вопросы

1.Дайте определение структуры.

2.Какие бывают способы объявления структуры?

63

3.Какие бывают способы определения структурных переменных?

4.Как получить доступ к члену структуры?

5.Какие операции можно выполнять над структурами?

64

Лабораторная работа № 9

Работа с файлами

Цель работы

Изучить работу с файлами в языке С++:

Задачи занятия:

Изучить понятие файловых переменных и синтаксис их описания в языка С++;

Изучить организацию данных в виде файлов;

Изучить функции обработки данных в файлах в языка С++;

Проработать примеры программ с использованием файлов;

Разработать алгоритмы с использованием файлов по индивидуальному варианту;

Написать и отладить программы, реализующие разработанные алгоритмы;

Составить и защитить отчет.

Задания

1. Изучите функции открытия и закрытия файлов, используя следующий

фрагмент программы:

#include <iostream.h> #include <fstream.h> #include <stdlib.h> #include <conio.h> int main()

{

ifstream in_stream; ofstream out_stream;

in_stream.open( "Lecture.txt" ); if ( in_stream.fail() )

{

65

cout << "Извините, открыть файл не удалось!\n"; getch();

exit(1);

}

in_stream.close(); return 0;

}

В программе подключен заголовочном файле "fstream.h", т.к. в нем хранится список функций для работы с файловыми потоками. Операторы ifstream in_stream; ofstream out_stream; создают файловый поток ввода с именем

"in_stream", и файловый поток вывода с именем "out_stream", Для подключения потока к файлу используется функция open (например in_stream.open( "Lecture.txt"). Для закрытия файла надо вызвать функцию close(). Простейший способ проверки ошибок файловых операций заключается в вызове функции fail(), которая возвращает True, если последняя операция соответствующего потока привела к ошибке.

2.Написать программу, которая определяет, встречается ли в заданном текстовом файле заданная последовательность символов. Длина строки текста не превышает 80 символов, текст не содержит переносов слов, При

написании используйте следующий пример.

#include <fstream.h> #include <iostream.h> #include <string.h> #include <conio.h> int main(){

const int len = 81:

char word[len], line[len];

cout << "Введите словo для поиска: "; cin >> word;

ifstream fin; fin.open( "Text.txt" ); if ( fin.fail() ) {

cout << "Ошибка открытия файла." ; getch();

return 1;

66

}

while (fin.getline( line, len)) { if (strstr(line, word)) {

cout << "Присутствует!" ; getch();

return 0;

}

}

cout << "Отсутствует!"; getch();

return 0;

}

3.Измените программу так, чтобы она подсчитывала количество вхождений слова в текст.

4.Выполнить задание на файлы в соответствии с указанным преподавателем

вариантом.

Варианты №21. Написать программу, которая считывает из текстового файла три

предложения и выводит их в обратном порядке.

№22. Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово.

№23. Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа.

№24. Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв.

№25. Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.

№26. Написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых.

№27. Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих из не более чем четырех букв.

67

№28. Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки.

№29. Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.

№30. Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы.

№31. Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел.

№32. Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы.

№33. Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с гласной буквы, на прописную.

№34. Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова «ноль», «один», ..., «девять», начиная каждое предложение с новой строки.

№35. Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте.

№36. Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.

№37. Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем введенное с клавиатуры слово.

№38. Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.

68

№39. Написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные.

№40. Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие максимальное количество знаков пунктуации.

Контрольные вопросы

6.Дайте определение файла.

7.Объясните понятие потока ввода/вывода.

8.Какие бывают виды потоков ввода/вывода?

9.Какие действия необходимо выполнить до начала работы с файлом?

10.Какие операции можно выполнять над файлами?

11.Какие функции можно использовать при работе с файлами?

69

Список использованных источников

1.Керниган, Б. Язык программирования С(Си). / Б. Керниган, Д. Ритчи,

А. Фьюэр. -М.: Издательский дом «Вильямс», 2008. - 304с.

2.Павловская, Т. С/С++. Структурное и объектно-ориентированное программирование. Практикум. / Т. Павловская, Ю. Щупак. – СПб.:

Питер, 2010. - 352с.

3.Шилдт, Г. Полный справочник по C [Текст] / Г. Шилдт. – М. : Вильямс,

2008. – 704 с. : ил.

4.Павловская, Т.А. С/С++. Программирование на языке высокого уровня.

/ Т.А. Павловская – СПб: Питер, 2010. - 461с.

5.Боровский, А.Н. С++ и Borland C++ Builder. Самоучитель. / А.Н.

Боровский. – СПб.: Питер, 2005. – 256 с.

6.Пахомов, Б.И. С/С++ и MS Visual C++ 2008 для начинающих. / Б.И.

Пахомов - СПб.: БХВ-Петербург, 2008. - 624 с.

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]