IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Калькулятор матриц с текстовым интерфейсом, Помогите реализовать интерфейс. Посчитать и сам могу.
kramolnic
сообщение 30.09.2006 13:07
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Всем доброго времени суток.

В институте задали написать такую программку. В принципе, ничего особо сложного, но я не имею никакого опыта создания псевдографических интерфейсов под консоль и поэтому прошу ваших советов по реализации. wacko.gif

Необходимо написать программу "матрицы".
Программа должна предоставлять возможность создания, хранения и загрузки из файлов матриц произвольной размерности (один файл - одна матрица). Редактирование матриц должно осуществляться посредством перемещения курсора по её ячейкам и вводом числа в выбранную ячейку (желательно предоставлять возможность прокрутки, иначе следует ограничить размерность матрицы так, чтобы она умещалась на экране). Программа должна позволять выполнять такие действия над созданными матрицами, как сложение, вычитание и умножение с предварительной проверкой возможности данной операции исходя из размерностей матриц (в случае невозможности операции должно быть выдано соотв. сообщение). Результат операции должен выводиться на экран и, при желании юзера, сохраняться в файле.
Пользовательский интерфейс должен быть текстовым. К программе приложить инструкцию пользователю.

Вообще интерфейс программы я представляю себе примерно так:
После запуска программы показываем пользователю меню:
  1. Калькулятор матриц
  2. Инструкция пользователю.
  3. Об авторе.
  4. Выход.

Далее пользователь выбирает пункт меню и открывается соответственно калькулятор, справка или выходим из проги.
Калькулятор запрашивает размерность новой матрицы. После ввода ширины и высоты программа выводит пустую табличку с заданной размерностью с нулями в её ячейках. Далее пользователь перемещает курсор по ячейкам и вводит туда нужные числа. После заполнения программа запрашивает вторую матрицу и выполняемое действие (сложение, вычитание, умножение)....
В любой момент времени пользователь может нажать для вызова справки F1. Должно открыться что то вроде окна с инструкцией. После нажатия на какую-нибудь клавишу окно должно закрыться и пользователь может продолжить заполнение матрицы.
Вот как раз с этим проблемы. С меню я разобрался частично сам, частично помог форум.
Но когда я выбираю пункт меню, то открывается по идее совершенно иная программа. И все нажатые клавиши будут выполнять уже совершенно иные действия (перемещение курсора по ячейкам таблицы, редактирование ячеек и т.п. вместо перемещения по пунктам меню). КАК вообще можно реализовать ТАКОЕ?? Я себе представляю только такое решение:
заводим что то вроде флага режима работы (чтобы определять, где мы находимся в данный момент и выполнять в зависимости от этого соотв. действия). Затем при перемещении по пунктам меню меняем флаг и в зависимости от флага и нажатой клавиши выполняем те или иные действия (рисуем табличку, запрашиваем данные и т.п...) Но что-то страшное решение получается.. даже толком не знаю в каком направлении копать... уже весь этот форум перерыл - ничего конкретного не нашел. Буду признателен, если кинетесь в меня ссылками на учебники/пособия/сайты в Инете по данной тематике или сами посоветуете, как проще и красивше можно реализовать подобное... blink.gif
P.S. знаю,что существует модуль F_Mouse... думаю, может его заюзать? подскажите, где в Инете его найти можно, а то я поискал немного и не смог найти... а времени совсем нет его искать...

Заранее спасибо и респект всем откликнувшимся. cool.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 8.08.2025 9:42
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"