Главная страница

лб 3. сибирский государственный университет геосистем и технологий


Скачать 0.69 Mb.
Названиесибирский государственный университет геосистем и технологий
Дата13.06.2021
Размер0.69 Mb.
Формат файлаdocx
Имя файлалб 3.docx
ТипЗадача
#217093

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ГЕОСИСТЕМ И ТЕХНОЛОГИЙ»

(СГУГИТ)

ОТЧЕТ

ЛАБОРАТОРНАЯ РАБОТА 3. РАБОТА С ФАЙЛАМИ

Выполнил обучающийся

группы ОЗИ2-1.20.1

Балалин В.Ю

Проверил

к.т.н., доцент кафедры картографии и геоинформатики

Бугаков П. Ю.

Новосибирск – 2021

Цель работы: освоить принципы обмена данными с файлами средствами языка С и С++.

Задание 1. Составить блок схему алгоритма и написать программу со следующей спецификацией. Пользователем вводятся с клавиатуры целые числа до тех пор, пока сумма четных чисел не превысит число, записанное в файле predel.txt. Вывести в файл kolmax.txt общее количество введённых чисел и максимальное из них.

Описание выполненных действий:

1) Написал программу решения задачи (Рис 1,2)

2) Составил блок схему решения задачи (Рис 3)



Рисунок 1. Программа решения задачи



Рисунок 2. Программа решения задачи (ч2)



Рисунок 3. Блок-схема решения задачи

Задача 2. Составить блок-схему алгоритма и написать программу со следующей спецификацией. Программа считывает из файла startgame.txt целое число. Пользователь начинает отгадывать это число, вводя с клавиатуры произвольные числа. Программа реагирует на ввод очередного числа подсказкой, например, “Введенное число больше загаданного” или “Введенное число меньше загаданного”. Процесс завершается, если пользователь ввел определённое число. Записать в файл “endgame.txt” введенные числа и их общее количество. В программе использовать файловые потоки.

Описание выполненных действий:

1) Написал программу решения задачи (Рис 4)

2) Составил блок-схему решения задачи (Рис 5)



Рисунок 4. Программа решения задачи



Рисунок 5. Блок-схема решения задачи

Ответы на контрольные вопросы:

1) Сделать указатели для файлов; открыть файл; проверить открылся ли файл/существует ли он, если это файл для чтения; считать/записать информацию, закрыть файл.

2) Для сохранения изменённой в нём информации

3) r – только чтение, w – только перезапись, a – дозапись файла, + - чтение и запись, b – работа с бинарном файлом

4) В случае, когда файл не был открыт, функция fopen() возвращает нулевой указатель. Это можно использовать с условием if (file==0) или if (file==NULL). При выполнении условия выводим ошибку и закрываем программу/ делаем так, чтобы файл появился (этой же программой можно создать нужный файл и заполнить, например, случайным числом) и пытаемся открыть его опять. В общем, в зависимости от ситуации.

5) Такие же, что и нефайловые аналоги printf(), scanf() + возможность записывать обычные символы без преобразования в файл.

6) Ну, пусть будет перезапись значения из одного файла в другой через переменную в программе, как самая короткая программа, пришедшая в голову:
#include

using namespace std;

int maun()

{

int x;

ifstream fin;

ofstream fout;

fin.open(“input.txt”);

fin>>x;

fin.close();

fout.open(“output.txt”);

fout<< x;

fout.close();

return 0;

}

7) +

Задача 2


написать администратору сайта