Привет! Сегодня я расскажу тебе о том, как реализовать программу ″Заметки″ на языке C и создать список доступных заметок.1. Для начала нам понадобится библиотека `
2. Создадим функцию `listNotes`٫ которая будет выводить список доступных заметок. Для этого откроем директорию программы и прочитаем список файлов. Затем выведем их имена на экран.
cpp
#include
#include
#include
void listNotes {
DIR* dir;
dirent* pdir;
// Открываем текущую директорию
dir opendir(″.″);
// Проходим по всем файлам в директории
while ((pdir readdir(dir)) ! NULL) {
std⁚⁚cout << pdir->d_name << std⁚⁚endl;
}
// Закрываем директорию
closedir(dir);
}
3. Теперь создадим функцию `readNote`, которая будет считывать информацию с выбранной пользователем заметки. Мы попросим пользователя ввести имя заметки, проверим наличие файла с таким именем и затем прочитаем его содержимое.
cpp
void readNote {
std⁚⁚string noteName;
std⁚⁚ifstream file;
std⁚⁚cout << ″Введите имя заметки⁚ ″; std⁚⁚cin >> noteName;
// Пытаемся открыть файл с указанным именем
file.open(noteName);
// Проверяем, удалось ли открыть файл
if (file.is_open) {
std⁚⁚string line;
// Считываем содержимое файла построчно и выводим на экран
while (std⁚⁚getline(file, line)) {
std⁚⁚cout << line << std⁚⁚endl;
}
file.close;
} else {
std⁚⁚cout << ″Заметка с таким именем не найдена″ << std⁚⁚endl;
}
}
4. И наконец, создадим функцию `createNote`, которая позволит пользователю создать новую заметку. Мы запросим у пользователя имя новой заметки и затем откроем файл для записи. После этого попросим пользователя ввести содержимое заметки и запишем его в файл.
cpp
void createNote {
std⁚⁚string noteName;
std⁚⁚ofstream file;
std⁚⁚cout << ″Введите имя новой заметки⁚ ″;
std⁚⁚cin >> noteName;
// Открываем файл для записи
file.open(noteName);
if (file.is_open) {
std⁚⁚string noteContent;
std⁚⁚cout << ″Введите содержимое заметки. Для окончания введите EOF⁚″ << std⁚⁚endl; // Считываем содержимое заметки со строки и записываем его в файл while (std⁚⁚getline(std⁚⁚cin, noteContent)) { // Проверяем, достигнули ли мы конца файла (EOF) if (noteContent ″EOF″) { break; } file << noteContent << std⁚⁚endl; } file.close; std⁚⁚cout << ″Заметка успешно создана″ << std⁚⁚endl; } else { std⁚⁚cout << ″Не удалось создать заметку″ << std⁚⁚endl; } } 5. Теперь можем использовать наши функции в главной функции программы `main`. Выведем пользователю меню с возможными действиями и попросим его выбрать одну из опций. cpp int main { int choice; do { std⁚⁚cout << ″Меню⁚″ << std⁚⁚endl; std⁚⁚cout << ″1. Вывести список заметок″ << std⁚⁚endl; std⁚⁚cout << ″2. Прочитать заметку″ << std⁚⁚endl; std⁚⁚cout << ″3. Создать новую заметку″ << std⁚⁚endl; std⁚⁚cout << ″0. Выход″ << std⁚⁚endl; std⁚⁚cout << ″Выберите опцию⁚ ″; std⁚⁚cin >> choice;
switch (choice) {
case 1⁚
listNotes;
break;
case 2⁚
readNote;
break;
case 3⁚
createNote;
break;
case 0⁚
std⁚⁚cout << ″До свидания!″ << std⁚⁚endl;
break;
default⁚
std⁚⁚cout << ″Неверный выбор. Пожалуйста, попробуйте ещё раз.″ << std⁚⁚endl;
break;
}
} while (choice ! 0);
return 0;
}
Теперь у нас есть полноценная программа ″Заметки″ на языке C , которая позволяет пользователю выводить список доступных заметок, считывать информацию с заметки и создавать новые заметки.