Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИиП - Лабораторный практикум на Visual C++ 20...doc
Скачиваний:
2
Добавлен:
13.08.2019
Размер:
650.75 Кб
Скачать

2.2. Реализация программы

Создание проекта консольного приложения

Выполнить этапы создания проекта и ввести имя проекта 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 подключение файла заголовков и тексты функций():

//файл кодов TPlab4_1.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);

}

cout<<setiosflags(ios::left)<<setw(10)

<<"Nomer"<<setw(16)<<"Familija"<<setw(11)

<<"Imja"<<resetiosflags(ios::left)

<<setw(10)<<"Balance"<<endl;

outprintf<<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(cout, client);

Vyvod(outprintf, client);

}

readf.read((char *)&client, sizeof(tip_client));

}

}