ball, //число баллов абитуирента




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. Рекомендуемая литература  

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: