Найти количество кубиков каждого из перечисленных цветов и их суммарный объем, на СИ
задача: дан массив структур,содержащий сведения о кубиках: размер каждого кубика(длина ребра в см) и его цвет (красный, желтый, зелёный, синий). Найти количество кубиков каждого из перечисленных цветов и их суммарный объем. Данные взять из созданного файла... при решении задачи обязательно использовать массивы структур.
Помогите, пожалуйста, написать программу!!! Я примерно представляю как необходимо это сделать: создаём файл, задаём количество кубиков, заполняем значения о размере и цвете этих кубиков, потом считываем файл, считаем суммарный объём и выводим значение на экран.
Но моих знаний не хватает, чтобы произвести данные операции, помогите пожалуйста...
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
// Определяем структуру "Кубик"
struct Cube {
float size; // Размер кубика
string color; // Цвет кубика
};
int main() {
const int MAX_SIZE = 100; // Максимальное количество кубиков
Cube cubes[MAX_SIZE]; // Массив структур для хранения данных о кубиках
int count_red = 0, count_yellow = 0, count_green = 0, count_blue = 0; // Счетчики количества кубиков каждого цвета
float total_volume = 0; // Общий объем кубиков
ifstream fin("cubes.txt"); // Открываем файл с данными
if (! fin.is _open()) { // Проверяем, удалось ли открыть файл
cout << "Ошибка открытия файла!" << endl;
return -1;
}
int n = 0; // Счетчик кубиков
// Читаем данные из файла и сохраняем их в массив структур
while (fin >> cubes[n].size >> cubes[n].color) {
// Увеличиваем счетчик количества кубиков каждого цвета
if (cubes[n].color == "красный") {
count_red++;
} else if (cubes[n].color == "желтый") {
count_yellow++;
} else if (cubes[n].color == "зелёный") {
count_green++;
} else if (cubes[n].color == "синий") {
count_blue++;
}
// Увеличиваем общий объем кубиков
total_volume += cubes[n].size * cubes[n].size * cubes[n].size;
n++; // Увеличиваем счетчик кубиков
}
fin.close(); // Закрываем файл
// Выводим результаты на экран
cout << "Количество красных кубиков: " << count_red << endl;
cout << "Количество желтых кубиков: " << count_yellow << endl;
cout << "Количество зеленых кубиков: " << count_green << endl;
cout << "Количество синих кубиков: " << count_blue << endl;
cout << "Общий объем кубиков: " << total_volume << " см^3" << endl;
return 0;
}
за неделю не получилось написать?