Я в своем классе CS162, и мое назначение на этой неделе - создать очень простой текстовый редактор, который предлагает пользователю ввести абзац, введите #, когда закончите, а затем программа произведет простые изменения, например, заглавные слова любого слова начала предложения и изменяет общие ошибки, такие как «те» на «.». Теперь мне всегда трудно начинать с этих вещей; Я точно знаю, как я исправлю ошибки (попробуйте найти ошибки для орфографии и замените эти слова правильной орфографией/использованием .upper для изменения в верхнем регистре), но я не могу начать работу с простого пользователя введите абзац и завершите его с помощью #. Я бы использовал цикл, который позволяет пользователю продолжать вводить текст, пока они не наберут #? как это будет выглядеть? Извините, если это кажется чрезмерно основным; Мне всегда сложно начинать с программ, так как я очень ранний новичок. Спасибо.Создание простого текстового редактора в C++
ответ
Использование conio.h
Вы можете использовать такие функции, как:
Геч() - считывает символ из консоли без буфера или эхо
kbhit(), который определяет, будет ли клавиша клавиатуры была нажат.
, чтобы получить то, что вы ищете.
Edit: Это от пользователя Falcom Момота, для систем Linux:
#include <unistd.h>
#include <termios.h>
char getch() {
char buf = 0;
struct termios old = {0};
if (tcgetattr(0, &old) < 0)
perror("tcsetattr()");
old.c_lflag &= ~ICANON;
old.c_lflag &= ~ECHO;
old.c_cc[VMIN] = 1;
old.c_cc[VTIME] = 0;
if (tcsetattr(0, TCSANOW, &old) < 0)
perror("tcsetattr ICANON");
if (read(0, &buf, 1) < 0)
perror ("read()");
old.c_lflag |= ICANON;
old.c_lflag |= ECHO;
if (tcsetattr(0, TCSADRAIN, &old) < 0)
perror ("tcsetattr ~ICANON");
return (buf);
}
Что делать, если OP не находится на машине Windows? – Duck
Ah right ... так что на linux машине это можно сделать с помощью termios.h. Я отредактирую код, который я где-то помещал в закладки ... – Feign
Честно говоря, я думаю, что пользователю OP разрешено нажать return. # Бит - это просто отличить новую строку в потоке от того, что считается новой строкой, заканчивающей абзац. IOW он может ввести 5 предложений и нажать enter 5 раз, но это не абзац, пока он не закончится на #. Это на самом деле упрощает работу с отдельными нажатиями клавиш. – Duck
- 1. Создание простого текстового редактора
- 2. Создание простого текстового редактора в Java
- 3. Реализация простого текстового редактора
- 4. Создание простого редактора макета/стиля
- 5. Создание текстового редактора
- 6. Использование Strncpy для создания простого текстового редактора в C++
- 7. Создание текстового редактора через jquery
- 8. Создание блок-схемы из текстового редактора
- 9. Создание текстового редактора в Visual Basic
- 10. Параметры простого и текстового редактора в редакторе TinyMce
- 11. Конкретная программирование текстового редактора для простого открытия/закрытия редактирования
- 12. Создание нескольких файлов из текстового редактора
- 13. Создание арабского PDF с помощью текстового редактора
- 14. Кодирование текстового текстового редактора
- 15. Создание простого калькулятора в C
- 16. Создание простого стека в C++
- 17. Есть ли действительно базовые учебники по созданию простого текстового редактора?
- 18. Связанный список для текстового редактора в C++
- 19. Предложения для нового редактора IDE/текстового редактора
- 20. C Программа - программа для создания текстового редактора
- 21. пример редактора текстового редактора tinymce не работает
- 22. Создание редактора
- 23. Создание текстового файла в C#
- 24. Кнопка текстового редактора Moodle
- 25. программа текстового редактора
- 26. Работа редактора текстового редактора Eclipse под Linux
- 27. Настройка текстового редактора TinyMCE
- 28. Библиотека простого текстового анализа для C
- 29. Сброс текстового редактора TinyMCE
- 30. Редактирование редактора текстового редактора для html textarea
Почему вы не можете позволить им не набрать до попадания Return? – Feign
Я не знаю ... это было бы намного проще, не так ли? Нет, мы должны сделать что-то ... это требование, и я не знаю, почему. – hhoward
Чтобы быть понятным, они заканчивают абзац '#', а затем нажимают на возврат, правильно? – Potatoswatter