|
1 / 1 / 0
Регистрация: 26.01.2017
Сообщений: 33
|
|
Реализации упрощенной версии оболочки и подмножества команд интерпретатора cmd.exe на Си26.01.2017, 18:03. Показов 3256. Ответов 31
Метки нет (Все метки)
Столкнулся с такой вот, не посильной для меня задачей..., по скольку не так давно начал осваивать программирование. Прошу помощи с написанием данного консольного приложения на Си. Если, вдруг, кто-то решит помочь, то прошу это делать с подробным объяснением и комментариями в коде (что для чего и как работает)
Возможно в Си есть библиотеки, в которых есть нужные функции. Может возможно вызывать функции ОС для их работы в нашем консольном приложении. ПОМОГИТЕ, УМАААЛЯЮ )) 1. Должна быть реализована команда Dir с возможностью использования ключей: /o:e /o:n /a:r и возможностью перенаправления вывода информации при помощи символа > Команда Dir должна выводить итоговую информацию - количество файлов и каталогов и суммарный объем файлов. 2. Реализация команд: cls, date, del 3. Для всех команд должен быть реализован ключ /? – вывод справочной информации по данной команде в виде текста на русском языке. 4. При вводе неверной команды должно выводиться сообщение об ошибке – неверная команда 5. Командная строка должна иметь следующий формат: команда [параметр] [> имя файла] [ключи] 6. Приглашение и приглашение командной строки при запуске по аналогии с cmd.exe
1
|
|
| 26.01.2017, 18:03 | |
|
Ответы с готовыми решениями:
31
Реализация упрощенной версии оболочки и подмножства команд интерпритатора cmd.exe на языке Паскаль Передача команд в cmd.exe
|
|
Заблокирован
|
|
| 27.01.2017, 17:17 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 26.01.2017
Сообщений: 33
|
|
| 27.01.2017, 17:27 [ТС] | |
|
0
|
|
|
Заблокирован
|
|||
| 27.01.2017, 17:31 | |||
|
Чтобы выбрать, какой код использовать есть условия в языке, обычно это if, бывает еще switch.
0
|
|||
|
1 / 1 / 0
Регистрация: 26.01.2017
Сообщений: 33
|
||
| 27.01.2017, 17:38 [ТС] | ||
|
Ввели например cls если это cls, то вызовется функция system("cls"); если это не cls, то вызовется функция например error(); и после предложение ввести команду заного
0
|
||
| 27.01.2017, 17:49 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 26.01.2017
Сообщений: 33
|
|||||||||||
| 27.01.2017, 23:11 [ТС] | |||||||||||
|
УРААААААА!
Я решил задачу )))) любая команда cmd работает ))) Подмогните пожалуйста последний штрих... Как создать цикл, что бы после ввода команды, опять повторялся вывод тек. директории и ввод команды?
Добавлено через 3 часа 3 минуты Хватит вредничать, помогайте.
while(Command != exit); Не понимаю...( Помогите
0
|
|||||||||||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 27.01.2017, 23:43 | |
Сообщение было отмечено Bit-Leo-Need как решение
Решение
1
|
|
|
1 / 1 / 0
Регистрация: 26.01.2017
Сообщений: 33
|
||||||
| 28.01.2017, 00:06 [ТС] | ||||||
|
то есть сравниваем две строки, если они совпали то это ложь и цикл завершается, а если не совпали то цикл продолжается. Правильно я понял?
Добавлено через 2 минуты Спасибо! Понял... РРРрработает ))) Добавлено через 11 минут Вот что имеется пока:
0
|
||||||
|
Заблокирован
|
|
| 28.01.2017, 00:26 | |
|
Где здесь "Реализация упрощенной версии оболочки", если все, что делает программа - это запускает самые обычные команды оболочки, а не реализует их? Здесь нет реализации подмножества команд.
1
|
|
|
1 / 1 / 0
Регистрация: 26.01.2017
Сообщений: 33
|
|
| 28.01.2017, 00:35 [ТС] | |
|
0
|
|
|
Заблокирован
|
||
| 28.01.2017, 00:53 | ||
|
А, если делать как ты... То зачем заморачиваться? Предлагаю сразу одной строкой запускать из твоей программы cmd.exe. Она все эти команды знает Profit!
0
|
||
|
1 / 1 / 0
Регистрация: 26.01.2017
Сообщений: 33
|
|||
| 28.01.2017, 21:24 [ТС] | |||
|
А этот cmd сам обращается вечно к command.com )) scanf вот заменю на fgets и порядок... Давай вместе? Ты покажешь мастер класс, а я твой код вставлю в программу... А остальные команды пусть работают через обращение функции system(); к командному процессору. Добавлено через 7 часов 56 минут Всем спасибо! Тему можно закрыть
0
|
|||
| 28.01.2017, 21:24 | |
|
Поочерёдный ввод команд в cmd.exe Работа с cmd.exe — отправка и прием команд
Реализация команд для своего командного интерпретатора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|