Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабЯзыкиПрогрИб.doc
Скачиваний:
1
Добавлен:
12.11.2019
Размер:
320 Кб
Скачать

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.

Дополнительная литература:

  1. Дейтел Х, Дейтел П. Как программировать на С++: Пер. с англ. –М.: ЗАО «Изд. БИНОМ», 2001.

  2. Кораблев В. Самоучитель Visual C++ .NET. – СПб.: Питер; Киев: Изд. Группа BHV, 2004.

  3. Павлов Ф.Ф. Высокоуровневые методы информатики и программирования: лабораторный практикум на Visual C++.NET 2003: СПб.: СПбГИЭУ, 2007.

  4. Разработка приложений на Microsoft Visual C++ 6.0. Учебный курс: Официальное пособие Microsoft для самостоятельной подготовки/Пер. с англ. – М.: Издательско-торговый дом «Русская Редакция», 2000.

  5. Савитч У. Язык С++. Курс объектно- ориентированного программирования, Пер. с англ.-М.: Изд. дом «Вильямс», 2001.

  6. Хортон А. Visual C++ 2005: Пер. с англ. –М.:ООО “И.Д. Вильямс”. 2007.

7. Содержание

1. Общие положения по организации лабораторного

практикума на Visual C++

3

2. Блок лабораторных работ №1 по теме «Представление

управляющих структур программирования»

4

2.1. TPlab1_1 «Структура ветвления с двойным

выбором if/else»

4

2.2. TPlab1_2 «Структура ветвления с множественным

выбором switch»

7

2.3. TPlab1_3 «Структура повторения с предусловием

while, управляемая счетчиком»

8

2.4. TPlab1_4 «Структура повторения с предусловием

while, управляемая меткой»

10

2.5. TPlab1_5 «Структура повторения for»

11

2.6. TPlab1_6 «Структура повторения с постусловием do/while»

13

2.7. TPlab1_7 «Вложенные управляющие структуры»

14

3. Блок лабораторных работ №2 по темам «Структуры

данных фиксированного размера» и «Функции (процедуры)»

16

3.1. TPlab2_1 «Функции, определяемые программистом»

16

3.2. TPlab2_2 «Рекурсивные алгоритмы»

18

3.3. TPlab2_3 «Массивы и функции»

19

3.4. TPlab2_4 «Типовые операции над массивами»

22

4. Блок лабораторных работ №3 по теме «Обработка

файлов данных»

25

4.1. TPlab3_1 «Файл последовательного доступа»

25

4.2. TPlab3_2 «Создание файла прямого доступа»

28

4.3. TPlab3_3 «Запись в файл прямого доступа»

29

4.4. TPlab3_4 «Чтение из файла прямого доступа»

31

5. Индивидуальное задание по теме «Технология процедурного программирования» TPlab4_1 «Операции с базой данных»

34

6. Рекомендуемая литература

39

41