1. Создать класс с заданными полями
2. Создать конструктор без параметров (для начальной инициализации)
3. Создать массив из 5 объектов заданного класса
4. Написать функцию для изменения значений полей (с помощью ссылок)
5. Написать функцию для форматированного вывода всех классов на экран
(упорядоченных по первому полю)
Животное (название вида, вес, возраст, тип рациона)
Другие языки программирования и технологии
Помогите составить программу на С++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
class Animal {
public:
Animal() : kind_("-"), weight_(0), age_(0), diet_("-") {}
void kind(const string& value) { kind_ = value; }
void weight(const double value) { weight_ = value; }
void age(const unsigned value) { age_ = value; }
void diet(const string& value) { diet_ = value; }
private:
string kind_;
double weight_;
unsigned age_;
string diet_;
friend ostream& operator<<(ostream& out, const Animal& x) {
out << x.kind_
<< "\n\tВес: " << x.weight_
<< "\n\tВозраст: " << x.age_
<< "\n\tРацион: " << x.diet_;
return out;
}
friend bool operator<(const Animal& a, const Animal& b) {
return a.kind_ < b.kind_;
}
};
string input_string(const char* msg) {
cout << msg;
string value;
getline(cin, value);
return value;
}
double input_double(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
return value;
}
unsigned input_unsigned(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
return value;
}
Animal input_animal() {
Animal x;
x.kind(input_string("Вид: "));
x.weight(input_double("Вес: "));
x.age(input_unsigned("Возраст: "));
x.diet(input_string("Рацион: "));
return x;
}
int main() {
system("chcp 1251 > nul");
const auto n = 5U;
Animal box[n];
for (auto& item : box) item = input_animal();
system("cls");
sort(begin(box), end(box));
for (const auto& item : box) cout << item << '\n';
system("pause");
}
P.S. Где мои пятьсот? :)
#include <string>
#include <algorithm>
using namespace std;
class Animal {
public:
Animal() : kind_("-"), weight_(0), age_(0), diet_("-") {}
void kind(const string& value) { kind_ = value; }
void weight(const double value) { weight_ = value; }
void age(const unsigned value) { age_ = value; }
void diet(const string& value) { diet_ = value; }
private:
string kind_;
double weight_;
unsigned age_;
string diet_;
friend ostream& operator<<(ostream& out, const Animal& x) {
out << x.kind_
<< "\n\tВес: " << x.weight_
<< "\n\tВозраст: " << x.age_
<< "\n\tРацион: " << x.diet_;
return out;
}
friend bool operator<(const Animal& a, const Animal& b) {
return a.kind_ < b.kind_;
}
};
string input_string(const char* msg) {
cout << msg;
string value;
getline(cin, value);
return value;
}
double input_double(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
return value;
}
unsigned input_unsigned(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
return value;
}
Animal input_animal() {
Animal x;
x.kind(input_string("Вид: "));
x.weight(input_double("Вес: "));
x.age(input_unsigned("Возраст: "));
x.diet(input_string("Рацион: "));
return x;
}
int main() {
system("chcp 1251 > nul");
const auto n = 5U;
Animal box[n];
for (auto& item : box) item = input_animal();
system("cls");
sort(begin(box), end(box));
for (const auto& item : box) cout << item << '\n';
system("pause");
}
P.S. Где мои пятьсот? :)
Похожие вопросы
- Помогите составить программу на паскале!
- Помогите составить программу на pascal
- помогите составить программу на языке Turbo pascal
- Помогите составить программу на языке Pascal
- Помогите составить программу на языке Pascal
- помогите составить программу в паскаль, плиз
- Помогите составить программу на Turbo Pascal?
- Помогите составить программу в Pascal ABC
- Помогите составить программу в Pascal
- Пожалуйста, помогите составить программы для решения следующих задач.