Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Листинг 8.7
// Лабораторная работа №_8
#include " stdafx.h" #include < windows.h> #include < fstream> #include < string.h> #include < ctype.h> #include < iostream> #include < conio.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) {
setlocale(LC_ALL, " Russian");
int n, s, ss, i, ii; const int len = 100; char word[len], line[len];
cout< < " \t\tЛабораторная работа №_8\n\n"; cout< < " Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих из не более чем четырех букв. \n"; cout< < " \nНажмте клавишу для продолжения...\n\n"; getch(); int lword = static_cast< int> (strlen(word));
ifstream fin(" text.txt"); if (! fin) { cout < < " Error opening file." < < endl; return 1; }
s = 0; ss = 0; int count = 0; while (fin.getline(line, len)) { char *p = line; ii = strlen(p); fin.seekg(0, ios:: beg); for (i = 0; i < ii; i++) { if (p[i]! ='\x20') s++; if (p[i]=='\x20') { if (s < 5) { ss++; } s = 0; } } }
cout < < " \nВ файле содержатся слова, содержащие не более 4-х букв в количестве " < < ss < < " шт.";
getch(); return 0; } Аппаратура и материалы. Для выполнения лабораторной работы необходим персональный компьютер со следующими характеристиками: процессор Intel Pentium-совместимый с тактовой частотой 800 МГц и выше, оперативная память - не менее 64 Мбайт, свободное дисковое пространство - не менее 500 Мбайт, устройство для чтения компакт-дисков, монитор типа Super VGA (число цветов от 256) с диагональю не менее 15². Программное обеспечение - операционная система Windows2000/XP и выше, среда разработки приложений Microsoft Visual Studio. Указания по технике безопасности. Техника безопасности при выполнении лабораторной работы совпадает с общепринятой для пользователей персональных компьютеров, самостоятельно не производить ремонт персонального компьютера, установку и удаление программного обеспечения; в случае неисправности персонального компьютера сообщить об этом обслуживающему персоналу лаборатории (оператору, администратору); соблюдать правила техники безопасности при работе с электрооборудованием; не касаться электрических розеток металлическими предметами; рабочее место пользователя персонального компьютера должно содержаться в чистоте; не разрешается возле персонального компьютера принимать пищу, напитки. Методика и порядок выполнения работы. Перед выполнением лабораторной работы каждый студент получает индивидуальное задание. Защита лабораторной работы происходит только после его выполнения (индивидуального задания). При защите лабораторной работы студент отвечает на контрольные вопросы, приведенные в конце, и поясняет выполненное индивидуальное задание. Ход защиты лабораторной работы контролируется преподавателем.Порядок выполнения работы: 1.Проработать примеры, приведенные в лабораторной работе. 2. Составить программу с использованием двумерных локальных массивов для решения задачи. Размерности локальных массивов задавать именованными константами, значения элементов массива - в списке инициализации. Номер варианта определяется по формуле , где - номер студента по списку преподавателя. Индивидуальное задание №1. Вариант: 1. Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке. 2. Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово. 3. Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа. 4. Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв. 5. Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова. 6. Написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых. 7. Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих из не менее чем семи букв. 8. Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки. 9. Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы. 10. Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел. 11. Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы. 12. Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с гласной буквы, на прописную. 13. Написать программу, которая считывает текст из файла и выводит его на экран, зааменив цифры от 0 до 9 на слова «ноль», «один»,..., «девять», начиная каждое предложение с новой строки. 14. Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте. 15. Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения. 16. Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем введенное с клавиатуры слово. 17. Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке. 18. Написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные. 19. Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие минимальное количество знаков пунктуации. Содержание отчета и его форма. Отчет по лабораторной работе должен состоять из: 1. Названия лабораторной работы. 2. Цели и содержания лабораторной работы. 3. Ответов на контрольные вопросы лабораторной работы. 4. Формулировки индивидуальных заданий и порядка их выполнения. Отчет о выполнении лабораторной работы в письменном виде сдается преподавателю. Вопросы для защиты работы 1. Характеристика видов строк в языке С++. 2. Как описываются строки? 3. Охарактеризуйте способы ввода-вывода строк. 4. Что делают функции gets () и puts ()? 5. Каким образом выполняется операция присваивания при работе со строками? 6. Какие функции предоставляет библиотека < string. h>? Какие действия они выполняют? 7. Охарактеризуйте способы ввода-вывода символов. 8. Какая функция используетя для многократного поиска вхождения подстроки? 9. Для чего нужна функция strtok? 10. Какие значения может принимать параметр org? 11. Какие действия необходимо выполнить, чтобы вывести результаты выполнения программы не на экран, а в файл?
Пример выполнения лабораторной работы №8: 1. Индивидуальное задание №1: 1.1. Постановка задачи: Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие запятые. 1.2. UML-диаграмма:
1.3. Листинг программы: // Лабораторная работа №8 // Индивидуальное задание №1
#include " stdafx.h" #include < iostream> #include < fstream> #include " stdio.h" #include " stdlib.h" #include " conio.h" #include " string.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, " Russian"); cout < < " Лабораторная работа № 8\n" < < " \nГорошко А.А., БАС-051\n" < < " \nВариант № 6\n" < < " \n\nИндивидуальное задание № 1: \n" < < " \nНаписать программу, которая считывает текст из файла и\n" < < " \nвыводит на экран только предложения, содержащие запятые.\n" < < " \n\nРабота программы: \n";
int n, i; bool flag = false; char ch; string str = " "; ifstream input(" text.txt"); if (! input) { cout < < " Ошибка открытия файла" < < endl; return 1; } input.seekg(0, ios:: end); long unsigned int len = input.tellg(); input.seekg(0, ios:: beg); for (i = 0; i < len; i++) { ch = input.get(); if (ch==', ') flag = true; if (ch=='.') { if (flag) cout < < str.c_str(); str = " "; flag = false; } else str+=ch; };
getch(); return 0; } 1.4. Результаты работы программы:
Лабораторная работа №9.
Цель работы и содержание: закрепление знаний о структурах, составление программ со структурами.
|