Тема: Допоможіть будь ласка з перенесенням коду мовою Сі на С++.
Всім привіт. Зіткнувся з великими трудностями з перенесенням лаби мовою Сі на С++. Просидів доволі багато часу, навіть дописав її до кінця. Як на мою думку це б мало працювати, но звісно ж все не так).
Кому не важко, можете підказати, що мені варто переробити, що вся працювало. Отож, постановка задачі:
Сформувати файл “К”, що містить інформацію про кубики: розмір кожного кубика (довжина ребра в см), колір (червоний, жовтий, зелений або синій), матеріал (дерево, метал,  картон).
Переписати у файл “КІ” дані:
 - кількість кубиків кожного з кольорів і їх сумарний об’єм;
 - кількість дерев’яних кубиків з ребром 3 см.
===================================================================================
Код написаний мовою Сі:
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main() {
    
    char size[][15] = { "3", "5", "7", "7", "5", "3", "5", "7", "3" };
    char color[][15] = { "red", "yellow", "blue", "blue", "yellow", "red",
     "yellow", "blue", "red" };
    char material[9][15] = { "wood", "metal", "carton", "carton", "metal",
     "wood", "metal", "wood", "carton" };
    int extent[9], counter=0;
    
    FILE* K;
    K = fopen("K.txt", "w");
    for (int i = 0; i < 9; i++) {
        fprintf(K, "\n%s \n%s \n%s", size[i], color[i], material[i]);
    }
    fclose(K);
    FILE* Info;
    Info = fopen("K.txt", "r");
    for (int i = 0; i < 9; i++){
        fscanf(Info,"%s %s %s", size[i], color[i], material[i]);
        if((strcmp(size[i], "3" ) == 0 && strcmp(material[i], "wood") == 0)) {
            counter++;
        }
    }
    fclose(Info);
    
    FILE *KI;
    KI = fopen("KI.txt", "w");
    for (int i = 0; i < 9; i++) {
        extent[i] = pow(atoi(size[i]),3);
        fprintf(KI, "\nExtent for Cube[%i]= %i;",i+1, extent[i]);
    }
        fprintf(KI, "\n\nAmount of cubes with size three and wood material = %i;",
         counter);
    fclose(KI);
}===================================================================================
Розумію, можливо він не ідеальний, но і такий пройшов при перевірці.
І ось мої спроби переписати цей код мовою С++
===================================================================================
#include <iostream>
#include <fstream>
#include <cmath>
#include <cstring>
#include <string>
using namespace std;
int main() {
    char size[][15] = { "3", "5", "7", "7", "5", "3", "5", "7", "3" };
    char color[][15] = { "red", "yellow", "blue", "blue", "yellow", "red","yellow", "blue", "red" };
    char material[9][15] = { "wood", "metal", "carton", "carton", "metal","wood", "metal", "wood", "carton" };
    int extent[9], counter = 0;
    ofstream fout;
    fout.open("K.txt");
    if (!fout.is_open()) {
        cout << "Error! File isn't founded!" << endl;
    }
    else {
        for (int i = 0; i < 9; i++) {
            fout << size[i] << "\n" << color[i] << "\n" << material[i] << "\n" << endl;
        }
        fout.close();
    }
    ifstream fin;
    fin.open("K.txt");
    if (!fin.is_open()) {
        cout << "Error! File isn't founded!" << endl;
    }
    else {
        char info[i] = "";
        while (!fin.eof()) {
            fin >> info;
            cout << info << endl;
        }
        for (int i = 0; i < 256; i++) {
            if ((strcmp(info[i], "3") == 0 && strcmp(info[i], "wood") == 0)) {
                counter++;
            }
        }
    }
    fin.close();
    ofstream foutS;
    foutS.open("KI.txt");
    if (!foutS.is_open()) {
        cout << "Error! File isn't founded!" << endl;
    }
    else {
        for (int i = 0; i < 256; i++) {
            extent[i] = pow(atoi(info[i]), 3);
            foutS << "\nExtent for Cube[" << i + 1 << "] = " << extent[i] << ";" << endl;
        }
        foutS << "\nEAmount of cubes with size three and wood material" = << counter << endl;
    }===================================================================================
Старався виконати, но безрезультатно. Кому неважко, прошу допомогти з виконанням. Пояснити якось, чи переписати частинку чи весь код, щоб я міг зрозуміти, що не так. Дякую!
