|
-20 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 21
|
|
Ввести предложение с клавиатуры и посчитать число символов в словах21.11.2016, 20:26. Показов 2004. Ответов 9
Метки нет (Все метки)
Коллеги, нужен ваш профессионализм: подскажите как написать на masm32 прогу: ввести предложение с клавиатуры и посчитать количество символов в каждом слове. В masm32 еще не разбираюсь. Если можно - подсобите, плиз!
0
|
|
| 21.11.2016, 20:26 | |
|
Ответы с готовыми решениями:
9
Ввести с клавиатуры число и вывести его на экран в символьном виде Как ввести с клавиатуры число и сохранить его например в регистр bx?
|
|
Модератор
|
|
| 26.11.2016, 03:44 | |
|
Какая ОС - Windows?
0
|
|
|
-20 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 21
|
|
| 26.11.2016, 16:20 [ТС] | |
|
Windows 7 (32)
0
|
|
|
Модератор
|
|
| 26.11.2016, 16:32 | |
|
Я не знаю, как программировать консольные программы под Windows x86. Поэтому предлагаю пройти этот путь так, как прошёл бы его я.
У вас masm32. В его составе есть примеры, в том числе и для консольных приложений. Набирать и компилировать можно в штатном редакторе qeditor.exe - там есть готовый шаблон для ключей компилятора - меню Project - Console Build All. Начните с простого - программа выводит некую строку. Далее усложните - программа вводит строку и выводит её. А уже потом - пытаться разделять фразу на слова. Добавлено через 2 минуты Не думайте, что это сложно. Программирование - это как в армии: "Делай, как все, по образцу." Если заняться - то через 1-2 часа будет программа с вводом и выводом строки. И ещё через 2 часа - готовая лаба.
1
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 26.11.2016, 18:03 | ||||||
|
Получить хэндл консоли - GetStdHandle
Вывод строки - WriteConsole Ввод строки - ReadConsole Заготовка (пустышка):
1
|
||||||
|
Модератор
|
||||||
| 26.11.2016, 18:57 | ||||||
|
Ага. Я так понимаю, что обмениваться с консолью можно двумя способами:
1. GetStdHandle, WriteConsole, ReadConsole 2. StdIn, StdOut Помню, что есть разница между ними - при работе с 1-й группой нельзя перенаправить ввод/вывод из/в файл. Опираясь на примеры из состава masm32 получаю ввод и вывод строки
Добавлено через 5 минут По коду видна разница - Jin X уже знаком с программированием под Windows. Ваш код даже прозрачнее. Добавлено через 10 минут Увидел Создание консольных приложений в 64-разрядной Windows Seven Ближе к середине объяснение по работе с консолью - несколько постов.
0
|
||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 26.11.2016, 23:11 | |
|
StdIn и StdOut - это не WinAPI-фукнции, а функции чисто MASM'а (MASM32.LIB), они используют GetStdHandle + ReadFile и WriteFile (очень похожие на ReadConsole и WriteConsole функции, у них даже аргументы почти идентичны, можно просто заменить название функции и всё
, если последний параметр = 0).ReadFile / WriteFile действительно можно перенаправить в файл (или из файла). ReadConsole / WriteConsole при попытке перенаправления в файл (или из файла) ведут себя странно: при выводе пусто и на экране, и в файле, при вводе клавиатура не используется, но и данные из файла не читаются (вводятся пустые строки). По хорошему, да, лучше использовать ReadFile / WriteFile. Причём, если нужно вывести гарантированно на экран, используется STD_ERROR_HANDLE, а не STD_OUTPUT_HANDLE.
1
|
|
|
Эксперт Hardware
|
|||||||
| 27.11.2016, 17:19 | |||||||
printf, чем WriteConsole. Ввод можно организовать через gets. Тогда не нужна и GetStdHandle. Правда длину строки нужно будет вычислять вручную. Вот пример на FASM'e:
2
|
|||||||
|
-20 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 21
|
|
| 28.11.2016, 11:38 [ТС] | |
|
Спасибо огромное!!!
0
|
|
|
6 / 6 / 0
Регистрация: 24.09.2016
Сообщений: 59
|
||||||||||||||||
| 28.11.2016, 15:22 | ||||||||||||||||
|
Функция GetStdHandle возвращает дескриптор стандартного устройства ввода/вывода.
а для того чтобы делать запись, наоборот - выходного. Выглядит это примерно так:
nNumberOfCharsToRead - максимальное число записываемых в буфер символов. lpNumberOfCharsRead - число реально считанных символов.
0
|
||||||||||||||||
| 28.11.2016, 15:22 | |
|
Помогаю со студенческими работами здесь
10
Ввести число с клавиатуры и посчитать сумму (TASM) Pascal. Ввести предложение. Поменять в словах буквы местами
Подсчет количества символов в словах (максимум можно ввести 10 слов) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|