Привет! Меня зовут Максим‚ и сегодня я хочу поделиться с тобой своим опытом создания программы с консольным меню и реализацией указания пути к текстовому файлу через stdin для его открытия‚ чтения и вывода в консоль.
Сначала‚ чтобы начать разработку программы‚ мы должны подготовить все необходимое. У нас должны быть установлены компилятор C ‚ такой как GCC‚ и Makefile для сборки проекта. Если у вас их нет‚ я рекомендую установить их с помощью вашего пакетного менеджера.Для начала‚ создадим новый C файл с помощью любого текстового редактора; Мы назовем его ″menu.cpp″. В данном файле мы будем разрабатывать программу с консольным меню.cpp
#include
#include
#include
using namespace std;
int main {
int choice;
string filename;
while (true) {
cout << ″Меню⁚″ << endl;
cout << ″1. Открыть файл″ << endl;
cout << ″-1. Выйти из программы″ << endl;
// Считываем выбор пользователя
cin >> choice;
// Проверяем выбор пользователя
if (choice -1) {
// Если выбран -1‚ выходим из программы
break;
} else if (choice 1) {
// Если выбран 1‚ запрашиваем путь к файлу
cout << ″Введите путь к файлу⁚ ″;
cin >> filename;
// Открываем файл для чтения
ifstream file(filename);
// Проверяем‚ удалось ли открыть файл
if (file.is_open) {
// Читаем файл и выводим его содержимое в консоль
string line;
while (getline(file‚ line)) {
cout << line << endl;
}
// Закрываем файл
file.close;
} else {
// Если файл не существует или произошла ошибка при открытии‚ выводим ″n/a"
cout << ″n/a" << endl;
}
// Добавляем перенос строки после выполнения пункта меню
cout << endl;
}
}
return 0;
}
Вот и все! Теперь‚ чтобы скомпилировать программу и создать исполняемый файл‚ создадим Makefile.makefile
CC g
CFLAGS -stdc 11
make
Если не возникло ошибок компиляции‚ вы получите исполняемый файл под названием `menu`. Теперь можно запустить программу‚ используя команду⁚
./menu
Всё‚ теперь у тебя есть работающая программа с консольным меню‚ которая позволяет открыть файл по указанному пути‚ прочитать его содержимое и вывести его в консоль. Если файл не существует или при чтении произошла ошибка‚ будет выведено ″n/a». Выход из программы осуществляется выбором -1 в меню.
Я надеюсь‚ что этот опыт будет полезен для тебя при создании своих программ. Удачи!