Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Функции низкоуровневого ввода-вывода не выполняю никакой буферизации и форматирования. Они непосредственно обращаются к средствам ввода/вывода операционной системы.
При открытии файла на этом уровне возвращается описатель файла (file handle), представляющий собой целое число, используемое затем для обращения к этому файлу при дальнейших операциях. Для открытия используется функция open(), для закрытия – функция close().
Функция read() читает данные в указанный массив, а write() – выводит данные из массива в файл, lseek() – используется для перемещения по файлу.
Низкоуровневые функции не требуют включения заголовочного файла stdio.h, вместо него используется файл io.h.
Низкоуровневая система ввода-вывода не вошла в стандарт ANSI C, поэтому ее не рекомендуют для дальнейшего использования.
Ввод и вывод символов, строк, слов.
Наиболее общими функциями являются те, которые работают с отдельными символами. Функция getc() вводит один символ из указанного файлового потока в переменную типа int:
int ic;
ic=getc(stdin);
Вводится один символ из потока stdin.
Функция putc() передает один символ в указанный файловый поток:
putc(ic,stdout);
Для стандартных потоков stdin и stdout можно использовать функции getchar() и putchar() соответственно:
int ic;
ic=getchar();
putchar(ic);
Функции getch() и putch() являются низкоуровневыми функциями. Обычно функция getch() используется для перехвата символа, введенного с клавиатуры сразу после его нажатия. Нажатия клавиши “Enter” не требуется.
Для ввода/вывода текстовых строк можно использовать функции gets(), fgets(), puts(), fputs(). Функция fgets() имеет вид:
fgets(имя_массива, размер_массива, указатель_на_поток);
Она считывает символы в указанный массив и добавляет в конце null-символ. Считывание производится до заполнения массива, или до достижения конца файла. Символ перевода строки переписывается в массив.
Для ввода и вывода целых чисел можно использовать функции getw() и putw(). Они работают с двоичными файлами.
Форматированный ввод и вывод.
Богатый ассортимент средств управления форматом позволяет легко создавать таблицы, графики или отчеты. Функциями, выполняющими этот вывод, являются printf() - для стандартного потока вывода stdout, и fprintf() – для любого потока. Функция fprintf() имеет вид:
fprintf(поток_вывода, “формат”, перем_1, перем_2,…);
Работает она аналогично printf() и выводит данные в указанный поток вывода.
Для форматированного ввода используются функции scanf() и fscanf().
Для преобразования текстовой строки можно использовать sscanf(). Она работает аналогично fscanf(), но данные берет из сроки, а не из файла.
Потоки cin, cout, cerr.
В языке С++ имеется другая библиотека ввода/вывода, определяемая заголовочным файлом iostream.h. Ввод/вывод в ней определяется набором специальных классов. Аналогами потоков stdin, stdout и stderr являются cin, cout и cerr. Они открываются автоматически при запуске программы.
Операции выделения >> и вставки <<.
Для ввода/вывода с помощью указанных потоков используются специальным образом определенные операции “занести в поток” и “получить из потока”, << и <<. Операция >> выделяет данные из входного потока и помещает в указанные переменные, а операция << помещает значения указанных переменных в поток.
Приведем пример использования потока stdin и потока cin:
scanf(“%d%lf%c”,&ivalue,&dvalue,&cvalue);
cin>>ivalue>>dvalue>>cvalue;
Аналогично для вывода:
printf(“Integer:%d double: %lf”,ivalue,dvalue);
cout<<”Integer:”<<ivalue<<” double:”<<dvalue;
Практическое задание №4.
При выполнении этого задания студенты должны продемонстрировать знания и основные приемы работы с указателями и массивами, функциями файлового ввода-вывода, динамического распределения памяти и работы со строками литер. Процедуры ввода-вывода и счетные функции должны быть разнесены.
Для работы с файлами и прочими процедурами ввода-вывода используйте функции библиотеки stdio.h (fopen, fclose, (f)printf, (f)scanf, feof), для динамического распределения памяти - операторы new и delete, для операций со строками - функции библиотеки STRING (strcpy, strcat, strlen, strcmp).
Вариант 1.
Дан текстовый файл. Определите длину файла, количество строк в файле и количество пробелов в файле. Имя файла введите с консоли.
Вариант 2.
Распечатайте и запишите в файл таблицу значений полинома, заданного своими коэффициентами. Коэффициенты прочтите из файла. Файл состоит из строк, которые содержат одно действительное число в каждой строке. Число строк, а следовательно и количество чисел в файле, заранее неизвестно. Коэффициенты полинома записаны в файле, начиная с коэффициентов при младшем члене полинома. Имя файла с коэффициентами полинома, имя файла с таблицей значений, а также диапазон значений и шаг таблицы введите с консоли.
Контрольные примеры:



Вариант 3.
Напишите программу обработки статистических данных. Определите:
а) объем статистической выборки
.
б) среднее арифметическое выборки
в) дисперсию 
г) среднеквадратичное отклонение 
Имя файла введите с консоли.
Файл состоит из строк, которые содержат одно действительное число в каждой строке. Число строк, а следовательно и количество чисел в файле, заранее неизвестно.
Вариант 4.
Дан файл, содержащий пары действительных чисел
. Напишите программу, которая бы упорядочивала этот ряд в порядке возрастания x. Упорядоченный ряд запишите в файл. Имена входного и выходного файлов введите с консоли. Файл состоит из строк. Каждая строка содержит два действительных числа, разделенных пробелами или знаками табуляции. Количество строк в файле, а следовательно и количество пар чисел, заранее неизвестно.
Контрольные примеры:



Вариант 5.
Дан текстовый файл. Распечатайте и запишите в файл все слова, содержащие заданную подстроку. Имя входного и выходного файлов, а также подстроку введите с консоли.
Вариант 6.
Дан файл, содержащий записи, состоящие из двух полей - числового и текстового (подробно структуру файла см. приложение 5). Упорядочите записи в порядке возрастания числового поля. Упорядоченный список запишите в файл. Имена входного и выходного файлов вводите с консоли.
Файл состоит из строк. Каждая строка содержит единственную запись. Запись состоит из целого числа и единственного слова, разделенных пробелами (целое число идет первым). Число строк, а следовательно число записей заранее не известно.
Вариант 7.
Вычислите
методом треугольника Паскаля.
,
.
Полученные вектора
запишите в файл построчно. Имя файла и количество строк n вводите с консоли.
Вариант 8.
Дан файл, содержащий список слов. Упорядочите список в алфавитном порядке и запишите упорядоченный список в файл. Имена входного и выходного файлов вводите с клавиатуры.
Файл состоит из строк. Каждая строка содержит единственное слово. Число строк в файле заранее не известно.
|
|
|
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!