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

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

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

Описать структуру Animal, которая содержит данные о животном - C++

20.01.2013, 19:53. Просмотров 569. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста, очень нужно решении вот такой задачи:
объявите структуру Animal, которая должна содержать следующие данные о животном возраст пол, имя, есть/нет хозяина. пользователь должен иметь возможность:
1.формировать любое количество животных в программе
2.подсчитывать количество животных с заданным полом
3.сохранять данные в файле
4.считывать данные из файла
5.сортировать записи согласно заданному критерию

заранее благодарю
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2013, 19:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать структуру Animal, которая содержит данные о животном (C++):

Описать структуру с именем WORKER, которая содержит следующие поля: - C++
1.Описать структуру с именем WORKER, которая содержит следующие поля: NAME - фамилия и инициалы работника; POS - название должности; ...

Создать структуру, которая содержит данные о наличии путевок в турагенстве - C++
Уважаемые жители форума, стоит следующее задание. Надеюсь кто то поможет, а то пропустил лекции, а в гугл что то не помогает. Создать...

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

Как правильно написать функцию, которая редактирует структуру по полю Name и возвращает новую, исправленную структуру?.. - C++
Нужно отредактировать структуру по выбору пользователя. Проблема заключается в создании функции. Подскажите, а лучше покажите, как...

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

Выдать информацию о животном из списка, заданного файлом - C++
Решите задачу: Исходный текстовый файл input.txt содержит строки с информацией об одном домашнем животном и состоит из четырех полей: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
21.01.2013, 00:28 #2
Цитата Сообщение от Marina24 Посмотреть сообщение
5.сортировать записи согласно заданному критерию
сортировать в файле ? или вывести на экран отсортированный список с животными

Добавлено через 45 минут
Скину пока то что имеется
Реализованы все пункты кроме пятого

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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
#include <iostream>
#include <Windows.h>
#include <cstring>
#include <fstream>
using namespace std;
 
void Get_amount_floor();
void Get_Info_in_file();
 
struct Animal
{
 
public:
    void Set_Age(int Value);
    void Set_floor(bool f);
    void Set_Owner(bool O);
    void Set_Name();
    void Get_info(ofstream &out);
 
private:
    int Age;
    bool floor;      /* 1 - м , 0 - ж                     */
    bool Owner;      /* 1 - есть хозяин , 0 - нет хозяина */
    char Name[64];
};
 
//===========================================================================//
 
void main()
{
    system("chcp 1251->text");
    
    ofstream out_file_0("data_Animal.txt"  , ios::out | ios::app) ; /* хранится инфо о животных       */
    //ifstream in_file_0("data_Animal.txt");                            /* считывание инфо о животных     */              
 
MENU:;
    int Operation;
    cout << " 1 - Создать животного " << endl;
    cout << " 2 - Подсчитать количество животных с заданным полом " << endl;
    cout << " 3 - Сохранить информацию о созданном животном в файл " << endl;
    cout << " 4 - Считать информацию о животных из файла " << endl;
    cout << " 5 - Сортировать записи " << endl;
    cout << " 6  - Выход из программы " << endl << endl;
 
    cout << " Ваш выбор : "; cin >> Operation;
 
    switch(Operation)
    {
    case 1: goto CreateAnimal               ; break;
    case 2: goto AmountAnimal_floor         ; break;
    case 3: goto Write_Info_Animal_in_file  ; break;
    case 4: goto Read_Info_Animal_from_file ; break;
    case 5: goto Sort_Animal                ; break;
 
    case 6: exit(1); break;
    default: system("cls") ; goto MENU; break;
    }
 
//===========================================================================//
 
CreateAnimal:;
             
    system("cls");
    Animal New_animal;
    int Age;
    bool f , o ;
    cout << "Введите возраст животного : "                       ; cin >> Age ; New_animal.Set_Age(Age);
    cout << "Введите пол животного ( 1 - м || 0 - ж ) : "        ; cin >> f   ; New_animal.Set_floor(f);
    cout << "Есть ли у животного хозяин ( 1 - да || 0 - нет ) : "; cin >> o   ; New_animal.Set_Owner(o);
                                                                              ; New_animal.Set_Name()  ;
    MessageBox(0," Животное успешно создано " , "Success",MB_OK) ; 
    system("cls") ;
    goto MENU ;
 
//===========================================================================//
// Подсчет количества животных с заданным полом                              //
 
AmountAnimal_floor:;
    Get_amount_floor();
    system("cls");
    goto MENU;
//                                                                           //
//===========================================================================//
// Запись информации о созданом животном в файл                              //
 
Write_Info_Animal_in_file:;
    New_animal.Get_info(out_file_0);
    MessageBox(0,"Запись успешно сделана","Success",MB_OK);
    system("cls");
    goto MENU;
 
//                                                                           //
//===========================================================================//
// Считать информацию о животном из файла                                    //
 
Read_Info_Animal_from_file:;
    Get_Info_in_file();
    MessageBox(0,"Считывание информации прошло успешно ","Success",MB_OK);
    system("cls");
    goto MENU;
 
//                                                                           //
//===========================================================================//
// сортировать записи согласно заданному критерию                            //
 
Sort_Animal:;
 
//                                                                           //
//===========================================================================//
 
    
    MessageBox(0,"Завершение программы","Message",MB_OK);
    exit(0);
}
 
 
//===========================================================================//
// Методы                                                                    //
//===========================================================================//
 
void Animal::Set_Age(int Value)
{
    Age = Value;
}
 
void Animal::Set_floor(bool f)
{
    floor = f;
}
 
void Animal::Set_Owner(bool O)
{
    Owner = O;
}
 
void Animal::Set_Name()
{
    cout << " Введите имя животного : ";
    cin.getline(Name,63);
    cin >> Name;
}
 
void Animal::Get_info(ofstream &out)
{
    if(floor)
    {
        out << "<***************************LOG ANIMAL******************************" << endl;
    }
    else
    {
        out << ">***************************LOG ANIMAL******************************" << endl;
    }
 
    out << "* Информация о живтоном " << endl;
    out << "*\t\t Возраст животного : " << Age << " лет " << endl;
 
    out << "*\t\t Имя животного : ";
    for(int i = 0 ; i <= strlen(Name) - 1 ; i++)
    out << Name[i];
    out << endl;
 
    if(floor)
        out << "*\t\t Пол животного : мужской " << endl;
    else
        out << "*\t\t Пол животного : женский " << endl;
 
    if(Owner)
        out << "*\t\t Есть ли у живтоного хозяин : да " << endl;
    else
        out << "*\t\t Есть ли у живтоного хозяин : нет " << endl;
}
 
void Get_amount_floor()
{
ifstream read_floor("data_Animal.txt");
 
    char buffer;
    int man = 0 , woman = 0;
    for(int i = 0 ; !read_floor.eof() ; i++)
    {
        read_floor >> buffer;
        if(buffer == '<')
            man++;
        if(buffer== '>')
            woman++;
    }
    
    char str[100];
    sprintf(str," Количество животных мужского пола = %d \n Количество животных женского пола = %d "  , man , woman);
    MessageBox(0, str , "" , MB_OK  );
}
 
void Get_Info_in_file()
{
    ifstream file("data_Animal.txt");
    system("cls");
    char buff;
 
    for(int i = 0 ; !file.eof() ; i++)
    {
        buff = file.get();
        cout << buff;
    }
}
1
Marina24
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 4
21.01.2013, 19:26  [ТС] #3
Привет, спасибо огромное!! по поводу 5 пункта : запрос пользователя о сортировке должен быть по от дельному пункту меню;те выводится на экране, можешь помочь это сделать?
0
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
21.01.2013, 22:29 #4
Пробую 5ый реализовать , пока дела не очень )
0
Marina24
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 4
21.01.2013, 22:40  [ТС] #5
Starscream, =((, надеюсь у тебя получится..
0
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
21.01.2013, 22:52 #6
за сегодня наверное не доделаю , завтро будет пара по программированию попрошу препода чтоб помог правда напинает мне за все эти goto
0
Marina24
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 4
22.01.2013, 23:59  [ТС] #7
Starscream, привет, как у тебя получилось что нибудь?)

Добавлено через 5 минут
Starscream, я нашла аналог такого задания как у меня, но у меня не получается его преобразовать в свое задание, могу прислать тебе его, вдруг это поможет с 5 заданием?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2013, 23:59
Привет! Вот еще темы с ответами:

Описать структуру УЧЕНИК - C++
Здравствуйте. Возникла проблема. Пропустил тему в универе а задание требуют. Ввести структуру УЧЕНИК с полями ФИО, ГОД ОБУЧЕНИЯ,...

Описать структуру Student - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include&lt;limits&gt; #define DIM 10 #define NAME 70 using namespace std; struct...

Описать структуру ZNAK - C++
Описать структуру ZNAK, содержащую следующие поля: • Фамилия, имя • Знак зодиака • Дата рождения (массив из 3 чисел). Программа...

Описать структуру Student - C++
Описать структуру Student, которая имеет следующие поля: фамилия,группа,средний бал успеваемости.Отсортировать студентов по алфавиту.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.01.2013, 23:59
Ответ Создать тему
Опции темы

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