Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Ошибка в скрипте

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Ошибка в скрипте
Имя
Сообщение << Старые топики   Новые топики >>
Ошибка в скрипте - 2007-11-03 13:43:35.746666   
sergarius

Сообщений: 21
Оценки: 0
Присоединился: 2006-06-22 01:40:54
Есть скрипт :
open(GRADES, "./grades") or die  "невозможно открыть grades: $!\n";
while($line = <GRADES>) {
        ($student, $grade) = split(" ", $line);
        $grades{$student} .= $grade . " ";
}

foreach $student (sort keys %grades){
        $scores = 0;
        $total = 0;
        @grades = split(" ", $grades{$student});
        foreach $grade (@grades) {
                $total += $grade;
                $scores++;
        }
        $average = $total / $scores;
        print "$student: $grades{$student}\tСреднее: $average\n";
}


при попытке запуска выдается ошибка
Illegal division by zero at ./pint.pl line 17, <GRADES> line 5.
в чем ошибка?


Post #: 1
RE: Ошибка в скрипте - 2007-11-03 14:57:56.880000   
AdReNaL1Ne

Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
Illegal division by zero at ./pint.pl line 17, <GRADES> line 5.
Post #: 2
RE: Ошибка в скрипте - 2007-11-04 05:57:17.930000   
sergarius

Сообщений: 21
Оценки: 0
Присоединился: 2006-06-22 01:40:54
нюи  что ответил лучшеб на гуг послал а то ведь обижусь и бу сайт неделю лежать
Post #: 3
RE: Ошибка в скрипте - 2007-11-04 05:58:55.103333   
sergarius

Сообщений: 21
Оценки: 0
Присоединился: 2006-06-22 01:40:54
модер тьфу
Post #: 4
RE: Ошибка в скрипте - 2007-11-04 07:37:36.666666   
ADSL44

Сообщений: 129
Оценки: 0
Присоединился: 2007-10-12 10:14:16.703333
Ошибка делени на ноль мля,
или будующая переменная будет равна нулю
Post #: 5
RE: Ошибка в скрипте - 2007-11-04 09:58:40.266666   
_Student

Сообщений: 35
Оценки: 0
Присоединился: 2007-10-09 07:20:23.886666
    $grades{$student} .= $grade . " ";   #  лично я не понял зачем сдесь первая точка

    $scores = 0; # для тестирования проставь еденицу
# у тебя нету обработчика исключений на это, так сделай

       foreach $grade (@grades) {
               $total += $grade;
               $scores++;
       }
    $average = $total / $scores; # если тут ошибка деления, то логично, что $scores++;&nbsp; не выполняется, смотри условия и кури man perl…
Post #: 6
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Ошибка в скрипте







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.