Форум программистов, компьютерный форум CyberForum.ru

Работа с табличными базами данных. Реализация функции сортировки. - C++

Восстановить пароль Регистрация
 
vladimirem93
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 12
27.04.2012, 18:01     Работа с табличными базами данных. Реализация функции сортировки. #1
Вот код моей программы. Необходимо реализовать функцию сортировки данных!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
//project.cpp - Lab. #8 
#define lname 80
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
//ГЋГЇГЁГ±Г*Г*ГЁГҐ ГЄГ«Г*Г±Г±Г* Г€Г*æåГ*ГҐГ°
char buf_str[lname];
class Engineer
{ private: static int count; char name[lname]; int age; int rank;
friend class Project;
public: Engineer(); ~Engineer();
void set_name(const char*); 
char* get_name();
void set_age(int); 
int get_age(); void set_rank(int);int get_rank(); 
void show(); void read();
};
int Engineer::count = 0; 
// ГђГҐГ*ëèçГ*öèÿ ìåòîäîâ ГЄГ«Г*Г±Г±Г* Г€Г*æåГ*ГҐГ°
Engineer::Engineer(){count++;};
Engineer::~Engineer(){count--; };
void Engineer::set_name(const char*r) { cout<<strlen(r); if (strlen(r) <= lname) {strcpy(name,r);}
else {cout<<"Engineer::set_name: too long name";}
};
char *Engineer::get_name() {return &name[0];};
void Engineer::set_age(int r) {age=r;};
int Engineer::get_age() {return age;};
void Engineer::set_rank(int r) {rank=r;};
int Engineer::get_rank() {return rank;};
void Engineer::show(){cout<<" Name ="<<name<<" Age of engineer= "<<age<<"Rank ="<<rank;};
void Engineer::read() {cout<<"Input Engineer Name "; cin.getline(name, lname);
cout<<" Input Age of engineer "; cin.getline(buf_str, lname); age=atoi(buf_str);
cout<<"Input Rank "; cin.getline(buf_str, lname); rank=atoi(buf_str);};
 
//îïèñГ*Г*ГЁГҐ ГЄГ«Г*Г±Г±Г* ÏðîãðГ*ììèñò
class Programmer: public Engineer
{private: char language [lname]; char organization[lname];
public: void set_language(const char *); char *get_language();
void set_organization(const char *); char *get_organization();
void show(); void read();
};
//ГђГҐГ*ëèçГ*öèÿ ìåòîäîâ ГЄГ«Г*Г±Г±Г* ÏðîãðГ*ììèñò 
void Programmer::set_language(const char *r) {if (strlen(r) <= lname) strcpy(language, r);};
char *Programmer::get_language() {return &language[0];};
void Programmer::set_organization(const char *r) {int i; for (i=0; i<=lname-1; i++)
organization[i]=r[i];};
char *Programmer::get_organization() {return &organization[0];};
void Programmer::show() {Engineer::show(); cout<<" Language="<<language<<" Organization="<<organization<<endl;};
void Programmer::read() {Engineer::read(); cout<<"Input Language "; cin.getline(language, lname);
cout<<" Input Organization ";
cin.getline(organization,lname);};
//îïèñГ*Г*ГЁГҐ ГЄГ«Г*Г±Г±Г* Ïðîåêò
#define max_nprogrammers 20
class Project
{ private: string name; string designer; //
vector <Programmer> Programmers;
vector <Programmer>::iterator pProgrammers;
public: Project();
void set_name(const string); string get_name();
void set_designer(const string); string get_designer();
void show();
void add_programmer(); 
void del_last_programmer(); 
void show_programmers();
void input_programmer(); 
Programmer*find_name(char *name);
void sort_programmer();// ГґГіГ*êöèÿ ñîðòèðîâêè/27 Г*ïðåëÿ
void read_file(int); void save_file();
void financing(); void list_programmers();
void del_programmer(); 
void del_programmer_name();
void clear(){Programmers.clear();};
};
//ГђГҐГ*ëèçГ*öèÿ ìåòîäîâ ГЄГ«Г*Г±Г±Г* Ïðîåêò
Project::Project() {};
void Project::set_name(const string r) {name=r;};
string Project::get_name() {return name;};
void Project::set_designer(const string r) {designer= r;};
string Project::get_designer() {return designer;};
//*  
void Project::show() {cout<<" Project="<<name<<" Designer ="<<designer<<endl;};
void Project::add_programmer() {Programmer b; b.read(); Programmers.push_back(b);};
void Project::del_last_programmer() {Programmers.pop_back();};
void Project::show_programmers() {int i;
for (i=0; i<Programmers.size(); i++) Programmers[i].show();};
void Project::del_programmer_name()
{
cout<<"input book's name for remove"<<endl;
cin.getline(buf_str, lname);
pProgrammers=Programmers.begin();
vector <Programmer>::iterator pProgrammers1;
int i=0;
while (pProgrammers != Programmers.end())
{
if ( strcmp(buf_str, Programmers[i].name)== 0 ) {pProgrammers=Programmers.erase(pProgrammers);
pProgrammers=pProgrammers-1;i--;};
pProgrammers++; i++;
};
};
void Project::save_file()
{int i; string namefile;
namefile=name+".fbd";
ofstream fp(namefile.c_str(), ios::out|ios::binary);
for (i=0; i<Programmers.size(); i++) { fp.write( (char *) &Programmers[i], sizeof(Programmer));
};
fp.close();
cout<<"Project::save_file: BD was saved to '"<<namefile<<"'"<<endl;
};
void Project::read_file(int new_append)
{
Programmer s; string namefile;
cout<<"available files"<<endl;
system("dir *.fbd");
cout<<"input name file"<<endl;
cin>>namefile;
namefile=namefile+".fbd";
ifstream fp(namefile.c_str(), ios::in|ios::binary);
if(!fp){cout<<"Project::read_file: error"<<endl; return;};
if (new_append == 0) Programmers.clear();
while(!fp.eof())
{
Programmer *t; t = new Programmer;
fp.read((char *) t, sizeof(Programmer));
Programmers.push_back(*t);
};
Programmers.pop_back();
fp.close();
cout<<"Project::read_file: file '"<<namefile<<"' was read"<<endl;
cin.ignore();
};
void Project::financing()
{int i, s=0;
int nprogrammers=Programmers.size();
for (i=1; i<=nprogrammers; i++)
{s=s+Programmers[i-1].age;
};
cout<<"Financing= "<<s<<endl;
};
void Project::list_programmers()
{
pProgrammers=Programmers.begin();
for (int i=0; i<Programmers.size(); i++)
{
Programmers[i].show();
cout<<"correct? (y/n/d/a"<<endl;
char c; cin.get(c); cin.ignore(INT_MAX,'\n');
if(c == 'y') Programmers[i].read(); //èçìåГ*ГЁГІГј ýëåìåГ*ГІ
if(c == 'd') {pProgrammers=Programmers.erase(pProgrammers+i); pProgrammers--;}; //ГіГ¤Г*ëèòü ýëåìåГ*ГІ
if(c == 'a') {Programmer t; t.read();
Programmers.insert(pProgrammers+i, t);}; //äîáГ*ГўГЁГІГј ýëåìåГ*ГІ;
 
};
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 18:01     Работа с табличными базами данных. Реализация функции сортировки.
Посмотрите здесь:

C++ реализация алгоритма сортировки для любых типов данных
Реализация блочной сортировки файла C++
C++ Реализация сортировки выбором
Программная реализация древесной сортировки C++
Реализация сортировки вставками C++
C++ Работа сортировки с любыми типами данных
Работа с базами данных Access C++
Реализация алгоритмов сортировки C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
27.04.2012, 18:03     Работа с табличными базами данных. Реализация функции сортировки. #2
Алгоритмы сортировок
пожалуйста
Yandex
Объявления
27.04.2012, 18:03     Работа с табличными базами данных. Реализация функции сортировки.
Ответ Создать тему
Опции темы

Текущее время: 07:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru