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

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

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

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

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

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

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

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

8
3697 / 2647 / 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
3697 / 2647 / 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
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
3697 / 2647 / 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
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
11.08.2023, 15:52 8
Цитата Сообщение от SmallEvil Посмотреть сообщение
Кто знает причину ?
Потому что path::string_type не std::string.
1
3697 / 2647 / 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
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
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru