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

Обновлено: 17.05.2024

Задание 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.

Данная лабораторная работа предусматривает в качестве контроля отчет в печатном виде и его защита

Читайте также: