Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Максимум и минимум

Ответить
Настройки темы
CMD/BAT - [решено] Максимум и минимум

Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени!
Необходимо из введенных с клавиатуры чисел выбрать минимальное и максимальное. В качестве признака окончания ввода используется "-". Обязательным условием является использование GOTO.
Я написал следующее:
Код: Выделить весь код
@echo off
SET /P NUMBER=Number=	
IF NOT %NUMBER% NEQ - (echo Nebilo vvedeno ni odnogo chisla! & GOTO EXIT2) :: проверка, введены ли был хоть один символ
SET /A min = %NUMBER%	:: задание в качестве минимального первого введенного числа
SET /A max = %NUMBER%	:: задание в качестве максимального первого введенного числа
:LOOP
SET /P NUMBER=Number=	:: ввод следующего числа
IF NOT %NUMBER% NEQ - GOTO EXIT1  :: если введен "-", то завершаем программу
IF %NUMBER% LEQ %min% SET /A min = %NUMBER%2   :: если введенное число меньше или равно минимальному, то оно становится минимальным
IF %NUMBER% GEQ %max% SET /A max = %NUMBER%   :: если введенное число больше или равно максимальному, то оно становится максимальным
GOTO LOOP
:EXIT1
ECHO MIN = %min%
ECHO MAX = %max%
:EXIT2
pause

Проблема с определением минимального значения. Если последовательно ввести 4, 3, 2, 1, то в качестве минимального выводится 12. Почему - не ясно... =(

Отправлено: 00:36, 28-04-2013

 

Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


kelevara, всё правилно написали! Просто описка в строке:
Цитата kelevara:
IF %NUMBER% LEQ %min% SET /A min = %NUMBER%2 :: если введенное число меньше или равно минимальному, то оно становится минимальным »


Если коротко, то так работает:


Код: Выделить весь код
@echo off

SET /P NUMBER=Number=	
SET /A min = %NUMBER%
SET /A max = %NUMBER%

:LOOP
SET /P NUMBER=Number=	
IF %NUMBER% LEQ %min% SET /A min = %NUMBER%
IF %NUMBER% GEQ %max% SET /A max = %NUMBER%
ECHO MIN = %min%
ECHO MAX = %max%
GOTO LOOP
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:39, 28-04-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Georgio, спасибо! ) надо быть мне внимательней

Отправлено: 10:07, 28-04-2013 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Максимум и минимум

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Регулятор громкости переодически сбрасывается на минимум Мангуст Microsoft Windows 2000/XP 8 05-02-2014 10:17
Прочее - роутер с минимум 3-4 WAN портами... lechyk Сетевое оборудование 6 08-06-2012 11:47
Загрузка - [решено] самый минимум, для загрузки xp mj2ks Microsoft Windows 2000/XP 7 06-02-2011 15:28
Какой минимум для установки? Aazziii Общий по Linux 10 24-06-2007 14:05
Минимум откатов в Illustrator Sergey Po Хочу все знать 6 19-07-2003 21:52




 
Переход