Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Написать программу на C++

Реализовать простейший файловый менеджер с использованием ООП (классы,
наследование и так далее).
Файловый менеджер должен иметь такие возможности:
■ показывать содержимое дисков;
■ создавать папки/файлы;
■ удалять папки/файлы;
■ переименовывать папки/файлы;
■ копировать/переносить папки/файлы;
■ вычислять размер папки/файла;
■ производить поиск по маске (с поиском по подпапкам) и так далее.

По дате
По рейтингу
Аватар пользователя
Мастер

часть1

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
 #include <iostream> 
#include <filesystem> 
#include <fstream> 
#include <string> 
 
namespace fs = std::filesystem; 
 
class FileOperations { 
public: 
    static void createFile(const std::string& path) { 
        std::ofstream file(path); 
        if (file.is_open()) { 
            file.close(); 
            std::cout << "File created: " << path << std::endl; 
        } else { 
            std::cerr << "Error creating file: " << path << std::endl; 
        } 
    } 
 
    static void deleteFile(const std::string& path) { 
        if (fs::remove(path)) { 
            std::cout << "File deleted: " << path << std::endl; 
        } else { 
            std::cerr << "Error deleting file: " << path << std::endl; 
        } 
    } 
 
    static void renameFile(const std::string& oldPath, const std::string& newPath) { 
        try { 
            fs::rename(oldPath, newPath); 
            std::cout << "File renamed from " << oldPath << " to " << newPath << std::endl; 
        } catch (const fs::filesystem_error& e) { 
            std::cerr << "Error renaming file: " << e.what() << std::endl; 
        } 
    } 
 
    static void copyFile(const std::string& source, const std::string& destination) { 
        try { 
            fs::copy(source, destination, fs::copy_options::overwrite_existing); 
            std::cout << "File copied from " << source << " to " << destination << std::endl; 
        } catch (const fs::filesystem_error& e) { 
            std::cerr << "Error copying file: " << e.what() << std::endl; 
        } 
    } 
}; 
 
class DirectoryOperations { 
public: 
    static void createDirectory(const std::string& path) { 
        if (fs::create_directory(path)) { 
            std::cout << "Directory created: " << path << std::endl; 
        } else { 
            std::cerr << "Error creating directory: " << path << std::endl; 
        } 
    } 
 
    static void deleteDirectory(const std::string& path) { 
        if (fs::remove_all(path)) { 
            std::cout << "Directory deleted: " << path << std::endl; 
        } else { 
            std::cerr << "Error deleting directory: " << path << std::endl; 
        } 
    } 
 
    static void renameDirectory(const std::string& oldPath, const std::string& newPath) { 
        try { 
            fs::rename(oldPath, newPath); 
            std::cout << "Directory renamed from " << oldPath << " to " << newPath << std::endl; 
        } catch (const fs::filesystem_error& e) { 
            std::cerr << "Error renaming directory: " << e.what() << std::endl; 
        } 
    }