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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vladimirem93
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 12
#1

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

27.04.2012, 18:01. Просмотров 554. Ответов 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);}; //äîáГ*ГўГЁГІГј ýëåìåГ*ГІ;
 
};
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 18:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с табличными базами данных. Реализация функции сортировки. (C++):

Работа с базами данных Access - C++
Добрый день увариваемые программисты.. Задали курсовую(буквально вчера) сделать надо до середины мая. Курсовая состоит в том что нужно...

Работа с базами данных Access - C++
Здравствуйте, подскажите пожалуйста, как оперировать с базами данных (Access) в C++ без использования платформы .NET.

Реализация алгоритма сортировки для любых типов данных - C++
Помогите пожалуйста переделать реализацию сортировки так, чтобы она могла работать с любыми типами данных(int, double, etc) Т.е. могла...

Работа сортировки с любыми типами данных - C++
Есть вот такая сортировка: typedef struct node_t *node, node_t; struct node_t { int v; node next; }; typedef struct { node head,...

Реализация сортировки выбором - C++
Есть одномерный массив, который необходимо отсортировать по возрастанию алгоритмом выбора и выводить на экран каждые изменения во время...

Реализация сортировки вставками - C++
На algolist нашёл исходник (вопросы после исходников): template&lt;class T&gt; void selectSort(T a, long size) { long i, j, k; ...

1
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
27.04.2012, 18:03 #2
Алгоритмы сортировок
пожалуйста
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2012, 18:03
Привет! Вот еще темы с ответами:

Реализация алгоритмов сортировки - C++
Массив данных заполнять случайным образом. Рассмотреть массивы данных с элементов типа long и char. Использовать перезагрузку функций для...

Программная реализация древесной сортировки - C++
Программная реализация древесной сортировки Указания: - использовать динамический массив - реализовать графическое представление...

Реализация алгоритма сортировки вставками - C++
Мне нужно сделать лабу тема вверху... перед этим прочитал тему http://www.cyberforum.ru/cpp-beginners/thread27084.html все равно не...

Реализация алгоритма пузырьковой сортировки - C++
Задача на массивы, где нужно банки переливать (ну, у меня она с этим ассоциируется). Раньше решал где-то, но уже не помню где.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru