Добавил:
vvrstcnho
Рад, если кому-то помог
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы С++ (для ИВТ) / Готовые лабы С++ / Лаба2 / Laba 2 (10)
.cpp#include <iostream>
#include <string>
#include <vector>
#include <windows.h>
using namespace std;
struct Animal {
string name;
int cageNumber;
string favoriteFood;
};
class Zoo {
private:
int animalCount;
vector<Animal> animals;
string workingHours;
string address;
string guardName;
public:
Zoo(string hours = "9:00-18:00", string addr = "", string guard = "")
: animalCount(0), workingHours(hours), address(addr), guardName(guard) {
cout << "Создан зоопарк по адресу: " << address << endl;
}
void addAnimal(string name, int cage, string food) {
animals.push_back({name, cage, food});
animalCount++;
cout << "Добавлен зверь: " << name << " в клетку №" << cage << endl;
}
void feedAnimal(string name, string newFood) {
bool found = false;
for (auto& animal : animals) {
if (animal.name == name) {
cout << "Зверь " << name << " теперь любит " << newFood
<< " (было: " << animal.favoriteFood << ")" << endl;
animal.favoriteFood = newFood;
found = true;
break;
}
}
if (!found) {
cout << "Зверь с именем " << name << " не найден" << endl;
}
}
void changeGuard(string newGuard) {
cout << "Смена сторожа: " << guardName << " -> " << newGuard << endl;
guardName = newGuard;
}
void printInfo() {
cout << "=== ИНФОРМАЦИЯ О ЗООПАРКЕ ===" << endl;
cout << "Адрес: " << address << endl;
cout << "Часы работы: " << workingHours << endl;
cout << "Сторож: " << guardName << endl;
cout << "Количество животных: " << animalCount << endl;
if (animals.empty()) {
cout << "Животных нет" << endl;
} else {
cout << "Список животных:" << endl;
for (auto& animal : animals) {
cout << " " << animal.name << " (клетка №" << animal.cageNumber
<< ", любит: " << animal.favoriteFood << ")" << endl;
}
}
cout << "=============================" << endl;
}
};
int main() {
SetConsoleOutputCP(65001);
Zoo zoo("10:00-20:00", "ул. Зоопарковая, 1", "Петров И.С.");
zoo.printInfo();
zoo.addAnimal("Лев Симба", 1, "мясо");
zoo.addAnimal("Слон Дамбо", 2, "фрукты");
zoo.addAnimal("Обезьяна Чита", 3, "бананы");
zoo.feedAnimal("Лев Симба", "говядина");
zoo.feedAnimal("Тигр", "курятина"); // несуществующий зверь
zoo.changeGuard("Сидоров П.К.");
zoo.printInfo();
return 0;
}
Соседние файлы в папке Лаба2
