Написать программу которая считывает текст из файла и выводит на экран сначала вопросительные
Задание 1
Написать программу, которая считывает из текстового файла три предложения и выводит их, переставив слова в обратном порядке.
Задание 2
Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово.
Задание 3
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа.
Задание 4
Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв.
Задание 5
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.
Задание 6
Написать программу, которая считывает текст из файла и выводит на экран слова, после которых стоит запятая.
Задание 7
Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, содержащих менее четырех букв.
Задание 8
Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки, которые могут занимать несколько строк.
Задание 9
Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.
Задание 10
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы.
Задание 11
Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел.
Задание 12
Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы.
Задание 13
Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с гласной буквы, на прописную.
Задание 14
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова «ноль», «один». «девять», начиная каждое предложение с новой строки.
Задание 15
Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте.
Задание 16 (повышенная сложность)
Написать программу, которая считывает Текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.
Задание 17
Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем введенное с клавиатуры слово.
Задание 18
Написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные.
Задание 19
Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие максимальное количество знаков пунктуации.
Под понятием произвольного доступа к файлу подразумевается ряд различных моментов:
-можно произвольно обращаться к любой записи или любому байту в файле, в противоположность последовательному доступу, когда данные извлекаются или передаются в поток строго по очереди;
-в открытом файле можно произвольно чередовать операции чтения и записи;
-ввод-вывод с произвольным доступом является по преимуществу бесформатным.
Для позиционирования потока используются функции seekg() и seekp().
Разница между ними в том, что первая перемещает позицию чтения в потоке, а вторая устанавливает новую позицию в выходном потоке. Если используется поток типа fstream, и он открыт в режиме чтения-записи, то все равно, какую функцию применять для позиционирования.
Для определения текущей позиции tellg() и tellp(). Первая возвращает позицию чтения во входном потоке, а вторая – позицию в выходном потоке.
Рассмотрим примеры использования функции работы с файлами и строками.
Пример 11.3 Поиск вхождения слова в файле
using namespace std;
const int len = 81;
char word[len], line[len], end_word[] = done;
//пересоздадим файл и откроем для чтения/записи
fstream f(lab11.txt, ios::in | ios::out | ios::trunc);
//введем несколько строк для дальнейшего поиска в них
//с файловым потоком можно работать как со стандартными cin и cout
//продолжаем пока не введем done
while (strcmp(line, end_word));
//сбросим файловый поток на начало
//содержимое файла на экран
//выполняем пока не достигнем конца файла
//сбрасываем бит-признак конца файла eofbit
//сбросим файловый поток на начало
//определим длину искомого слова
size_t l_word = strlen(word);
//счетчик вхождения слова
//читаем построчно и ищем слово word в строке
while (f.getline(line, len))
//поместим указатель p на начало строки
//strstr возвращает указатель
// на элемент из строки p с которого начинается word
while (p = strstr(p, word))
//используем указатель не текущую позицию в строке
//переместим p на символ сразу за концом слова
//проверим стоит ли наше слово отдельно
//или это просто подстрока в другом (большем) слове
//проверим совпадает ли начало слова с началом строки
//проверим символ перед началом слова
//на принадлежность к разделителям
//начинается не с начала строки и
//не с разделителя = ищем дальше
//символы перед началом слова подходят
//проверяем символы за окончанием слова
//если это пробелы, символы пунктуации
//или конец строки = увеличиваем счетчик слов
Рассмотрим другой подход к решению предложенной выше задачи. В библиотеке C++ есть функция strtok, которая разбивает предложенную строку на лексемы в соответствии с заданным набором разделителей. При ее использовании нет необходимости выделять и проверять начало и конец слова. Потребуется лишь сравнит с искомым словом, слово, выделенное strtok. Для этого просто необходимо задать разделители.
Пример 11.4 Поиск вхождения слова в файле с помощью strtok
using namespace std;
const int len = 81;
char word[len], line[len], end_word[] = done;
//пересоздадим файл и откроем для чтения/записи
fstream f(lab11.txt, ios::in | ios::out | ios::trunc);
//введем несколько строк для дальнейшего поиска в них
//продолжаем пока не введем done
while (strcmp(line, end_word));
//сбрасываем бит-признак конца файла eofbit
//сбросим файловый поток на начало
//Указатель на начало слова
//счетчик вхождения слова
//читаем построчно и ищем слово word в строке
while (f.getline(line, len))
//находим первый символ не из разделителей
//находим первый символ не из разделителей
token = strtok(line, delims);
//проверяем, остались ли еще слова
while ( token != NULL )
//strtok заменяет символ после разделителя
//на NULL поэтому можно сравнивать искомое и
if (!strcmp(token, word))
//Для поиска следующей лексемы в той же строке
//strtok необходимо передать NULL
token = strtok(NULL, delims);
Пример 11.5 Произвольный доступ к файлу
// Открыть файл как двоичный сразу для ввода и вывода
// (создать новый, если отсутствует или перезаписать старый)
// Ввести элементы с клавиатуры
// Поменять знак четных элементов
using namespace std;
const int NP = 10;
const int IS = sizeof(int); //размер элемента int
// Открытие файла для чтения/записи.
ios::binary | ios::in | ios::out | ios::trunc);
// Первоначальная запись файла.
//Приводим pt к типу char* для нормальной работы write
// Чтение файла от конца к началу.
//Перемещаемся к i-му элементу с конца
fs.seekg(-(i + 1) * IS, ios::end);
//Приводим pt к типу char* для нормальной работы read
// Переписать четные индексы.
//перемещаемся к i-му элементу
fs.seekg(2 * i * IS);
//читаем i-ый элемент
//меняем значение на противоположное
//возвращаемся на шаг назад, к только что прочитанному элементу
//выводим файл на экран
Замечание. Когда эта программа открывает уже существующий файл, он усекается до нулевой длины (т.е. все его данные теряются). Если необходимо работать с уже имеющимися в файле данными, нужно убрать бит ios::trunc из режима открытия потока.
1. Какие виды строк существуют в C++?
2. Как объявить C-строку?
3. Как осуществляется ввод-вывод строк?
4. Какие операции над строками вы знаете?
5. Перечислите операции над символами?
6. Перечислите стандартные потоки ввода-вывода?
7. Как создать файловый поток?
8. Какие режимы открытия файлов существуют?
9. Что такое двоичный режим ввода-вывода?
10.Что такое текстовый режим ввода-вывода?
11.Как осуществляется чтение символов и строк?
12.Как изменить текущую позицию в файле?
13.Как узнать текущую позицию в файле?
14.Для чего используется метод clear()?
1. Написать программу в соответствии с вариантом задания из пункта 5.
2. Отладить и протестировать программу.
3. Оформить отчёт.
Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово.
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа.
Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв.
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых.
Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих не более чем из четырех букв.
Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы.
Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы.
Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с гласной буквы, на прописную.
Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте.
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.
Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем введенное с клавиатуры слово.
Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.
Написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные.
Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие максимальное количество знаков пунктуации.
Написать программу, которая считывает текст из файла и записывает в другой только строки, не содержащие символов пунктуации (точка, запятая и т.д.)
Написать программу, которая считывает текст из файла и определяет, сколько в нем строчек, содержащих не более чем три пустых символа (пробел, табуляция и.т.д.).
Написать программу, которая считывает из одного текстового файла строчки и сохраняет их в другой файл в обратном порядке.
Написать программу, которая считывает текст с экрана в файл и выводит его обратно на экран, заменяя арабские цифры римскими (представление чисел не учитывать, заменять только сами цифры).
1. Титульный лист.
2. Наименование и цель работы.
3. Краткое теоретическое описание.
4. Задание на лабораторную работу.
5. Схема алгоритма.
6. Листинг программы.
7. Результаты выполнения программы.
Статьи к прочтению:
Уроки по С++.1 урок.Как создать программу?
Похожие статьи:
Лабораторная работа 7. Строки 393
Матрица А имеет седловую точку А , если А,-- является минимальным элементом в t-й строке и максимальным - в -м столбце.
Лабораторная работа 7. Строки
Теоретический материал: глава 6, раздел Символы и строки .
Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово.
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа.
Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв.
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых.
Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих не более чем из четырех букв.
Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы.
Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы.
Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив прописной каждую первую букву слов, начинающихся с гласной буквы.
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 словами ноль , один , девять , начиная каждое предложение с новой строки.
Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте.
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.
Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем введенное с клавиатуры слово.
Лабораторная работа 8. Классы и операции 395
Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.
Написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные.
Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие максимальное количество знаков пунктуации.
Лабораторная работа 8. Классы и операции
Теоретический материал: глава 7 .
Каждый разрабат1ваем1й класс должен, как правило, содержать следующие элементы: скрытые поля, конструкторы с параметрами и без параметров, методы; свойства, индексаторы; перегруженн1е операции. Функциональные элементы класса должны обеспечивать непротиворечивый, полный, минимальный и удобный интерфейс класса. При возникновении ошибок должны выбрасываться исключения.
В программе должна выполняться проверка всех разработанных элементов класса. Вариант 1
Описать класс для работы с одномерным массивом целых чисел (вектором). Обеспечить следующие возможности:
задание произвольных целых границ индексов при создании объекта;
обращение к отдельному элементу массива с контролем выхода за пределы массива;
выполнение операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов;
выполнение операций умножения и деления всех элементов массива на скаляр;
вывод на экран элемента массива по заданному индексу и всего массива. Написать программу, демонстрирующую все разработанные элементы класса.
Описать класс для работы с одномерным массивом строк фиксированной длины. Обеспечить следующие возможности:
Цель : Изучение принципов работы с файлами через механизм потокового ввода-вывода на языке С++, приобретение практических навыков работы с файлами в С++.
Задания для самостоятельного выполнения.
Пример выполнения задания.
Задания для самостоятельного выполнения
Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие максимальное количество знаков пунктуации.
Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, затем повествовательные предложения.
Написать программу, которая считывает текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с гласной буквы на введённый с клавиатуры символ.
Написать программу, которая считывает текст из файла и выводит на экран только те строки в которых встречаются цифры.
Написать программу, которая считывает текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.
Написать программу, которая считывает текст из файла и определяет, сколько в нём слов, состоящих не более чем из четырёх слов.
Написать программу, которая считывает текст из файла и выводит на экран только предложения в которых нет запятых.
Написать программу, которая считывает текст из файла и выводит на экран только строки содержащие заданное число.
Написать программу, которая считывает текст из файла и выводит на экран слова, начинающиеся с гласной буквы.
Написать программу, которая считывает текст из файла и выводит на экран меняя местами два соседних слова.
Для выполнения данной лабораторной работы необходимо изучить теоретический материал по теме «Файлы»
Для взаимодействия с устройством ввода/вывода программист должен создать новый поток и связать его с целевым устройством и осуществлять операции ввода/вывода работая с потоком.
Поток–некая совокупность байт пересылаемая между некоторым устройством ввода/вывода и оперативной памятью.
Для создания потока:
Режим открытия потока
Состоит из 2-х частей:
Используются английские буквы r, w, a.
r–открыть для чтения(файл должен существовать)
w–режим открытия на запись(если файл не существует то создается, если существует, то обнуляется)
a–открытие потока на дозапись(файл должен существовать)
r+–открытие существующего файла на чтение и запись
w+–открытие файла на чтение и запись(если файл не существует то создается, если существует, то обнуляется)
fcloseall(); –закрывает все потоки.
feof–возвращает 0 если достигнут конец строки
fseek–позволяет перемещать курсор
fseek(FILE*stream, int offset, int base);
смещение на offset байт относительно base
ferror(FILE*stream)–возвращает ненулевое значение если возникла ошибка при работе с потоком
fputc(char*str, FILE*stream)-вставляет(записывает) в поток строку str.
Данная лабораторная работа предусматривает в качестве контроля отчет в печатном виде и его защита
Читайте также: