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

Практ №4 Ввод-вывод. Разработка программ вводавывода данных


Скачать 121.88 Kb.
НазваниеРазработка программ вводавывода данных
Дата12.06.2022
Размер121.88 Kb.
Формат файлаdocx
Имя файлаПракт №4 Ввод-вывод.docx
ТипЗанятие
#587016
страница2 из 6
1   2   3   4   5   6

if(!tofile) //проверка открытия файла

cout<<”Error of file opening”;

else

{

tofile<<”Attention!\n”;

tofile<<100<

tofile.close();

}

//открытие файла для ввода

ifstream fromfile; //создание потока ввода

fromfile.open(“first”); //открытие файла

if(!fromfile) //проверка открытия

cout<<”Error of file opening”;

else

{

char str[20]; // объявление переменных для ввода

int num; // данных из файла

fromfile>>str>>n;

cout<

fromfile.close();

}

return 0;

}

После завершения работы программы содержимое файла first будет следующим:

Attention!

100
Ввод-вывод символьных строк в файлы
При вводе-выводе строк в файлы применяются общие правила работы с файлами. Рассмотрим пример вывода в файл двух символьных строк.

#include<iostream>

#include

using namespace std;

int main()

{

ofstream tofile;

char*ps="This is a first string.";

tofile.open("text1.txt");

if(!tofile) //проверка открытия файла

{

cout<<"Cannot open file.\n";

return 1;

}

tofile <


tofile.close();

return 0;

}

Первая строка вводится через указатель на символьный массив, вторая – как строковая константа. Особенность программы по сравнению с ранее рассматриваемыми состоит в том, что если файл не откроется, то работа программы завершается (return 1).

Результат работы программы:



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

#include

#include

using namespace std;

int main()

{

char str1[50];

char str2[50];

ifstream fromfile; //создание потока ввода

fromfile.open("text1.txt"); //открытие файла

if(!fromfile) //проверка открытия

{cout<<"Cannot open file.\n";

return 1;

}

fromfile >>str1;

fromfile >>str2;

cout<

cout<

fromfile.close();

return 0;

}

После выполнения программы на экран будет выведено:



Текст из файла не был прочитан полностью, т.к. считывание в поток производится до первого разделительного символа. Поэтому прочитались первые два слова.

Изменим программу, в которой будем использовать функцию getline(). Эта функция считывает то количество символов, которое ей укажешь.

#include<iostream>

#include

using namespace std;

int main()

{

char str1[50];

char str2[50];

ifstream fromfile; //создание потока ввода

fromfile.open("text1.txt"); //открытие файла

if(!fromfile) //проверка открытия

{cout<<"Cannot open file.\n";

return 1;

}

fromfile.getline(str1,50);

fromfile.getline(str2,50);

cout<

cout<

fromfile.close();

return 0;

}

Теперь вся текстовая информация, записанная в файле, будет выведена на экран.


Практикум
Задание 1. Используя манипуляторы ввода-вывода в цикле записать в файл one.txt матрицу согласно индивидуальному варианту (Приложение А).

Задание 2. Согласно индивидуальному заданию разработать программу преобразования исходной строки (Приложение Б), используя только библиотечные функции (обращение к элементам символьного массива по индексу запрещено), и записать её в файл one.txt.

Задание 3. Разработать меню пользователя со следующими функциями:

  1. прочитать из файла заданную строку матрицы или матрицу целиком;

  2. прочитать из файла преобразованную символьную строку или любое слово из строки;

  3. выйти из программы.


Отчет оформляется по общеустановленным правилам в электронном виде со следующим содержанием:

  1. титульный лист,

  2. тема и цель практического занятия,

  3. задание на практическое занятие,

  4. текст программы с комментариями,

  5. результаты работы программы (вид экрана) и

  6. выводы по созданному проекту и использованию средств языка программирования.


Приложение А



*

A

*

*

*

*




*

B

*

*

*

*




*

C

*

*

*

*




*

D

*

*

*

*




*

E

*

*

*

*




*

F

*

*

*

*



1.
2.

8
















7

*













6

*

*










5

*

*

*







4

*

*

*

*




3

*

*

*

*

*


3.
















0













*

1










*

*

2







*

*

*

3




*

*

*

*

4

*

*

*

*

*

5


4.
















*













1

*










*

2

*







*

*

3

*




*

*

*

4

*

*

*

*

*

5

*


5.

6

?

?

?

?

?

5

?

?

?

?




4

?

?

?







3

?

?










2

?













1

















11.

?

?

?

?

?

21

?

?

?

?

?

19

?

?

?

?

?

17

?

?

?

?

?

15

?

?

?

?

?

13

?

?

?

?

?

11
1   2   3   4   5   6


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