Проектирование классов в языке С++ для обработки файловых данных
Описание разработанных функций конструкторов и деструкторов, вывода данных на экран, добавления и удаления записей, сортировки, сохранения данных в файл. Блок-схемы алгоритмов обработки файловых данных. Листинг программы "Оружейный магазин" на языке С++.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.10.2012 |
Размер файла | 3,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Тема курсовой работы: Проектирование классов в языке С++ для обработки файловых данных.
Постановка задачи: Спроектировать необходимые классы и разработать программу на языке С++ для обработки данных. Обработка данных должна включать
Следующие функции:
1. Загрузка информации из существующей базы данных (вывод из файла).
2. Просмотр (вывод на экран) существующей базы данных.
3. Добавление новой записи в базу данных.
4. Удаление записи из базы данных.
5. Редактирование записи в базе данных.
6. Сортировка записей по числовому полю.
7. Сортировка записей по строковому полю.
8. Структурная сортировка записей.
9. Сохранение результатов обработки (запись в файл).
10. Поиск в базе данных (по одному и двум признаком) с выводом на экран найденных записей или сообщения о неуспешном поиске.
11. Формирование перечня.
12. Просмотр (вывод на экран) перечня.
13. Сортировка перечня.
14. Сохранение перечня.
Работа программы должна осуществляться с использованием меню. В исходной базе данных должно содержаться не менее двадцати записей.
Наименование банка |
Адрес банка |
Вид банка |
Процент |
Срок вклада |
1. Описание разработанных функций
Название функции |
Параметры функции |
Назначение функции |
|
dmas1() |
Без параметров |
Конструктор по-умолчанию |
|
~dmas1() |
Без параметров |
Деструктор |
|
dmas1(dmas1 &z) |
Объект типа dmas1 |
Конструктор копирования |
|
void input() |
Без параметров |
Функция ввода |
|
void output() |
Без параметров |
Функция вывода на экран |
|
void outputFile() |
Без параметров |
Функция сохранения в файл |
|
void add() |
Без параметров |
Функция добавления записи |
|
void del() |
Без параметров |
Функция удаления записи |
|
void search() |
Без параметров |
Функция поиска |
|
void search2() |
Без параметров |
Функция поиска по 2 параметрам |
|
void redak() |
Без параметров |
Функция редактирования |
|
void sortA() |
Без параметров |
Функция сортировки |
|
void sortC() |
Без параметров |
Функция сортировки |
|
void sortS() |
Без параметров |
Функция сортировки |
|
friend void make(dmas1 &m,dmas2 &k) |
Объект типа dmas1, объект типа dmas2 |
Функция создания перечня |
|
dmas1 operator=(dmas1 &z) |
Объект типа dmas1 |
Перегрузка операции присваивания |
|
dmas2() |
Без параметров |
Конструктор по-умолчанию |
|
~ dmas2() |
Без параметров |
Деструктор |
|
dmas2 operator=(dmas2 &z) |
Объект типа dmas2() |
Конструктор копирования |
|
void output() |
Без параметров |
Функция вывода на экран |
|
void outputFile() |
Без параметров |
Функция сохранения в файл |
|
void sortA() |
Без параметров |
Функция сортировки |
|
void sortC() |
Без параметров |
Функция сортировки |
|
void outputBin() |
Без параметров |
Функция сохранения в бинарный файл |
|
void inputBin() |
Без параметров |
Функция ввода из бинарного файла |
|
dmas2& operator=(dmas2 &z) |
Объект типа dmas2() |
Перегрузка операции присваивания |
2. Блок-схемы
конструктор деструктор алгоритм программа
3. Листинг программы
#include <vcl.h>
#pragma hdrstop
#include <conio.h>
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <iomanip.h>
#include <stdlib.h>
const int L=21;
struct bank
{char naim[L],adres[L],vid[L];
int pr,sr;
};
struct perech
{char vid[L];
int ng;
};
class dmas2;
class dmas1
{private:bank *px;
int n;
public:dmas1():px(NULL),n(0){}
dmas1(dmas1 &z);
~dmas1(){if(px!=NULL) delete px;}
dmas1 operator=(dmas1 &z);
void input();
void output();
void add();
void del();
void sortA();
void sortC();
void sortS();
void redak();
void outputFile();
void search();
void search2();
friend void make(dmas1 &m,dmas2 &k);
};
class dmas2
{private:perech *py;
int l;
public:dmas2():py(NULL),l(0){}
dmas2(dmas2 &z);
~dmas2(){if(py!=NULL)delete py;}
friend void make(dmas1 &m,dmas2 &k);
void output();
void outputFile();
void outputBin();
void inputBin();
void sortA();
void sortC();
dmas2 operator=(dmas2 &z);
};
void main()
{int j;
dmas1 a;
dmas2 b,c;
while(1)
{clrscr();
cout<<" Menu:\n"
<<"1.Vvod uz file\n"
<<"2.Vuvod na ekran\n"
<<"3.Alphavutnaya sorturovka\n"
<<"4.Cufrovaya sorturovka\n"
<<"5.Structurnaya sorturovka\n"
<<"6.Dobavlenue zapucu\n"
<<"7.Ydalenue zapucu\n"
<<"8.Redakturovanue\n"
<<"9.Pousk\n"
<<"10.Pousk po 2\n"
<<"11.Save in file\n"
<<"12.Co3danue perechnya\n"
<<"13.Prosmotr perech\n"
<<"14.Save perech in file\n"
<<"15.Alphavutnaya sorturovka perech\n"
<<"16.Cufrovaya sorturovka perech\n"
<<"17.Save in bin file perech\n"
<<"18.Proverka save in ni file perech\n"
<<"19.Exit\n"
<<"\n Vaw vubor - ";cin>>j;
switch(j)
{case 1:a.input();break;
case 2:a.output();break;
case 3:a.sortA();a.output();break;
case 4:a.sortC();a.output();break;
case 5:a.sortS();a.output();break;
case 6:a.add();break;
case 7:a.del();break;
case 8:a.redak();break;
case 9:a.search();break;
case 10:a.search2();break;
case 11:a.outputFile() ;break;
case 12:make(a,b);break;
case 13:b.output();break;
case 14:b.outputFile();break;
case 15:b.sortA();b.output();break;
case 16:b.sortC();b.output();break;
case 17:b.outputBin();break;
case 18:c.inputBin();c.output();break;
case 19:cout<<"Thanks!!!\n";getch();return;
}
}
}
dmas1::dmas1(dmas1 &z)
{int i;
n=z.n;
if(n==0)px=NULL;
else {px=new bank[n];
if(px==NULL){cout<<"Haven't dinam memory\n";getch();exit(1);}
for(i=0;i<n;i++)
px[i]=z.px[i];
}
}
dmas2::dmas2(dmas2 &z)
{int i;
l=z.l;
if(l==0)py=NULL;
else {py=new perech[l];
if(py==NULL){cout<<"Haven't dinam memory\n";getch();exit(1);}
for(i=0;i<l;i++)
py[i]=z.py[i];
}
}
dmas2 dmas2::operator=(dmas2 &z)
{int i;
if(l!=z.l) if(py!=NULL) delete[] py;
l=z.l;
if(l==0)py=NULL;
else {py=new perech[l];
if(py==NULL){cout<<"Net dinam memory\n";getch();exit(1);}
for(i=0;i<l;i++)
py[i]=z.py[i];
}
return *this;
}
dmas1 dmas1::operator=(dmas1 &z)
{int i;
if(n!=z.n) if(px!=NULL) delete[] px;
n=z.n;
if(n==0)px=NULL;
else {px=new bank[n];
if(px==NULL){cout<<"Net dinam memory\n";getch();exit(1);}
for(i=0;i<n;i++)
px[i]=z.px[i];
}
return *this;
}
void dmas1::input()
{bank t;
ifstream fin;
char file[L];
int i;
if(px!=NULL)delete[] px;
cout<<"Vvedute um9 file - ";cin>>file;
fin.open(file);
if(fin.fail()){cout<<"Het fila\n";getch();return;}
while(1)
{fin>>t.naim>>t.adres>>t.vid>>t.pr>>t.sr;
if(fin.fail())break;
n++;
}
px=new bank[n];
if(px==NULL){cout<<"Haven't dinam memory\n";n=0;getch();return;}
fin.clear();
fin.seekg(0);
for(i=0;i<n;i++)
fin>>px[i].naim>>px[i].adres>>px[i].vid>>px[i].pr>>px[i].sr;
if(fin.fail()){cout<<"Owubka vvoda\n";getch();n=0;if(px!=NULL)delete[] px;px=NULL;return;}
cout<<"File vveden\n";
getch();
fin.close();
}
void dmas1::add()
{bank *t;
int i;
t=new bank[n+1];
if(t==NULL){cout<<"Haven't dinam memory\n";getch();return;}
for(i=0;i<n;i++)
t[i]=px[i];
if(px!=NULL)delete[] px;
cout<<"Vvedute 3apuc':\n";
cout<<"Naumenovanue : ";cin>>t[n].naim;
cout<<"Adress : ";cin>>t[n].adres;
cout<<"Vid banka : ";cin>>t[n].vid;
cout<<"Procent : ";cin>>t[n].pr;
cout<<"Srok : ";cin>>t[n].sr;
n=n+1;
px=new bank[n];
if(px==NULL){cout<<"Haven't dinam memory\n";getch();return;}
for(i=0;i<n;i++)
px[i]=t[i];
delete[] t;
cout<<"3apuc' dobavlena\n";
getch();
}
void dmas1::del()
{int i,p;
bank *t;
char v;
output();
cout<<"Bblbepute nomer 3apucu- ";cin>>p;
if (p<1 || p>n) {cout<<"takou 3apucu net\n";
getch();
return;
}
cout<<p<<" 3apuc':\n";
cout<<px[p-1].naim<<" "<<px[p-1].adres<<" "<<px[p-1].vid<<" "<<px[p-1].pr<<" "<<px[p-1].sr<<endl;
cout<<"Ydalut'?(y/n): ";cin>>v;
p--;
if(v=='y'||v=='Y'){t=new bank[n];
if(t==NULL){cout<<"Net Dinam memory\n";getch();return;}
t=px;
delete[] px;
px=new bank[n-1];
for(i=0;i<p;i++)
px[i]=t[i];
for(i=p;i<n;i++)
px[i]=t[i+1];
n--;
cout<<"3apuc' ydalena\n";
getch();
delete[] t;
return;}
cout<<"3apuc' don't delete\n";
getch();
}
void dmas1::sortA()
{int i,fl,n1=n;
bank t;
if(n==0){cout<<"Net maccuva ctpyktyp\n";return ;}
do{fl=0;
n1=n1-1;
for(i=0;i<n1;i++)
if(strcmp(px[i].naim,px[i+1].naim)>0){t=px[i];
px[i]=px[i+1];
px[i+1]=t;
fl=1;
}
}while(fl==1);
}
void dmas1::sortC()
{int i,fl,n1=n;
bank t;
if(n==0){cout<<"Net maccuva ctpyktyp\n";return ;}
do{fl=0;
n1=n1-1;
for(i=0;i<n1;i++)
if(px[i].pr>px[i+1].pr){t=px[i];
px[i]=px[i+1];
px[i+1]=t;
fl=1;
}
}while(fl==1);
}
void dmas1::sortS()
{bank t;
int i,fl,n1=n;
if(n==0){cout<<"Net maccuva ctpyktyp\n";return ;}
do{fl=0;
n1=n1-1;
for(i=0;i<n1;i++)
if(strcmp(px[i].vid,px[i+1].vid)>0) {t=px[i];
px[i]=px[i+1];
px[i+1]=t;
fl=1;
}
else if(strcmp(px[i].vid,px[i+1].vid)==0) if(px[i].sr >px[i+1].sr){t=px[i];
px[i]=px[i+1];
px[i+1]=t;
fl=1;}
}while(fl==1);
}
void make(dmas1 &m,dmas2 &k)
{int i,j,fl,l;
perech *y;
if(m.n==0){cout<<"Net maccuva\n";getch();return;}
y=new perech[m.n];
if(y==NULL){cout<<"Net dinam pam9tu\n";getch();return;}
l=0;
for(i=0;i<m.n;i++)
{fl=0;
for(j=0;j<l;j++)
if(strcmp(m.px[i].vid,y[j].vid )==0){y[j].ng++;
fl=1;
break;
}
if(fl==0){strcpy(y[l].vid,m.px[i].vid);
y[l].ng=1;
l++;
}
}
if(k.py!=NULL)delete[] k.py;
k.py=new perech[l];
for(j=0;j<l;j++)
k.py[j]=y[j];
delete[] y;
k.l=l;
cout<<"Pere4en' co3dan\n";
getch();
}
void dmas2::outputBin()
{ofstream fout;
char file[L];
if(l==0){cout<<"Net perchnya\n";getch();return;}
cout<<"VVedite um9 vuxodnogo binarnogo file: ";cin>>file;
fout.open(file,ios::binary,ios::trunc);
if(fout.fail()){cout<<"File don't open\n";getch();return;}
fout.write((char *)py,l*sizeof(perech));
if(fout.fail()){cout<<"Owubka pru 3apucu\n";fout.close();getch();return;}
cout<<"File napechatan\n";
getch();
}
void dmas2::inputBin()
{ifstream fin;
char file[L];
cout<<"Vvedute um9 vxodnogo binarnogo file : ";cin>>file;
fin.open(file,ios::binary);
if(fin.fail()){cout<<"Owubka vvoda file\n";getch();fin.close();return;}
fin.seekg(0,ios::end);
l=fin.tellg()/sizeof(perech);
if(py!=NULL)delete[] py;
py=new perech[l];
if(py==NULL){cout<<"Don't have dinam memory\n";getch();l=0;fin.close();return;}
fin.read((char*)py,l*sizeof(perech));
if(fin.fail()){cout<<"Owubka pru 4tenuu\n";getch();l=0;delete[] py;fin.close();return;}
cout<<"File vveden\n";
getch();
fin.close();
}
void dmas2::sortA()
{perech t;
int i,fl,l1=l;
if(l==0){cout<<"Net perechn9\n";return;}
do{fl=0;
l1=l1-1;
for(i=0;i<l1;i++)
if(strcmp(py[i].vid,py[i+1].vid)>0){t=py[i];
py[i]=py[i+1];
py[i+1]=t;
fl=1;
}
}while(fl==1);
}
void dmas2::sortC()
{perech t;
int i,fl,l1=l;
if(l==0){cout<<"Net perechn9\n";return;}
do{fl=0;
l1=l1-1;
for(i=0;i<l1;i++)
if(py[i].ng>py[i+1].ng){t=py[i];
py[i]=py[i+1];
py[i+1]=t;
fl=1;
}
}while(fl==1);
}
void dmas2::output()
{int i;
cout<<left;
cout<<"================================\n";
cout<<"| # | Vid banka | Ng |\n";
cout<<"================================\n";
for(i=0;i<l;i++)
cout<<"|"<<setw(2)<<i+1<<" |"<<setw(18)<<py[i].vid<<"|"<<setw(3)<<py[i].ng<<" |\n";
cout<<"================================\n";
cout<<right;
getch();
}
void dmas2::outputFile()
{int i;
ofstream fout;
char file[L];
cout<<"Vvedute file name : ";cin>>file;
fout.open(file,ios::trunc);
if(fout.fail()){cout<<"File ne nauden\n";getch();return;}
fout<<left;
fout<<"================================\n";
fout<<"| # | Naumenovanue | Ng |\n";
fout<<"================================\n";
for(i=0;i<l;i++)
fout<<"|"<<setw(2)<<i+1<<" |"<<setw(18)<<py[i].vid<<"|"<<setw(3)<<py[i].ng<<" |\n";
fout<<"================================\n";
if(fout.fail()){cout<<"Owubka zapucu\n";getch();fout.close();return;}
cout<<"Perechen napechatan\n";
fout.close();
getch();
}
void dmas1::output()
{int i;
cout<<left;
cout<<"==============================================\n";
cout<<"| # | Naumenovanue | Adres | Vid |Procent|Crok|\n";
cout<<"==============================================\n";
for(i=0;i<n;i++)
cout<<"|"<<setw(2)<<i+1<<" |"<<setw(18)<<px[i].naim<<"|"<<setw(18)<<px[i].adres<<"|"<<setw(7)<<px[i].vid<<"|"<<setw(7)<<px[i].pr<<"|"<<setw(4)<<px[i].sr<<"|\n";
cout<<"==============================================\n";
cout<<right;
getch();
}
void dmas1::outputFile()
{int i;
ofstream fout;
char file[L];
cout<<"Umya file for save : ";cin>>file;
fout.open(file,ios::trunc);
if(fout.fail()){cout<<"File ne nauden\n";getch();return;}
fout<<left;
fout<<"==============================================\n";
fout<<"| # | Naumenovanue | Adres | Vid |Procent|Crok|\n";
fout<<"==============================================\n";
for(i=0;i<n;i++)
fout<<"|"<<setw(2)<<i+1<<" |"<<setw(18)<<px[i].naim<<"|"<<setw(18)<<px[i].adres<<"|"<<setw(7)<<px[i].vid<<"|"<<setw(7)<<px[i].pr<<"|"<<setw(4)<<px[i].sr<<"|\n";
fout<<"==============================================\n";
fout<<right;
if(fout.fail()){cout<<"Owubka zapucu\n";getch();fout.close();return;}
cout<<"Massiv napechatan\n";
fout.close();
getch();
}
void dmas1::redak()
{int p,sw,red;
char v,name[L],v1,v2;
if (n==0) {cout<<"Maccuva net.\n";
getch();
return;
}
do{do{
output();
cout<<"nomer redaturyemou zapucu: "; cin>>p;
if(p<1||p>n){cout<<"Takoy zapucu net\n";getch();return;}
cout<<"\nVvuberute pole dlya redaktupovanuya:\n"
<<"1.Naumenovanue\n";
cout<<"2.Adres\n";
cout<<"3.Vid\n";
cout<<"4.Procent\n";
cout<<"5.Crok\n";
cout<<"\n Vaw vubor - ";cin>>sw;
cout<<endl;
switch(sw)
{case 1:cout<<"Naumenovanue : ";cin>>name;
cout<<"Redakturovat'?(y/n)";cin>>v;
if(v=='Y'||v=='y'){strcpy(px[p].naim,name);cout<<"Zapuc' otredaktupovana\n";}
else cout<<"Zapuc' ne otredak\n";
getch();
break;
case 2:cout<<"Adres : ";cin>>name;
cout<<"Redakturovat'?(y/n)";cin>>v;
if(v=='Y'||v=='y'){strcpy(px[p].adres,name);cout<<"Zapuc' otredaktupovana\n";}
else cout<<"Zapuc' ne otredak\n";
getch();
break;
case 3:cout<<"Vid banka : ";cin>>name;
cout<<"Redakturovat'?(y/n)";cin>>v;
if(v=='Y'||v=='y'){strcmp(px[p].vid,name);cout<<"Zapuc' otredaktupovana\n";}
else cout<<"Zapuc' ne otredak\n";
getch();
break;
case 4:cout<<"Procent : ";cin>>red;
cout<<"Redakturovat'?(y/n)";cin>>v;
if(v=='Y'||v=='y'){px[p].pr=red;cout<<"Zapuc' otredaktupovana\n";}
else cout<<"Zapuc' ne otredak\n";
getch();
break;
case 5:cout<<"Crok : ";cin>>red;
cout<<"Redakturovat'?(y/n)";cin>>v;
if(v=='Y'||v=='y'){px[p].sr=red;cout<<"Zapuc' otredaktupovana\n";}
else cout<<"Zapuc' ne otredak\n";
getch();
break;
default:break; }
cout<<"Redak ewe odno pole?(y/n) - ";cin>>v1;
}while(v1=='Y'||v1=='y');
cout<<"Redak ewe odny zapuc?(y/n) - ";cin>>v2;
}while(v2=='Y'||v2=='y');
}
void dmas1::search2()
{char naim[L];
int i,vid,j;
j=1;
cout<<"\nVvedute naumenovanue for search : ";cin>>naim;
cout<<"\nVvedute procent for search : ";cin>>vid;
cout<<left;
cout<<"=========================================\n";
cout<<"| # | Naumenovanue | Adres | Vid |Procent|Crok|\n";
cout<<"==========================================\n";
for(i=0;i<n;i++)
if(strcmp(px[i].naim,naim)==0&&px[i].pr==vid){ cout<<"|"<<setw(2)<<j<<" |"<<setw(18)<<px[i].naim<<"|"<<setw(18)<<px[i].adres<<"|"<<setw(7)<<px[i].vid<<"|"<<setw(7)<<px[i].pr<<"|"<<setw(4)<<px[i].sr<<"|\n";
j++;}
cout<<"=============================================\n";
cout<<right;
getch();
}
void dmas1::search()
{int i,j,vid;
j=1;
cout<<"\nVvedute crok for search : ";cin>>vid;
cout<<left; cout<<"============================================\n";
cout<<"| # | Naumenovanue | Adres | Vid |Procent|Crok|\n";
cout<<"==============================================\n";
for(i=0;i<n;i++)
if(px[i].sr==vid){ cout<<"|"<<setw(2)<<j<<" |"<<setw(18)<<px[i].naim<<"|"<<setw(18)<<px[i].adres<<"|"<<setw(7)<<px[i].vid<<"|"<<setw(7)<<px[i].pr<<"|"<<setw(4)<<px[i].sr<<"|\n";
j++;} cout<<"=================================================\n";
cout<<right;
getch();
}
4. Тестирование программы
Заключение
На современном этапе развития общества, когда происходит полная компьютеризация, время требует от программистов разработки новых программ, которые сумеют облегчить труд людей в разных сферах жизни человека. Современному человеку необходимы программы для реализации их возрастающей масштабов деятельности и данная программа поможет им в этом.
Разработанная программа «Оружейный магазин» позволяет любому пользователю ввести базу данных оружий. Данная программа может использоваться в оружейных магазинах и в других местах.
Список использованной литературы
1. С/С++ Программирование на языке высокого уровня , Павловская Т.А.- СПб.::Питер,2009-461 с. :ил.
2. Лекции по программированию на ЯВУ, Хасанов А.Ю., 2011
Размещено на Allbest.ru
Подобные документы
Структура записей входного массива. Описание основных типов данных. Алгоритм программы: присвоение начальных значений переменных, чтение списка из файла, вывод данных на экран, выполнение обработки данных, сохранение списка в файл. Листинг программы.
курсовая работа [325,2 K], добавлен 28.12.2012Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.
курсовая работа [336,2 K], добавлен 27.06.2015Разработка программы "Игроки КХЛ 2012-2013" на языке С++ с использованием классов списков структур для обработки данных. Описание глобальных переменных, разработанных функций. Главное меню программы. Чтение данных из файла, их просмотр и сохранение.
курсовая работа [2,2 M], добавлен 17.03.2016Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.
лекция [169,7 K], добавлен 19.08.2013Создание на языке C базы данных "Стадионы города", требования к программе. Осуществление загрузки базы данных в массив и вывод главного меню в основной программе. Алгоритм работы программы в виде блок-схемы. Описание функций программы и ее листинг.
курсовая работа [183,6 K], добавлен 06.10.2010Особенности проектирования программы на языке С++ для обработки данных из таблиц базы данных. Основные функции программы, создание концептуальной модели базы данных и диаграммы классов, разработка интерфейса пользователя и запросов к базе данных.
курсовая работа [2,1 M], добавлен 08.06.2012Изучение условий поставленной задачи и используемых данных для разработки программы хранения информации о рейсах поезда. Описание разработанных функций, листинга, блок-схем алгоритмов и дерева функции. Рассмотрение сценария диалога данной программы.
курсовая работа [532,7 K], добавлен 20.07.2014Разработка программы на языке Си++ и осуществление постановки и выбора алгоритмов решения задач обработки экономической информации, создание и редактирование базы данных, сортировка записей по определенному запросу, анализ эффективности обработки данных.
контрольная работа [316,8 K], добавлен 28.08.2012Описание программы, реализующей различные операции над строковыми типами данных, а также методы их обработки для получения заданных в задании результатов. Требования к программному продукту. Процедура проверки сохранения данных программы перед закрытием.
курсовая работа [1,1 M], добавлен 26.02.2015Основные понятия объектно-ориентированного программирования, особенности описания функций и классов. Разработка программы для работы с универсальной очередью установленного типа, добавления и удаления ее элементов и вывода содержимого очереди на экран.
курсовая работа [187,2 K], добавлен 27.08.2012