![]() |
|
|
![]()
|
|
| lesha_od |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 3.12.2006 Репутация: нет Всего: нет |
Делаю лабораторку, но не знаю, как выполнить задание.
Задание такое: Написать программу, которая вводит первую строку символов из файла, начиная с 11 байта, и выводит ее на экран (предварительно очистить экран и поставить курсор в начала экрана). Потом выводит на экран количество считанных байтов. Затем вводит вторую строку символов с клавиатуры. Далее записывается в выходной файл file2.txt сначала вторая строка, а затем измененная первая (изменить первую строку так, чтобы остались только знаки мат. операций). Вот код, который дан в примере. Сам пример: Прочитать первую строку символов из входного файла file1.txt, начиная с 11 байта, и вывести ее на экран в стандартное окно Windows. Ввести вторую строку символов с клавиатуры. Записать в выходной файл file2.txt сначала вторую строку, а затем первую (переписывать символы первой строки через один).
Тут вроде несложно изменить, но у меня не получается - выводит совсем не то Кто знает - помогите с лабой плиз. |
|||
|
||||
| anwe |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 1 Всего: 23 |
А что именно при сохранении ты получаешь? Ты думаешь, что при беглом просмотре можно понять что у тебя выводится? Ошибаешься
Быстрым взглядом тут ничего не видно. Вроде, все правильно. Вызывает вопрос лишь следующее. 1. Не понятно для чего написаны три строки:
Они означают, что регистр ecx ты уменьшил в два раза и прибавил 1 (а после это занес в переменную). Для чего? 2. В добавок к этому написано
То есть количество выводимых символов (половина+1) да они еще и выводятся через 1 Надо:
Тогда можно обойтись одним регистром. 3. Длина строки stroka3 у тебя задано в явном виде - 30. Вот и напиши так.
Конечно можно и через FileSize, как написал ты, но это, возможно, в твоем конкретном примере. Если же реально записанных символов при предыдущей записи stroka1 будет меньше, то получишь результат еще короче. Повторюсь, что в этом примере, если все гладко, то это не выдаст неверный результат, а в общем случае нужно определять количество записываемых данных. |
||||||||
|
|||||||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
это, я так понял, пример "исходный", без модификаций.
тут надо отметить, что пример сильно убогий и, вообще говоря, не соответствует требованиям задачи. либо нужно уточнить постановку задачи: что есть "строка", каковы ограничения(если есть) на длины, что есть "стандартное окно Windows"? |
|||
|
||||
| lesha_od |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 3.12.2006 Репутация: нет Всего: нет |
dumb, "стандартное окно Windows" - это вывод окна сообщения (Alert / msgbox).
anwe,
значит, что, по заданию примера, файл записывается через один символ. а надо сделать, чтобы записывались только "+ - * / < >" И как вывести число считанных байт? |
|||
|
||||
| dumb |
|
||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
да? - а скажи пожалуйста, как ты его чистить будешь и курсор в нем ставить? эта тема должна находиться в Центре Помощи, если ты сам ничего делать не собираешься. |
||||
|
|||||
| lesha_od |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 3.12.2006 Репутация: нет Всего: нет |
Можно весь вывод делать в окне сообщений так:
Вопросов только 2: - как оставить только знаки мат. операций? - как вывести число прочитанных байтов? |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 1 Всего: 23 |
||||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |