- •Языки программирования
- •Санкт-Петербург
- •1. Общие положения по организации
- •2. Блок лабораторных работ №1 по теме «Представление управляющих структур программирования
- •2.1. TPlab1_1 «Структура ветвления с двойным
- •2.2. TPlab1_2 «Структура ветвления с множественным
- •2.3. TPlab1_3 «Структура повторения с
- •Int kol, //счетчик введенных оценок
- •2.4. TPlab1_4 «Структура повторения с предусловием
- •Int kol, //счетчик введенных оценок
- •2.5. TPlab1_5 «Структура повторения for»
- •Int god; //число лет
- •2.6. TPlab1_6 «Структура повторения с постусловием
- •Int kol, f, ocenka;
- •2.7. TPlab1_7 «Вложенные управляющие структуры»
- •3. Блок лабораторных работ №2 по темам
- •3.1. TPlab2_1 «Функции, определяемые программистом»
- •3.2. TPlab2_2 «Рекурсивные алгоритмы»
- •Int fact(int);
- •Int fact(int n)
- •3.3. TPlab2_3 «Массивы и функции»
- •Void vvod1(int n, char m1[][20]);
- •Void vvod2(int n, float m2[]);
- •Void vyvod(int n, char m1[][20], float m2[]);
- •3.4. TPlab2_4 «Типовые операции над массивами»
- •Void vvod();
- •Void vyvod();
- •4.2. TPlab3_2 «Создание файла прямого доступа»
- •Int nomer;
- •If(!outf)
- •4.3. TPlab3_3 «Запись в файл прямого доступа»
- •Int nomer;
- •If(!outf)
- •4.4. TPlab3_4 «Чтение из файла прямого доступа»
- •5. Индивидуальное задание по теме «Технология процедурного программирования»
- •Vyvod(outprintf, client);
- •Vyvod(cout, client);
- •Void dobzap(fstream &dobf)
- •Дополнительная литература:
4.3. TPlab3_3 «Запись в файл прямого доступа»
Цель работы – изучение операции записи данных в файл прямого доступа.
Условие задачи: имеются сведения о счетах клиентов банка: номер счета, фамилия, имя, баланс; создать программу записи данных в файл прямого доступа.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab3_3.
Создается исходный файл TPlab3_3.cpp, который будет содержать всего одну пустую функцию main():
int t_main(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab3_3.h и файл кодов TPlab3_3.cpp.
Создать файл TPlab3_3.h, ввести текст файла и сохранить его:
//файл заголовков TPlab3_3.h
#ifndef client_h
#define client_h
#include <iostream>
using std::cout;
using std::cin;
using std::cerr;
using std::endl;
using std::ios;
#include <fstream>
using std::ofstream;
using std::ifstream;
struct tip_client
{
Int nomer;
char fam[15];
char im[10];
float balance;
};
#endif
Добавить в файл кодов TPlab3_3.cpp подключение файла заголовков и текст функции main():
//файл кодов TPlab3_3.cpp
#include "stdafx.h"
#include "TPlab3_3.h"
int _tmain(int argc, _TCHAR* argv[])
{
ofstream outf("client.dat", ios::binary);
If(!outf)
{
cerr<<"File ne otkr."<<endl;
exit(1);
}
cout<<"Vvedite nomer scheta ot 1 do 10,”
<<”0-konec vvoda):\n: ";
tip_client client;
cin>>client.nomer;
while(client.nomer>0 && client.nomer<=10)
{
cout<<"Vvedite familiu, imya, balance\n: ";
cin>>client.fam>>client.im>>client.balance;
outf.seekp((client.nomer-1)*sizeof(tip_client));
outf.write((char *) &client, sizeof(tip_client));
cout<<"Vvedite nomer scheta ot 1 do 10,"
<<" 0-konec vvoda):\n: ";
cin>>client.nomer;
}
return 0;
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab3_3. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
4.4. TPlab3_4 «Чтение из файла прямого доступа»
Цель работы – изучение операций чтения данных из файла прямого доступа.
Условие задачи: имеются сведения о счетах клиентов банка: номер счета, фамилия, имя, баланс; создать программу чтения данных из файла прямого доступа и печати данных.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab3_4.
Создается исходный файл TPlab3_4.cpp, который будет содержать всего одну пустую функцию main():
int _tmain(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab3_4.h и файл кодов TPlab3_4.cpp.
Создать файл TPlab3_4.h, ввести текст файла и сохранить его:
//файл заголовков TPlab3_4.h
#ifndef client_h
#define client_h
#include <iostream>
using std::cout;
using std::cin;
using std::cerr;
using std::endl;
using std::ios;
#include <fstream>
using std::ofstream;
using std::ifstream;
//dopolnitelno
#include <iomanip>
using std::setiosflags;
using std::setw;
using std::setprecision;
using std::resetiosflags;
struct tip_client
{
int nomer;
char fam[15];
char im[10];
float balance;
};
void vyvod_zap(tip_client &);
#endif
Добавить в файл кодов TPlab3_4.cpp подключение файла заголовков и текст функции main():
//файл кодов TPlab3_4.cpp
#include "stdafx.h"
#include "TPlab3_4.h"
int _tmain(int argc, _TCHAR* argv[])
{
ifstream inf("client.dat", ios::binary);
if(!inf)
{
cerr<<"File ne otkr. "<<endl;
exit(1);
}
cout<<setiosflags(ios::left)<<setw(10)<<"Schet"
<<setw(16)<<"Familija"<<setw(11)
<<"Imja"<<resetiosflags(ios::left)
<<setw(10)<<"Balance"<<endl;
tip_client client;
inf.read((char *) &client, sizeof(tip_client));
while(inf && !inf.eof())
{
if(client.nomer!=0)
vyvod_zap(client);
inf.read((char *) &client, sizeof(tip_client));
}
return 0;
}
void vyvod_zap(tip_client &c)
{
cout<<setiosflags(ios::left)<<setw(10)<<c.nomer
<<setw(16)<<c.fam<<setw(11)
<<c.im<<setw(10)<<setprecision(2)<<resetiosflags(ios::left)
<<setiosflags(ios::fixed|ios::showpoint)
<<c.balance<<endl;
}
Компиляция, запуск и тестирование приложения
Скопировать файл данных “client.dat” из папки TPlab3_3 (Пуск\Мои документы\Visual Studio 2005 \Projects \TPlab3_3 \TPlab3_3\client.dat ) в папку TPlab3_4\TPlab3_4.
Выбрать команду Build->Build TPlab3_4. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.