![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Mnogosisa_pravda_ona |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Как так сделать, чтобы выбор цифры осуществлялся нажатием клавиши "Enter" столько раз сколько одинаковых цифр надо выбрать.Например, выбрал кнопку "1" и нажал "Enter" три раза, должно получится 111. Я думаю вы меня поняли, что я хочу узнать?
|
![]() ![]() |
Unconnected |
![]()
Сообщение
#2
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
А как выбирается цифра?
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Mnogosisa_pravda_ona |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
с помощью стрелок.
Вот так выглядит калькулятор Сообщение отредактировано: volvo - Эскизы прикрепленных изображений ![]() |
Unconnected |
![]()
Сообщение
#4
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Т.е. у тебя вообще только интерфейс пока что? Нажатия на цифры вообще не обрабатываются?
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Mnogosisa_pravda_ona |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
ну операции "+","-","/","*" написаны.Вот теперь с цифрами вожусь
Добавлено через 8 мин. Вот задать кол-во цифр я могу,а вот чтоб решал уже пользователь, не получается. |
Unconnected |
![]()
Сообщение
#6
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Ну, как вариант, можно завести двумерный массив, в него "перенести" весь твой интерфейс завести две переменные для хранения координат,и, при нажатии, например, стрелки вправо, прибавлять к переменной, отвечающей за столбцы, единицу. А при нажатии Enter узнавать, чему равны координаты, и брать из матрицы цифру с такими координатами.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Mnogosisa_pravda_ona |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я кстате напутал не стрелками прибавлять а "Enter'ом", А можешь пример привести? а то у меня с представлением плохо
Сообщение отредактировано: Mnogosisa_pravda_ona - |
Unconnected |
![]()
Сообщение
#8
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Для начала покажи то, что ты уже сделал, а то я так и не понял твоего интерфейса...
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Mnogosisa_pravda_ona |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Короче я хочу сделать калькулятор как windows'e только вместо мышкой, управлять стрелками и выбирать Enter'om.
Вот код Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Mnogosisa_pravda_ona, все довольно просто, свой цикл while true do меняешь вот на этот:
count := 0;, и добавляешь вот такие константы/переменные: constПопробуй, посмотри что получится. А вообще, твою программу можно сократить наполовину... |
Mnogosisa_pravda_ona |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не понимаю.Считает что неправильно вызвана процедура.
Эскизы прикрепленных изображений ![]() |
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
Я тоже не понимаю, что там у тебя происходит. Вот этот файл прекрасно компилируется и работает:
![]() |
Mnogosisa_pravda_ona |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо,теперь итог буду делать.
|
Mnogosisa_pravda_ona |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
А вот ещё вопрос появился.Совсем не подумал как вводить второе число?
|
Mnogosisa_pravda_ona |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Никто не поможет со вторым числом?
|
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
А что со вторым числом? Точно так же, как и первое... Только введи доп. переменную, скажем, isSecond: Boolean, в начале присвой ее False, и при нажатии любой из НЕцифровых кнопок меняй на True. Вот тебе и будет индикатор, какое число считывается в настоящий момент, если False - то первое, если True - то второе...
Можно сделать эту переменную не Boolean, а Byte, тогда сможешь вводить таким же образом и третье, и четвертое и т.д. числа... |
Mnogosisa_pravda_ona |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
А т.е. надо ко второму числу присвоить другую переменную(напрмер integer) и завести второй массив для ввода повторяющихся цифр?А ещё как можно ограничить ввод цифр в пределах моей нарисованной строки?
Сообщение отредактировано: Mnogosisa_pravda_ona - |
volvo |
![]()
Сообщение
#18
|
Гость ![]() |
Цитата т.е. надо ко второму числу присвоить другую переменную(напрмер integer) и завести второй массив для ввода повторяющихся цифр? Я этого не говорил... Вот то, что касается ввода двух чисел:![]() (после ввода первого числа жмешь знак, операции, потом второе число, потом "="... А вот потом - сюрприз! Можешь вводить еще один знак, и еще одно число, и так далее, пока не надоест, и не выйдешь из программы. Только еще раз повторяю: все действия - через знак "=" !!!) Как ограничить ввод цифр - попробуй подумать сам... |
Mnogosisa_pravda_ona |
![]()
Сообщение
#19
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну вот действительно сюрприз!
![]() |
TheDimaT |
![]()
Сообщение
#20
|
Гость ![]() |
program Calkulytor;
uses crt; var a, b, c, d: real; begin writeln('----------------------------------КАЛЬКУЛЯТОР!----------------------------------'); writeln('Выбирете действие'); writeln('1-Сложение (+)'); writeln('2-Вычитание (-)'); writeln('3-Умножение (*)'); writeln('4-Деление (/)'); writeln('5-Квадрат числа (a2)'); writeln('6-Куб числа (a3)'); writeln('7-Корень числа (^)'); readln(b); if b = 2 then begin writeln('Уменьшаемое='); readln(a); writeln('Вычитаемое='); readln©; d := a - c; writeln('Разница чисел равно: ', d); writeln('-------------------------------------КОНЕЦ!-------------------------------------'); end; if b = 1 then begin writeln('1-ое Слагаемое='); readln(a); writeln('2-ое Слагаемое='); readln©; d := a + c; writeln('Сумма чисел равно: ', d); writeln('-------------------------------------КОНЕЦ!-------------------------------------'); end; if b = 3 then begin writeln('1-ый Множитель='); readln(a); writeln('2-ой Множитель='); readln©; d := a * c; writeln('Произвидение чисел равно: ', d); writeln('-------------------------------------КОНЕЦ!-------------------------------------'); end; if b = 4 then begin writeln('Делимое='); readln(a); writeln('Делитель='); readln©; d := a / c; writeln('Частное чисел равно: ', d); writeln('-------------------------------------КОНЕЦ!-------------------------------------'); end; if b=5 then begin writeln('Число А='); readln(a); d:= a * a; writeln('Число равно: ', d); writeln('-------------------------------------КОНЕЦ!-------------------------------------'); end; if b=6 then begin writeln('Число А='); readln(a); d:= a * a * a; writeln('Число равно: ', d); writeln('-------------------------------------КОНЕЦ!-------------------------------------'); end; if b=7 then begin writeln('Число А='); readln(a); d:=sqrt(a); writeln('Число равно: ', d); writeln('-------------------------------------КОНЕЦ!-------------------------------------'); end; end. |
![]() ![]() |
![]() |
Текстовая версия | 9.09.2025 8:39 |