![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| junior |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 20.1.2005 Репутация: нет Всего: нет |
Привет!
Помогите, пожалуйста, исправить ошибки в программе. Программа должна делать следующее: 1. Инициализировать массив с 3 названиями фильмов. 2. Показывать список массива юзеру. 3. Спрашивать юзера индекс фильма (movie array index), который нужно удалить. Если invalid input, то просить повторить ввод с правильным значением. Если valid input, значит удалить фильм. 4. Спрашивать юзера ввести новые названия в список ( одно название в строке), предупредив юзера разделять каждое название нажатием enter. 5. Спрашивать юзера хочет ли он получить список в reverse order. 6. Если да, output in reverse order. Если нет - forward. Вот что у меня получилось. (смотрите ниже) Пункт 3 работает, если можно так выразится, однобоко. Т.е. переходит на 4 пункт только при введенной 1. Далее, при "успешно" введенной 1 в пункте 3, начинаю вводить новые значения. На винде, почему-то, не работает cntr+z, на freeBSD cntr+d позволяет остановить ввод новых значений. Можно как-то по-другому решить эту проблему? Что-то у меня написано с ошибками. Помогите разобраться, пожалуйста! Спасибо!
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 6 Всего: 61 |
Вот рабочий пример:
Удачи. Это сообщение отредактировал(а) korob2001 - 23.1.2005, 17:36 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Гость_Junior |
|
|||
|
Unregistered |
Спасибо korob2001!!!
У меня в итоге вот что получилось, с твоей помощью:
Вроде бы все работает, только при запуске программы, после добавления новых строк, выдает warning: Use of uninitialized value in pattern match (m//) at ./array.pl line 41, <STDIN> line 3. но после этого продолжает работать. Вот output программы: 0: Hero 1: Snatch 2: Zatoichi Please enter the index of the movie you want to delete: 0 Snatch Zatoichi Please enter movies you want to add to the list, one per line. Use ctrl/D to termnate the input: asd asdf Use of uninitialized value in pattern match (m//) at ./array.pl line 41, <STDIN> line 3. To print the movie list in reverse order, press Y y 0: Zatoichi 1: Snatch 2: asdf 3: asd Для меня, эта ошибка пока не критична, просто интересно узнать, что не так. Еще раз спасибо за помощь!!! |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 6 Всего: 61 |
Ошибка здесь:
В условии цикла. Попробуй так:
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |