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

Сформировать банк данных кинологов - C++

Восстановить пароль Регистрация
 
KathrineY
 Аватар для KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 188
26.03.2013, 23:05     Сформировать банк данных кинологов #1
Сформировать банк данных кинологов, включающий в себя информацию:

ФИО владельца собаки
Кличка собаки
Порода собаки
Дата рождения собаки
Наличие родословной
Наличие медалей

Составить программу, которая обеспечивает ввод полученной информации для N владельцев собак, распечатку ее в виде таблицы, предварительно отсортировав по полю «ФИО владельца собаки», вывод на экран меню, содержащего пункты получения информации в зависимости от запроса пользователя.

помогите составить программу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
26.03.2013, 23:36     Сформировать банк данных кинологов #2
KathrineY, покажите ваши наработки? что не получилось?
KathrineY
 Аватар для KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 188
27.03.2013, 19:30  [ТС]     Сформировать банк данных кинологов #3
Цитата Сообщение от yoghurt92 Посмотреть сообщение
KathrineY, покажите ваши наработки? что не получилось?
я вообще не знаю как делать,(( а сдать уже надо( никогда раньше не работала со структурами. помогите(
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
27.03.2013, 19:41     Сформировать банк данных кинологов #4
KathrineY, там нет ничего сложного, как вам задали то, что вы не знаете?
KathrineY
 Аватар для KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 188
27.03.2013, 19:57  [ТС]     Сформировать банк данных кинологов #5
Цитата Сообщение от yoghurt92 Посмотреть сообщение
KathrineY, там нет ничего сложного, как вам задали то, что вы не знаете?
просто 10 заданий. и делайте,как хотите сказали.
я уже вдоволь начиталась про структуры и все равно непонятно как написать программу.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
27.03.2013, 20:06     Сформировать банк данных кинологов #6
KathrineY, а что именно не понятно?
KathrineY
 Аватар для KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 188
27.03.2013, 20:22  [ТС]     Сформировать банк данных кинологов #7
Цитата Сообщение от yoghurt92 Посмотреть сообщение
KathrineY, а что именно не понятно?
как отсортировать по полю «ФИО владельца собаки», вывод на экран меню, содержащего пункты получения информации в зависимости от запроса пользователя. в виде таблицы
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
27.03.2013, 20:43     Сформировать банк данных кинологов #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
KathrineY, сейчас покажу

Добавлено через 10 минут
KathrineY, как-то так, в виде таблице уже сами сделаете вывод... а какие запросы должны быть? поиск по каким ключам?

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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
 
struct Bank{
    string FIO,
           nickname,
           breed,
           date_of_birth,
           pedigree,
           medal;
 
    void enter_data()
    {
        cout << "\nEnter FIO of owner: ";
            getline(cin, FIO, '\n');
        cout << "Enter the name of the dog: ";
            getline(cin, nickname, '\n');
        cout << "Enter type dog breed: ";
            getline(cin, breed, '\n');
        cout << "Enter the date of birth dogs: ";
            getline(cin, date_of_birth, '\n');
        cout << "Availability of pedigree (yes/no): ";
            getline(cin, pedigree, '\n');
        cout << "Availability medals (yes/no): ";
            getline(cin, medal, '\n');
    }
 
    void print_data()
    {
        cout << "\nFIO of owner: " << FIO;
        cout << "\nEnter the name of the dog: " << nickname;
        cout << "\nEnter type dog breed: " << breed;
        cout << "\nEnter the date of birth dogs: " << date_of_birth;
        cout << "\nAvailability of pedigree (yes/no): " << pedigree;
        cout << "\nAvailability medals (yes/no): " << medal << "\n";
    }
};
 
bool pred(Bank *value1, Bank *value2)
{
    return value1 -> FIO < value2 ->FIO;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    int size;
    cout << "Enter the number of owners: ";
        cin >> size;
        cin.ignore();
 
    //данные будут храниться в векторе
    vector<Bank*> coll;
 
    Bank *Universal;
 
    cout << "\nEnter the data:";
    for(int i = 0; i < size; ++i){
        Universal = new Bank; 
        Universal -> enter_data();
        coll.push_back(Universal);
    }
 
    sort(coll.begin(), coll.end(), pred);
 
    cout << "\nPrint the sorted data:";
    for(unsigned i = 0; i < coll.size(); ++i)
        coll[i] -> print_data();
 
    cout << "\n\n";
    return 0;
}
KathrineY
 Аватар для KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 188
27.03.2013, 21:08  [ТС]     Сформировать банк данных кинологов #9
спасибо) по каким запросам сама не знаю. думаю сижу.)

а зачем нужен вектор?
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
27.03.2013, 21:10     Сформировать банк данных кинологов #10
Цитата Сообщение от KathrineY Посмотреть сообщение
спасибо) по каким запросам сама не знаю. думаю сижу.)

а зачем нужен вектор?
стандартный контейнер, замена обычным массивам. со множеством разных примочек.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
27.03.2013, 22:56     Сформировать банк данных кинологов #11
KathrineY, я чуть позже покажу запросы, надо отойти

Добавлено через 1 час 44 минуты
KathrineY, как-то так получилось

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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
 
struct Bank{
    string FIO,
           nickname,
           breed,
           date_of_birth,
           pedigree,
           medal;
 
    void enter_data()
    {
        cout << "\nEnter FIO of owner: ";
            getline(cin, FIO, '\n');
        cout << "Enter the name of the dog: ";
            getline(cin, nickname, '\n');
        cout << "Enter the type dog breed: ";
            getline(cin, breed, '\n');
        cout << "Enter the date of birth dogs: ";
            getline(cin, date_of_birth, '\n');
        cout << "Availability of pedigree (yes/no): ";
            getline(cin, pedigree, '\n');
        cout << "Availability medals (yes/no): ";
            getline(cin, medal, '\n');
    }
 
    void print_data()
    {
        cout << "\nFIO of owner: " << FIO;
        cout << "\nEnter the name of the dog: " << nickname;
        cout << "\nEnter type dog breed: " << breed;
        cout << "\nEnter the date of birth dogs: " << date_of_birth;
        cout << "\nAvailability of pedigree (yes/no): " << pedigree;
        cout << "\nAvailability medals (yes/no): " << medal << "\n";
    }
 
    string Get(string value)
    {
        if(value == nickname)
            return nickname;
        else if(value == FIO)
            return FIO;
        else
            return breed;
    }
};
 
bool pred(Bank *value1, Bank *value2)
{
    return value1 -> FIO < value2 ->FIO;
}
 
void find_key(vector<Bank*> &, string &);
void menu(vector<Bank*> &);
void instructions();
 
int _tmain(int argc, _TCHAR* argv[])
{
    int size;
    cout << "Enter the number of owners: ";
        cin >> size;
        cin.ignore();
 
    //данные будут храниться в векторе
    vector<Bank*> coll;
 
    Bank *Universal;
 
    cout << "\nEnter the data:";
    for(int i = 0; i < size; ++i){
        Universal = new Bank; 
        Universal -> enter_data();
        coll.push_back(Universal);
    }
 
    /*сортируем по фамилиям*/
    sort(coll.begin(), coll.end(), pred);
 
    cout << "\nPrint the sorted data:";
    for(unsigned i = 0; i < coll.size(); ++i)
        coll[i] -> print_data();
 
    menu(coll);
 
    cout << "\n\n";
    return 0;
}
 
void instructions()
{
    cout << "\n1 - Search on nickname" <<
            "\n2 - Search by owner" <<
            "\n3 - Search by breed" <<
            "\n4 - Exit.\n";
}
 
void menu(vector<Bank*> &_coll)
{
    instructions();
 
    int choice;
    string value;
    
    do{
        cout << "\nEnter your choice: ";
            cin >> choice;
            cin.ignore();
 
        switch(choice){
            case 1:
                cout << "Enter nickname: ";
                getline(cin, value, '\n');
                
                find_key(_coll, value);
                break;
            case 2:
                cout << "Enter FIO of owner: ";
                getline(cin, value, '\n');
 
                find_key(_coll, value);
                break;
            case 3:
                cout << "Enter the type dog breed: ";
                getline(cin, value, '\n');
 
                find_key(_coll, value);
                break;
        }
    }while(choice != 4);
 
    cout << "\t\t\tGood bye!";
}
 
void find_key(vector<Bank*> &_coll, string &_value)
{
    bool flag = false;
 
    for(unsigned i = 0; i < _coll.size(); ++i){
        if(_coll[i] -> Get(_value) == _value){
            flag = true;
            cout << "\nPrint data:";
            _coll[i] -> print_data();
        }
    }
                
    if(!flag)
        cout << "Key is not found!\n";
}
KathrineY
 Аватар для KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 188
27.03.2013, 23:41  [ТС]     Сформировать банк данных кинологов #12
а можно этот код на С++ Вuilder?
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
28.03.2013, 13:22     Сформировать банк данных кинологов #13
Сообщение было отмечено автором темы, экспертом или модератором как ответ
KathrineY, а что компилятору не нравится? на BOOL ругается?

Добавлено через 15 минут
KathrineY, вот так должно на билдере работать

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
156
157
158
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
 
 
#define BOOL int
#define TRUE 1 
#define FALSE 0 
 
struct Bank{
    string FIO,
           nickname,
           breed,
           date_of_birth,
           pedigree,
           medal;
 
    void enter_data()
    {
        cout << "\nEnter FIO of owner: ";
            getline(cin, FIO, '\n');
        cout << "Enter the name of the dog: ";
            getline(cin, nickname, '\n');
        cout << "Enter the type dog breed: ";
            getline(cin, breed, '\n');
        cout << "Enter the date of birth dogs: ";
            getline(cin, date_of_birth, '\n');
        cout << "Availability of pedigree (yes/no): ";
            getline(cin, pedigree, '\n');
        cout << "Availability medals (yes/no): ";
            getline(cin, medal, '\n');
    }
 
    void print_data()
    {
        cout << "\nFIO of owner: " << FIO;
        cout << "\nEnter the name of the dog: " << nickname;
        cout << "\nEnter type dog breed: " << breed;
        cout << "\nEnter the date of birth dogs: " << date_of_birth;
        cout << "\nAvailability of pedigree (yes/no): " << pedigree;
        cout << "\nAvailability medals (yes/no): " << medal << "\n";
    }
 
    string Get(string value)
    {
        if(value == nickname)
            return nickname;
        else if(value == FIO)
            return FIO;
        else
            return breed;
    }
};
 
BOOL pred(Bank *value1, Bank *value2)
{
    return value1 -> FIO < value2 ->FIO;
}
 
void find_key(vector<Bank*> &, string &);
void menu(vector<Bank*> &);
void instructions();
 
int _tmain(int argc, _TCHAR* argv[])
{
    int size;
    cout << "Enter the number of owners: ";
        cin >> size;
        cin.ignore();
 
    //данные будут храниться в векторе
    vector<Bank*> coll;
 
    Bank *Universal;
 
    cout << "\nEnter the data:";
    for(int i = 0; i < size; ++i){
        Universal = new Bank; 
        Universal -> enter_data();
        coll.push_back(Universal);
    }
 
    /*сортируем по фамилиям*/
    sort(coll.begin(), coll.end(), pred);
 
    cout << "\nPrint the sorted data:";
    for(unsigned i = 0; i < coll.size(); ++i)
        coll[i] -> print_data();
 
    menu(coll);
 
    cout << "\n\n";
    return 0;
}
 
void instructions()
{
    cout << "\n1 - Search on nickname" <<
            "\n2 - Search by owner" <<
            "\n3 - Search by breed" <<
            "\n4 - Exit.\n";
}
 
void menu(vector<Bank*> &_coll)
{
    instructions();
 
    int choice;
    string value;
    
    do{
        cout << "\nEnter your choice: ";
            cin >> choice;
            cin.ignore();
 
        switch(choice){
            case 1:
                cout << "Enter nickname: ";
                getline(cin, value, '\n');
                
                find_key(_coll, value);
                break;
            case 2:
                cout << "Enter FIO of owner: ";
                getline(cin, value, '\n');
 
                find_key(_coll, value);
                break;
            case 3:
                cout << "Enter the type dog breed: ";
                getline(cin, value, '\n');
 
                find_key(_coll, value);
                break;
        }
    }while(choice != 4);
 
    cout << "\t\t\tGood bye!";
}
 
void find_key(vector<Bank*> &_coll, string &_value)
{
    BOOL flag = FALSE;
 
    for(unsigned i = 0; i < _coll.size(); ++i){
        if(_coll[i] -> Get(_value) == _value){
            flag = TRUE;
            cout << "\nPrint data:";
            _coll[i] -> print_data();
        }
    }
                
    if(!flag)
        cout << "Key is not found!\n";
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2013, 19:36     Сформировать банк данных кинологов
Еще ссылки по теме:

C++ Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании
Из данных двоичного файла сформировать два массива C++
C++ Сформировать структуру для обработки данных по преподавателям кафедры

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

Или воспользуйтесь поиском по форуму:
KathrineY
 Аватар для KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 188
28.03.2013, 19:36  [ТС]     Сформировать банк данных кинологов #14
ага)спасибо)
Yandex
Объявления
28.03.2013, 19:36     Сформировать банк данных кинологов
Ответ Создать тему
Опции темы

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