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

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

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

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

26.03.2013, 23:05. Просмотров 509. Ответов 13
Метки нет (Все метки)

Сформировать банк данных кинологов, включающий в себя информацию:

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

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

помогите составить программу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 23:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать банк данных кинологов (C++):

Сформировать банк данных кинологов - C++
Помогите пожалуйста. Нужно составить программу, которая обеспечивает ввод полученной информации для N владельцев собак, распечатку ее в...

Используя заданную структуру данных. Сформировать соответствующие функции для обработки этих данных - C++
Пожалуйста помогите написать программу под программу Dev C++ Задание: 1.Описать структуру с именем MARSH, содержащую следующие...

Сформировать из данных заданную упакованную структуру - C++
Помогите пожалуйста!!!Зарание спасибо!!! Составить две программы, первая из которых вводит составные части структуры данных,...

Из данных вектора сформировать матрицу по заданному правилу - C++
Дан вектор Y размером n. Получить матрицу порядка n x m, по таким правилам: aij=yj^i ( в степени i), i є , j є . Помогите пожалуйста,...

Из данных двоичного файла сформировать два массива - C++
Создать двоичный файл, куда записать n вещественных чисел. Из компонентов исходного файла сформировать массивы положительных и...

Сформировать структуру для обработки данных по преподавателям кафедры - C++
Здравствуйте, уважаемые форумчане! Мне нужно сформировать структуру для обработки данных по преподавателям кафедры. Она должна иметь...

13
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
26.03.2013, 23:36 #2
KathrineY, покажите ваши наработки? что не получилось?
0
KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 197
27.03.2013, 19:30  [ТС] #3
Цитата Сообщение от yoghurt92 Посмотреть сообщение
KathrineY, покажите ваши наработки? что не получилось?
я вообще не знаю как делать,(( а сдать уже надо( никогда раньше не работала со структурами. помогите(
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
27.03.2013, 19:41 #4
KathrineY, там нет ничего сложного, как вам задали то, что вы не знаете?
0
KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 197
27.03.2013, 19:57  [ТС] #5
Цитата Сообщение от yoghurt92 Посмотреть сообщение
KathrineY, там нет ничего сложного, как вам задали то, что вы не знаете?
просто 10 заданий. и делайте,как хотите сказали.
я уже вдоволь начиталась про структуры и все равно непонятно как написать программу.
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
27.03.2013, 20:06 #6
KathrineY, а что именно не понятно?
0
KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 197
27.03.2013, 20:22  [ТС] #7
Цитата Сообщение от yoghurt92 Посмотреть сообщение
KathrineY, а что именно не понятно?
как отсортировать по полю «ФИО владельца собаки», вывод на экран меню, содержащего пункты получения информации в зависимости от запроса пользователя. в виде таблицы
0
yoghurt92
374 / 345 / 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;
}
1
KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 197
27.03.2013, 21:08  [ТС] #9
спасибо) по каким запросам сама не знаю. думаю сижу.)

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

а зачем нужен вектор?
стандартный контейнер, замена обычным массивам. со множеством разных примочек.
0
yoghurt92
374 / 345 / 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";
}
1
KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 197
27.03.2013, 23:41  [ТС] #12
а можно этот код на С++ Вuilder?
0
yoghurt92
374 / 345 / 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";
}
1
KathrineY
1 / 1 / 0
Регистрация: 20.11.2012
Сообщений: 197
28.03.2013, 19:36  [ТС] #14
ага)спасибо)
0
28.03.2013, 19:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2013, 19:36
Привет! Вот еще темы с ответами:

Сформировать одномерный массив целых чисел, используя ввод данных с клавиатуры - C++
Найти в массиве наибольшее число подряд идущих одинаковых элементов (например {1,5,3,6,6,6,6,6,3,4,4,5,5,5} = 5). Заранее большое спасибо.

Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании - C++
Заданы два одномерных массива А(N) и В(N). Сформировать массив С(2*N), содержащий элементы обоих массивов, расположенные в порядке...

Сформировать массив данных с помощью структуры. Отсортировать полученный список по полю «год издания» - C++
Сформировать массив данных с помощью структуры. Предметная область – список книг в библиотеке (номер по порядку, ...

Программа банк - C++
Сумма S рублей положена в сбербанк, при этом ежегодный прирост составляет P% и считается непрерывным. Определить, через сколько лет...


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

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

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