Prohball;//проходной балл
//блок обработки
cout<<"Vvedite prohball: ";
cin>>prohball;
while(kol<=10)
{
cout<<"Vvedite chislo ballov abituirenta "<<kol<<": ";
cin>>ball;
if (ball>=prohball)
postup++;
Else
nepostup++;
kol++;
}
//блок вывода данных
cout<<"Postupili "<<postup<<endl;
cout<<"Ne postupili "<<nepostup<<endl;
return 0; //успешное завершение
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab1_7. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
3. Блок лабораторных работ №2 по темам
«Структуры данных фиксированного раздела» и
«Функции (процедуры»
3.1. TPlab2_1 «Функции, определяемые программистом»
Цель работы – создание и использование функций, определяемых программистом.
Условие задачи: ввести оценки экзаменов и вычислить среднюю оценку вызываемой функцией.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab2_1.
Создается исходный файл TPlab2_1.cpp, который будет содержать всего одну пустую функцию main():
int _tmain(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab2_1.h, файл кодов TPlab2_1.cpp и файл кодов TPlab2_2.cpp.
Создать файл TPlab2_1.h, ввести текст файла и сохранить его:
//файл заголовков TPlab2_1.h
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
float sr_oc(int n);
Добавить в файл кодов TPlab2_1.cpp подключение файла заголовков и текст функции main():
//файл кодов TPlab2_1.cpp
#include "stdafx.h"
#include "TPlab2_1.h"
int _tmain(int argc, _TCHAR* argv[])
{
int kol;
float sr;
cout<<"Vvedite kolichestvo examenov:";
cin>>kol;
sr=sr_oc(kol);
cout<<"Srednaja ocenka:"<<sr<<endl;
return 0;
}
Аналогично создать файл кодов TPlab2_2.cpp с вызываемой функцией sr_oc(). Необходимо выбрать вкладку типа файл C/C++Source File.
//файл кодов TPlab2.cpp
#include "stdafx.h"
#include "TPlab2_1.h"
Float sr_oc(int n)
{
int x;
float y=0;
for(int i=0;i<n;i++)
{
cout<<"Ocenka examena "<<i+1<<":";
cin>>x;
y+=x;
}
y=y/n;
return(y);
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab2_1. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
3.2. TPlab2_2 «Рекурсивные алгоритмы»
Цель работы – создание и использование рекурсивных функций.
Условие задачи: создать рекурсивную функцию вычисления факториала.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab2_2.
Создается исходный файл TPlab2_2.cpp, который будет содержать всего одну пустую функцию main():
int _tmain(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab2_2.h и файл кодов TPlab2_2.cpp.
Создать файл TPlab2_2.h, ввести текст файла и сохранить его:
//файл заголовков TPlab2_2.h
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int fact(int);
Добавить в файл кодов TPlab2_2.cpp подключение файла заголовков и текст функции main():
//файл кодов TPlab2_2.cpp
#include "stdafx.h"
#include "TPlab2_2.h"
int _tmain(int argc, _TCHAR* argv[])
{
int res, n;
cout<<"Vvedite celoe chislo: ";
cin>>n;
res=fact(n);
cout<<n<<"!="<<res<<endl;
return 0;
}
Int fact(int n)
{
if (n<=1)
return 1;
Else
return n*fact(n-1);
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab2_2. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
3.3. TPlab2_3 «Массивы и функции»
Цель работы – изучение массивов в качестве параметров функций.
Условие задачи: ввести данные о рабочих: фамилия и зарплата; определить рабочих, у которых зарплата меньше прожиточного минимума.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab2_3.
Создается исходный файл TPlab2_3.cpp, который будет содержать всего одну пустую функцию main():
int t_main(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab2_3.h, файл кодов TPlab2_3.cpp и файл кодов TPlab2_3f.cpp.
Создать файл TPlab2_3.h, ввести текст файла и сохранить его:
//файл заголовков TPlab2_3.h
#include <iostream>
using std::cin;
using std::cout;
#include <iomanip>
using std::setw;
using std::setprecision;
const int max_rab=100;
void vvod1(int n, char m1[][20]);
void vvod2(int n, float m2[]);
void vyvod(int n, char m1[][20], float m2[]);
char menu();
Добавить в файл кодов TPlab2_3.cpp тексты функций main() и menu():
//файл кодов TPlab2_3.cpp
#include "stdafx.h"
#include "TPlab2_3.h"
int _tmain(int argc, _TCHAR* argv[])
{
char selector;
do
{
selector=menu();
}
while(selector!='0');
return 0;
}
Char menu()
{
char ch;
static char fio[max_rab][20];
static float zarp[max_rab];
static int kol;
cout<<'\t'<<"MENU\n\n";
cout<<'\t'<<"1 Vvod dannyx\n\n";
cout<<'\t'<<"2 Vyvod rezultatov\n\n";
cout<<'\t'<<"0 Vyxod\n\n";
cout<<'\t'<<"Vash vybor: ";
cin>>ch;
Switch(ch)
{
case '1': cout<<"Vvedite kolichestvo rabochix:";
cin>>kol;
vvod1(kol, fio);
vvod2(kol, zarp);
break;
case '2': vyvod(kol, fio, zarp);
break;
case '0': break;
}
return (ch);
}
Аналогично создать файл кодов TPlab2_3f.cpp. Необходимо выбрать вкладку типа файл C/C++Source File.
//файл кодов TPlab2_3f.cpp
#include "stdafx.h"
#include "lab2_3.h";
void vvod1(int n, char m1[][20])
{
for(int i=0; i<n; i++)
{
cout<<"Fio rabochego "<<i+1<<':';
cin>>m1[i];
}
return;
}
void vvod2(int n, float m2[])
{
for(int i=0; i<n; i++)
{
cout<<"Zarplata rabochego "<<i+1<<':';
cin>>m2[i];
}
return;
}
void vyvod(int n, char m1[][20], float m2[])
{
float min;
int ch;
cout<<"Minimum:";
cin>>min;
cout<<"\tFio\tZarplata\n\n";
for(int i=0;i<n;i++)
if (m2[i]<min)
{
cout<<'\t'<<m1[i];
cout<<'\t'<<setw(8)<<setprecision(2)<<m2[i]<<'\n';
}
cout<<"Konec vyvoda";
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab2_3. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
3.4. TPlab2_4 «Типовые операции над массивами»
Цель работы - изучение типовых операций над массивами: ввод, вывод, сортировка, слияние, поиск и т.д..
Условие задачи: ввести два массива, отсортировать их, и затем произвести их слияние.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab2_4.
Создается исходный файл TPlab2_4.cpp, который будет содержать всего одну пустую функцию main():
int _tmain(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab2_4.h и файл кодов TPlab2_4.cpp.
Создать файл TPlab1_2.h, ввести текст файла и сохранить его:
//файл заголовков TPlab2_4.h
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
const int nmax=100;
const int nmaxr=200;
void vvod(int n, float m[]);
void sort(int n, float m[]);
void slijanie(int n1, float m1[], int n2, float m2[], float m[]);
void vyvod(int n, float m[]);
Добавить в файл кодов TPlab2_4.cpp тексты функций:
//файл кодов TPlab2_4.cpp
#include "stdafx.h"
#include "TPlab2_4.h"
int _tmain(int argc, _TCHAR* argv[])
{
int k, k1, k2;
float a1[nmax], a2[nmax], a[nmaxr];
cout<<"Vvedite chislo elementov massiva 1: ";
cin>>k1;
vvod(k1, a1);
sort(k1, a1);
cout<<"Vvedite chislo elementov massiva 2: ";
cin>>k2;
vvod(k2, a2);
sort(k2, a2);
k=k1+k2;
slijanie(k1, a1, k2, a2, a);
vyvod(k, a);
return 0;
}
void vvod(int n, float m[])
{
for(int i=0; i<n; i++)
{
cout<<"Vvedite element "<<i+1<<": ";
cin>>m[i];
}
return;
}
void sort(int n, float m[])
{
int i=0;
int perest=1;
while(i<=n-1 && perest)
{
perest=0;
for(int j=n-1; j>0; j--)
if(m[j-1]>m[j])
{
perest=1;
float b=m[j-1];
m[j-1]=m[j];
m[j]=b;
}
i++;
}
return;
}
void slijanie(int n1,float m1[],int n2,float m2[],float m[])
{
int i, i1, i2;
i=i1=i2=0;
while(i1<n1 && i2<n2)
if(m1[i1]<m2[i2])
{
m[i]=m1[i1];
i++;
i1++;
}
Else
{
m[i]=m2[i2];
i++;
i2++;
}
if(i1==n1)
{
for(int k=i2; k<n2; k++)
{
m[i]=m2[k];
i++;
}
}
Else
{
for(int k=i1; k<n1; k++)
{
m[i]=m1[k];
i++;
}
}
return;
}
void vyvod(int n, float m[])
{
cout<<"Resultat: "<<endl;
for(int i=0; i<n; i++)
cout<<m[i]<<" ";
return;
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab2_4. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
4. Блок лабораторных работ №3 по теме
«Обработка файлов данных»
4.1. TPlab3_1 «Файл последовательного доступа»
Цель работы – создание файла последовательного доступа, запись в файл и чтение данных из файла.
Условие задачи: ввести данные о рабочих (фамилия, зарплата) и записать в файл; читать данные из файла и определить рабочих, у которых зарплата меньше прожиточного минимума.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab3_1.
Создается исходный файл TPlab3_1.cpp, который будет содержать всего одну пустую функцию main():
int t_main(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab3_1.h и файл кодов TPlab3_1.cpp.
Создать файл TPlab3_1.h, ввести текст файла и сохранить его:
//файл заголовков TPlab3_1.h
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
#include <iomanip>
using std::setw;
using std::setprecision;
#include <fstream>
using std::ofstream;
using std::ifstream;
using std::ios;
Struct trab
{
char tabn[6];
char fio[20];
float zarp;
};
void vvod();
void vyvod();
char menu();
Добавить в файл кодов TPlab3_1.cpp подключение файла заголовков и текст функции main():
//файл кодов TPlab3_1.cpp
#include "stdafx.h"
#include "TPlab3_1.h"
trab zap;
int _tmain(int argc, _TCHAR* argv[])
{
char selector;
do
{
selector=menu();
}
while(selector!='0');
return 0;
}
Char menu()
{
char ch;
cout<<"\tMENU\n\n";
cout<<"\t1 Vvod dannyx"<<endl;
cout<<"\t2 Vyvod rezultatov"<<endl;
cout<<"\t0 Vyxod"<<endl;
cout<<"\tVash vybor: ";
cin>>ch;
Switch(ch)
{
case '1':
vvod();
break;
case '2':
vyvod();
break;
case '0': break;
}
return (ch);
}
Void vvod()
{
char ch;
ofstream f("rab.dat", ios::out|ios::binary);
do
{
cout<<"Tab. nomer: ";
cin>>zap.tabn;
cout<<"Fio: ";
cin>>zap.fio;
cout<<"Zarplata: ";
cin>>zap.zarp;
f.write((char*)&zap, sizeof(zap));
cout<<"Prodolg-<1>,Otkaz-<0>: ";
cin>>ch;
}
while(ch=='1');
f.close();
return;
}
Void vyvod()
{
char ch;
float min;
ifstream f("rab.dat",ios::in|ios::binary);
cout<<"Minimum: ";
cin>>min;
f.read((char*)&zap,sizeof(zap));
while(!f.eof())
{
if(zap.zarp<min)
{
cout<<"Tab. nomer: "<<zap.tabn<<endl;
cout<<"Fio: "<<zap.fio<<endl;
cout<<"Zarplata: "<<zap.zarp<<endl;
}
f.read((char*)&zap, sizeof(zap));
}
f.close();
return;
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab3_1. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
4.2. TPlab3_2 «Создание файла прямого доступа»
Цель работы – изучение операции открытия и создания файла прямого доступа.
Условие задачи: имеются сведения о счетах клиентов банка: номер счета, фамилия, имя, баланс; создать файл прямого доступа с пустыми записями.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab3_2.
Создается исходный файл TPlab3_2.cpp, который будет содержать всего одну пустую функцию main():
int t_main(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab3_2.h и файл кодов TPlab3_2.cpp.
Создать файл TPlab3_2.h, ввести текст файла и сохранить его:
//файл заголовков TPlab3_2.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_2.cpp подключение файла заголовков и текст функции main():
//файл кодов TPlab3_2.cpp
#include "stdafx.h"
#include "TPlab3_2.h"
int _tmain(int argc, _TCHAR* argv[])
{
ofstream outf("client.dat",ios::binary);
if(!outf)
{
cerr<<"File ne otkr"<<endl;
exit(1);
}
tip_client client0={0, "", "", 0.0};
for(int i=0; i<10; i++)
outf.write((char *) &client0, sizeof(tip_client));
return 0;
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab3_2. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
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 - запуск на выполнении программы.
5. Индивидуальное задание по теме «Технология процедурного программирования»
TPlab4_1 «Операции с базой данных»
Цель работы – изучение этапов разработки программ методом процедурного программирования на примере операций с базой данных.
Условие задачи: имеются сведения о счетах клиентов банка: номер счета, фамилия, имя, баланс; создать программу, которая способна добавлять новый счет, обновлять счет, удалять счет, выводить все данные по счетам на экран и в текстовый файл.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab4_1.
Создается исходный файл TPlab4_1.cpp, который будет содержать всего одну пустую функцию main():
int _tmain(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab4_1.h и файл кодов TPlab4_1.cpp.
Создать файл TPlab4_1.h, ввести текст файла и сохранить его:
//файл заголовков TPlab4_1.h
#ifndef TPlab4_1_h
#define TPlab4_1_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::ostream;
using std::fstream;
using std::istream;
#include <iomanip>
using std::setiosflags;
using std::resetiosflags;
using std::setw;
using std::setprecision;
#include <cstdlib>
Struct tip_client
{
int nomer;
char fam[15];
char im[10];
float balance;
};
int menu();
void textfile(fstream &);
void dobzap(fstream &);
void zamzap(fstream &);
void udzap(fstream &);
void vyvod(ostream &, const tip_client &);
int vvod_nomer(const char * const);
enum option{TEXTFILE=1, DOBAVLENIE, ZAMENA,
UDALENIE, END};
#endif
Добавить в файл кодов Tplab4_1.cpp подключение файла заголовков и тексты функций():
//файл кодов TPlab3_4.cpp
#include "stdafx.h"
#include "TPlab4_1.h"
int _tmain(int argc, _TCHAR* argv[])
{
fstream inoutf("client.dat", ios::in|ios::out);
if(!inoutf)
{
cerr<<"File client.dat ne otkr."<<endl;
ofstream outf("client.dat",ios::out);
tip_client client0={0, "", "", 0.0};
for(int i=0; i<100; i++)
outf.write((char *) &client0, sizeof(tip_client));
outf.close();
}
int vybor;
while((vybor=menu())!=END)
{
Switch(vybor)
{
case TEXTFILE:
textfile(inoutf);
break;
case DOBAVLENIE:
dobzap(inoutf);
break;
case ZAMENA:
zamzap(inoutf);
break;
case UDALENIE:
udzap(inoutf);
break;
case END: break;
default:
cerr<<"Neprav. vybor\n";
break;
}
inoutf.clear();
}
return 0;
}
Int menu()
{
cout<<"\nMENU\n"
<<"1-Sozdanie textfile-vyvod\n"
<<"2-Dobavlenie zap\n"
<<"3-Zamena zap\n"
<<"4-Udalenie zap\n"
<<"5-Konec\n\n"
<<"\nVash vybor: ";
int menuvybor;
cin>>menuvybor;
return menuvybor;
}
void textfile(fstream &readf)
{
ofstream outprintf("print.txt", ios::out);
if(!outprintf)
{
cerr<<"File ne otkr."<<endl;
exit(1);
}
outprintf<<setiosflags(ios::left)<<setw(10)
<<"Nomer"<<setw(16)<<"Familija"<<setw(11)
<<"Imja"<<resetiosflags(ios::left)
<<setw(10)<<"Balance"<<endl;
cout<<setiosflags(ios::left)<<setw(10)
<<"Nomer"<<setw(16)<<"Familija"<<setw(11)
<<"Imja"<<resetiosflags(ios::left)
<<setw(10)<<"Balance"<<endl;
readf.seekg(0, ios::beg);
tip_client client;
readf.read((char *)&client, sizeof(tip_client));
while(!readf.eof())
{
if(client.nomer!=0)
{
vyvod(outprintf, client);
vyvod(cout, client);
}
readf.read((char *)&client, sizeof(tip_client));
}
}
void dobzap(fstream &dobf)
{
int schet=vvod_nomer("Vvedite novyj nomer scheta: ");
dobf.seekg((schet-1)*sizeof(tip_client), ios::beg);
tip_client client;
dobf.read((char *) &client, sizeof(tip_client));
if(client.nomer==0)
{
cout<<"Vvedite familiju, imja, balance\n: ";
cin>>client.fam>>client.im>>client.balance;
client.nomer=schet;
dobf.seekp((schet-1)*sizeof(tip_client), ios::beg);
dobf.write((char *) &client, sizeof(tip_client));
}
Else
cerr<<"Schet № "<<schet<<" imeetcja"<<endl;
}
void zamzap(fstream &zamf)
{
int schet=vvod_nomer("Vvedite nomer scheta zamenj: ");
zamf.seekg((schet-1)*sizeof(tip_client), ios::beg);
tip_client client;
zamf.read((char *) &client, sizeof(tip_client));
if(client.nomer!=0)
{
vyvod(cout, client);
cout<<"Vvedite rashod (+) ili doplatu (-): ";
float rasdop;
cin>>rasdop;
client.balance+=rasdop;
vyvod(cout, client);
zamf.seekp((schet-1)*sizeof(tip_client), ios::beg);
zamf.write((char *) &client, sizeof(tip_client));
}
Else
cerr<<"Schet № "<<schet<<" ne imeet inf."<<endl;
}
void udzap(fstream &udf)
{
int schet=vvod_nomer("Vvedite nomer scheta udalenija: ");
udf.seekg((schet-1)*sizeof(tip_client), ios::beg);
tip_client client;
udf.read((char *) &client, sizeof(tip_client));
if(client.nomer!=0)
{
tip_client client0={0, "", "", 0.0};
udf.seekp((schet-1)*sizeof(tip_client), ios::beg);
udf.write((char *) &client0, sizeof(tip_client));
cout<<"Schet № "<<schet<<" udalen"<<endl;
}
Else
cerr<<"Schet № "<<schet<<" pustoj"<<endl;
}
void vyvod(ostream &output, const tip_client &cl)
{
output<<setiosflags(ios::left)<<setw(10)
<<cl.nomer<<setw(16)<<cl.fam<<setw(11)
<<cl.im<<setw(10)<<setprecision(2)<<resetiosflags(ios::left)
<<setiosflags(ios::fixed | ios::showpoint)<<cl.balance<<endl;
}
int vvod_nomer(const char * const nom)
{
int schet;
do
{
cout<<nom<<" (1 - 100):";
cin>>schet;
}
while(schet<1 || schet>100);
return schet;
}
6. Рекомендуемая литература
Основная литература:
1. Павлов Ф.Ф. Технология программирования: Конспект лекций (спец.-230201).-ИзПК СПбГИЭУ, 2009
2. Павлов Ф.Ф. Технология программирования на Visual C++: Учеб. пособие. - СПб.: СПбГИЭУ, 2007.
3. Павлов Ф.Ф. Методы программирования в экономике: Учеб. пособие. - СПб.: СПбГИЭУ, 2004.
4. Технология программирования: Методические указания к выполнению лабораторного практикума на Visual C++ 2005 (напр. подг.-230200): Сост. Ф.Ф. Павлов.- ИзПК СПбГИЭУ, 2010.
Дополнительная литература:
5. Дейтел Х, Дейтел П. Как программировать на С++: Пер. с англ. –М.: ЗАО «Изд. БИНОМ», 2001.
6. Кораблев В. Самоучитель Visual C++.NET. – СПб.: Питер; Киев: Изд. Группа BHV, 2004.
7. Павлов Ф.Ф. Высокоуровневые методы информатики и программирования: лабораторный практикум на Visual C++.NET 2003: СПб.: СПбГИЭУ, 2007.
8. Разработка приложений на Microsoft Visual C++ 6.0. Учебный курс: Официальное пособие Microsoft для самостоятельной подготовки/Пер. с англ. – М.: Издательско-торговый дом «Русская Редакция», 2000.
9. Савитч У. Язык С++. Курс объектно- ориентированного программирования, Пер. с англ.-М.: Изд. дом «Вильямс», 2001.
10. Хортон А. Visual C++ 2005: Пер. с англ. –М.:ООО “И.Д. Вильямс”. 2007.
7. Содержание | |
1. Общие положения по организации лабораторного практикума на Visual C++ | |
2. Блок лабораторных работ №1 по теме «Представление управляющих структур программирования» | |
2.1. TPlab1_1 «Структура ветвления с двойным выбором if/else» | |
2.2. TPlab1_2 «Структура ветвления с множественным выбором switch» | |
2.3. TPlab1_3 «Структура повторения с предусловием while, управляемая счетчиком» | |
2.4. TPlab1_4 «Структура повторения с предусловием while, управляемая меткой» | |
2.5. TPlab1_5 «Структура повторения for» | |
2.6. TPlab1_6 «Структура повторения с постусловием do/while» | |
2.7. TPlab1_7 «Вложенные управляющие структуры» | |
3. Блок лабораторных работ №2 по темам «Структуры данных фиксированного размера» и «Функции (процедуры)» | |
3.1. TPlab2_1 «Функции, определяемые программистом» | |
3.2. TPlab2_2 «Рекурсивные алгоритмы» | |
3.3. TPlab2_3 «Массивы и функции» | |
3.4. TPlab2_4 «Типовые операции над массивами» | |
4. Блок лабораторных работ №3 по теме «Обработка файлов данных» | |
4.1. TPlab3_1 «Файл последовательного доступа» | |
4.2. TPlab3_2 «Создание файла прямого доступа» | |
4.3. TPlab3_3 «Запись в файл прямого доступа» | |
4.4. TPlab3_4 «Чтение из файла прямого доступа» | |
5. Индивидуальное задание по теме «Технология процедурного программирования» TPlab4_1 «Операции с базой данных» | |
6. Рекомендуемая литература |