Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 09.02.2018
Сообщений: 6
1

Дерево каталогов с использованием наследования классов

28.04.2018, 18:22. Показов 1926. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется только подобие с единственным классом и не всеми реализованными функциями. Помогите реализовать функции и/или преобразовать с использованием наследников

Собственно задача:
Дерево каталогов файловой системы. Каталоги одного типа, файлы различных типов (текстовый, графический, бинарный, файл-ссылка на файл или каталог). Реализовать поиск, создание, копирование, перенос, удаление, вычисление занимаемого места файлов и каталогов (иерархию файлов и каталогов не нужно отображать на реальную файловую систему).

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
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include "CatalogTree.h"
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
 
        char category [50];
        cout << "Введите категорию объекта: ";
        cin.getline(category, 50);
        
        char type [50];
        cout << "Введите тип файла: ";
        cin.getline(type, 50);
        
        char name [50];
        cout << "Введите имя файла: ";
        cin.getline(name, 50);
 
        char information[50];
        cout << "Введите информацию о расположении объекта: ";
        cin.getline(information, 50);
 
 
        CatalogTree object(category, type, name, information);
 
        cout << "\nСоздан объект: " << object.get_category() << endl << object.get_type() << endl << object.get_name()<< endl<< object.get_information() << endl << endl;
 
        CatalogTree* CatalogTree1;
        
        cout << "Введите категорию объекта: ";
        cin.getline(category, 50);
        
        cout << "Введите тип файла: ";
        cin.getline(type, 50);
        
        cout << "Введите имя файла: ";
        cin.getline(name, 50);
 
        cout << "Введите информацию о физическом расположении";
        cin.getline(information, 50);
 
    CatalogTree1 = new CatalogTree(category, type, name, information);
    cout << "\nСоздан объект: " <<  CatalogTree1->get_category() << endl << CatalogTree1->get_type()<< endl<< CatalogTree1->get_name() << endl << CatalogTree1->get_information() << endl << endl;
    
    CatalogTree1->copy();
    
    char newinformation[50];
    cout << "Введите новую информацию о физическом расположении: " << endl;
    cin.getline(newinformation,50);
    
    CatalogTree1->replace(newinformation,information); 
 
    cout << " Измененная информация о местоположении объекта: "<<  CatalogTree1->get_category() << endl << CatalogTree1->get_type()<< endl<< CatalogTree1->get_name()  << endl << CatalogTree1->get_information();
      
 
        _getch();
    return 0;
}
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
#pragma once
class CatalogTree
{
private:
    char* f_category; // каталог или файл
    char* f_type; //тип файла
    char* f_name;
    char* f_information;
    
 
public:
    char* get_category();
    char* get_type();
    char* get_name(); 
    char* get_information(); 
 
    CatalogTree(char* category, char* type, char* name, char*information);
 
    CatalogTree* copy();
    char* replace( char *newinformation, char *information);
 
 
    ~CatalogTree(void);
};
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
#include "StdAfx.h"
#include "CatalogTree.h"
#include <string>
 
char* CatalogTree::get_category() 
{
    return f_category; 
}
 
char* CatalogTree::get_type() 
{
    return f_type; 
}
 
char* CatalogTree::get_name() 
{
    return f_name; 
}
char* CatalogTree::get_information() 
{
    return f_information; 
}
 
CatalogTree::CatalogTree(char* category, char* type, char* name, char*information)
{
    f_name = name; 
    f_category = category; 
    f_type = type;
    f_information = information;
}
 
CatalogTree* CatalogTree::copy()
{
    CatalogTree* CatalogTree2;
    CatalogTree2 = new CatalogTree(f_name, f_category, f_type, f_information);
    return CatalogTree2;
 
}
 
char* CatalogTree::replace( char *newinformation,char *information)
 {
   strcpy(information,newinformation);
   return information;
 }
 
CatalogTree::~CatalogTree(void)
{
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2018, 18:22
Ответы с готовыми решениями:

На основе указанных классов создать набор классов с использованием множественного наследования
Создать базовый класс «Транспорт» и производные от него классы «Автомобиль», «Поезд», «Самолет»....

Оцените реализацию классов с использованием наследования
Программируя, я никогда раньше не пользовался наследованием классов и всем, что к этому относится и...

Разработать программу с использованием наследования классов, реализующую классы
Ребят помоги пожалуйста начинающему программисту. Использовать максимально возможное количество...

Разработать программу с использованием наследования классов, реализующую классы: точка; линия; круг
помогите написать программу: Разработать программу с использованием наследования классов,...

3
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
28.04.2018, 19:43 2
Замени указатели на массивы, а ещё лучше на string.
0
0 / 0 / 0
Регистрация: 09.02.2018
Сообщений: 6
30.04.2018, 20:17  [ТС] 3
Предположим, сделано. А как быть с наследованием?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
30.04.2018, 20:26 4
Ну минимум два класса должно быть: файл и каталог. От общего предка, например. В каталоге будет массив файлов и массив каталогов, которые он содержит.
0
30.04.2018, 20:26
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2018, 20:26
Помогаю со студенческими работами здесь

Построение иерархии классов с использованием наследования
Доброго времени суток. У меня вот такая проблема. Недавно взял подкурс по С#. ПРоблема в том, что я...

Разработать программу с использованием наследования классов
Разработать программу с использованием наследования классов, реализующую классы: • зверь;...

Создать иерархию классов с использованием механизма наследования
Создать иерархию классов с использованием механизма наследования. В качестве базового класса должен...

Удалить дерево каталогов и все что в них лежит, если таких каталогов нет во втором
Помогите пожалуйста решить такую задачу. Указываем два каталога. Если в первом каталоге во всем...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru