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

Реализуйте программу «Заметки»

11.08.2023, 12:59. Показов 1149. Ответов 8

Author24 — интернет-сервис помощи студентам
Здравствуйте! Помогите с задачей!!! Задание такое:
"Реализуйте программу «Заметки». В начале программы должен выводиться список доступных заметок –список текстовых файлов в директории программы. Пользователь может выбрать заметку и считать с неё информацию или создать новую заметку."
Я только начал изучать C++ и у меня уже, честно, голова кипит)) Буду рад, если более умные головы "разжуют" и покажут решение этой задачи!))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.08.2023, 12:59
Ответы с готовыми решениями:

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

Реализуйте программу решения квадратного уравнения
Реализуйте программу решения квадратного уравнения с обязательной проверкой существования...

Нужно написать Программу отображающая заметки на рабочем столе
Нужно написать Программу отображающая заметки на рабочем столе

Реализуйте двусвязные списки для представления очереди. Реализуйте операции над очередью
а) очистить очередь(создать пустую очередь) б) проверить является ли очередь пустой: в)добавить в...

8
 Аватар для SmallEvil
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
11.08.2023, 13:30 2
Цитата Сообщение от Shutnik1986 Посмотреть сообщение
и покажут решение этой задачи!
Сделают за вас ?
0
0 / 0 / 0
Регистрация: 11.08.2023
Сообщений: 4
11.08.2023, 13:57  [ТС] 3
Цитата Сообщение от SmallEvil Посмотреть сообщение
Сделают за вас ?
Просто я сам не могу понять, как это сделать...пока не могу..
0
 Аватар для SmallEvil
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
11.08.2023, 14:06 4
Классика, разбить на более мелкие подзадачи (декомпозиция) :
1. Сформировать список всех текстовых файлов в папке с программой (рабочей папке).
2. Вывести содержимое файла на экран.
3. Создание нового файла (заметки).

С каким пунктом сложности ?

Добавлено через 1 минуту
Цитата Сообщение от Shutnik1986 Посмотреть сообщение
Я только начал изучать C++
И что успели изучить. Список, пожалуйста.
0
0 / 0 / 0
Регистрация: 11.08.2023
Сообщений: 4
11.08.2023, 14:17  [ТС] 5
Цитата Сообщение от SmallEvil Посмотреть сообщение
Классика
для кого-то классика, а для кого-то темный лес, в который только вошел
0
 Аватар для ram876
758 / 455 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
11.08.2023, 14:34 6
Цитата Сообщение от SmallEvil Посмотреть сообщение
1. Сформировать список всех текстовых файлов в папке с программой (рабочей папке).
Вот вам для начала Shutnik1986,
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
    std::string path = std::filesystem::current_path();
    for (const auto & entry : fs::directory_iterator(path))
        if(std::string(entry.path()).find(".txt") != std::string::npos)
            std::cout << entry.path() << std::endl;
    
}
Пример
0
 Аватар для SmallEvil
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
11.08.2023, 15:40 7
Цитата Сообщение от ram876 Посмотреть сообщение
Вот вам для начала Shutnik1986
Я тоже решил не OS API использовать, всё таки доступно от с++17
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
#include <iostream>
#include <filesystem>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
#include <fstream> 
namespace fs = std::filesystem;
 
std::vector<std::string> get_notes(const std::string& dir = fs::current_path()){
    std::vector<std::string> notes_list;
 
    for (auto const& entry : std::filesystem::directory_iterator{dir}) 
        if (!entry.is_directory() && entry.path().extension() == ".txt")
            notes_list.push_back(entry.path().filename());
 
    return notes_list;
}
 
std::ostream& show_txtfile(std::ostream& out, std::string filename){
    std::string line;
    std::ifstream fin(filename);
    while(std::getline(fin, line))
        out << line << std::endl;
    return out;
}
 
int main(){
    auto notes = get_notes();
    for(const auto& note : notes){
        std::cout << note << " : " << std::endl;
        show_txtfile(std::cout, note);
    }
        
    //std::copy(notes.begin(), notes.end(), std::ostream_iterator<decltype(notes)::value_type>(std::cout, "\n"));
}
Добавлено через 6 минут
Цитата Сообщение от Shutnik1986 Посмотреть сообщение
в который только вошел
Так не бывает.
Вопрос в силе.
Цитата Сообщение от SmallEvil Посмотреть сообщение
И что успели изучить? Список, пожалуйста.
Добавлено через 39 минут
Хм, на mingw 64 11/12, отказывается приводить неявно path к string.
Приходится явно это делать.
Кто знает причину ?
C++
1
2
3
4
5
6
7
8
9
std::vector<std::string> get_notes(const std::string& dir = fs::current_path().string()){
    std::vector<std::string> notes_list;
 
    for (auto const& entry : std::filesystem::directory_iterator{dir}) 
        if (!entry.is_directory() && entry.path().extension() == ".txt")
            notes_list.push_back(entry.path().filename().string());
 
    return notes_list;
}
Вместе с этим тут нормально сравнивает ...
C++
1
 entry.path().extension() == ".txt"
1
 Аватар для zayats80888
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
11.08.2023, 15:52 8
Цитата Сообщение от SmallEvil Посмотреть сообщение
Кто знает причину ?
Потому что path::string_type не std::string.
1
 Аватар для SmallEvil
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
11.08.2023, 16:06 9
Значит тот онлайн компилятор в котором я тестировал, было именно так path::string_type == std::string.
Проверил
C++
1
static_assert (std::is_same_v<fs::path::string_type, std::string>, "path::string_type not equal to string");
0
11.08.2023, 16:06
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.08.2023, 16:06
Помогаю со студенческими работами здесь

Реализуйте программу, выполняющую следующую функцию
4. Реализуйте на языке Си или Delphi программу, выполняющую следующую функцию: Все переменные и...

2. Реализуйте на языке Си программу, выполняющую следующую функцию:
2. Реализуйте на языке Си или Delphi программу, выполняющую следующую функцию: Все переменные и...

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

Реализуйте программу, которая для заданных n и k вычисляет C(n, k)
Сочетанием из n элементов по k называется подмножество этих n элементов размера k. Два сочетания...

Реализуйте программу, имитирующую работу почтовых серверов и клиентов
Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод: стандартный ввод или input.txt...

Реализуйте программу. Параметры функций должны считываться с клавиатуры
Реализуйте программу. Параметры функций должны считываться с клавиатуры. Функция max3, по трем...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Объекты и их имена
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
Введение в мир компьютерных технологий В современном мире информация стала одним из важнейших ресурсов человечества, определяющим развитие общества и технологий. Наша жизнь неразрывно связана с. . .
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO / / https:/ / leetcode. com/ studyplan/ top-interview-150/ package topInterview . . .
КуМир: решение задач на матрицы
bytestream 28.01.2025
КуМир представляет собой среду для обучения программированию, которая включает в себя мощные инструменты для работы с матрицами. Матрица в программировании - это двумерный массив, состоящий из. . .
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
КуМир: решение геометрических задач
bytestream 28.01.2025
Программирование геометрических задач в среде КуМир становится всё более актуальным в обучении школьников и студентов. КуМир — это разработанная в России обучающая программная среда, предназначенная. . .
КуМир, исполнитель Водолей: Задачи и решения
bytestream 28.01.2025
КуМир — это образовательная среда для обучения программированию. Она предлагает пользователям разнообразные инструменты для разработки и отладки программ, что особенно ценно для студентов и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru