- •Кафедра вычислительных систем и программирования высокоуровневые методы информатики и программирования
- •Санкт-Петербург
- •1.Общие положения по организации
- •2. Программирование информационной мини-системы управления методом процедурно-ориентированного программирования (тема 2).
- •2.1. Постановка задачи и проектирование программы
- •2.2. Реализация программы
- •Vyvod(cout, client);
- •Vyvod(outprintf, client);
- •Void dobzap(fstream &dobf)
- •Int tabn;
- •Int operator!(); //элемент-функция класса
- •Int akt::operator!()
- •4. Блоки лабораторных работ по разделу «Объектно-
- •4.1. Блок по теме «Создание Windows-приложений»
- •4.2. Блоки по теме «Управление многооконными
- •4.2.1. Блок «Ввод/вывод информации»
- •Int k;//номер текущей вводимой строки
- •Invalidate();
- •If (!cursor)//если курсор еще не создан, надо создать.
- •Int X,y;//объявить переменные для хранения координат мыши
- •4.2.2. Меню, акселераторы, кнопки
- •Invalidate();
- •Invalidate(); }
- •4.2.3. Диалоговые окна
- •Invalidate();
- •4.2.4. Управление файловой обработкой
- •Invalidate(); //при вводе символа вид объявл. Не действительным
- •Void AddText(uint text) {data.AppendChar(text);} //доб. В конец стр.
- •Invalidate(); //при вводе символа вид объявл. Не действительным
- •Void Serialize(cArchive& archive);//прототип переопред. Функции
- •Void cData::Serialize(cArchive& archive)
- •If (archive.IsStoring())
- •Implement_serial(cData, cObject, 0)//класс,баз. Класс,номер
- •Invalidate();
- •Invalidate();
- •5.2. Блок по теме «Поддержка баз данных»
- •If (m_Add) //если true, то добавление записи
- •5.3. Блок по теме «Программирование для Internet»
- •If (!pIs) //2 проверка подключения компъютера к Internet
- •If (!pIs) //3 проверка подключения
- •If (!pFc) //5 проверка соединения с ftp-узлом
- •6. Рекомендуемая литература
- •7. Содержание
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;
}
3. Блок лабораторных работ по теме «Объектно-ориентированный подход к проектированию и разработке программ»
lab1 «Классы, объекты, конструкторы»
Цель работы – создание определения класса, объявление объекта класса, инициализация членов-данных класса конструктором.
Условие задачи: имеются данные о таб. номерах и объемах работ рабочих; создать класс, объявить объект класса и проинициализировать его члены-данные значениями 1 и 100000.
Создание проекта консольного приложения
Необходимо выполнить следующие этапы:
- Запустить Visual Studio 2005. Появится стартовая страница Start Page.
- Щелкнуть на кнопке Create Project или выбрать команду File->New->Project. Появится диалоговое окно New Project.
- Выбрать в списке Project Types папку Visual C++ Project Win32, а в списке Templates – Console Application. Ввести имя проекта lab1 и проверить в поле Solution Name имя папки для хранения проекта (lab1).
- Щелкнуть на кнопке OK. Появляется диалоговое окно Win32 Application Wizard lab1. На вкладке Application Setting (параметры приложения) выбрать Console Application.
- Щелкнуть на кнопке Finish. Информация о проекте выводится в окне Solution Explorer. Создается исходный файл lab1.cpp, который будет содержать всего одну пустую функцию main():
int _tmain(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков lab1.h и файл кодов lab1.cpp. Для создания файла lab1.h выполнить следующие этапы:
- Выбрать команду Project->Add New Item. Появится диалоговое окно Add New Item lab1. В списке Categorie должно быть Visual C++ Code.
- Выбрать в списке Templates тип файла заголовков Header File (.h), ввести имя файла lab1.h и щелкнуть на кнопке Add. Появится пустое поле для ввода текста файла lab1.h.
- Ввести текст файла lab1.h и сохранить его.
//файл заголовков lab1.h
#include <iostream>
using std::cout;
class akt
{
public: