@xxxssshh

Как перезапускать код при определенном условии в JS?

Добрый день.
В данный момент обучаюсь основам JS.

Есть задача.

62935f3997450089661935.jpeg

Технически задача решена, но хочется довести программу до ума. А конкретно:

- при вводе значений некорректных вроде символов и всего того чтобы не являлось числами, а также при вводе одинаковых значений, программа сначала выдавала сообщение об ошибке в alert, далее выдавала confirm с вопросом о перезапуске, при true программа автоматом посылает обратно в окна prompt для задачи значений, игнорируя весь последующий код, при false - код полностью останавливался.

Сам код:

<!DOCTYPE html>

<html>
    <head>
        <meta charset="utf-8">
            <title>Дополнительная задача №1</title>
                <body>
                    <script>

                        // Приветствие

                        alert('Привет!\nВ этой программе будет проводиться сравнение трех целых чисел, а также сравнение удвоенной разности\
 наибольшего наименьшего числа и произведение меньшего и среднего числа.\nВНИМАНИЕ!\nЕсли будет введено число с дробной частью\
 то оно будет автоматически округлено до ближайшего целого числа. При вводе других различных симовлов будет выдана ошибка, и программа\
  запустится заново.\nВперед!');

                        // Блок ввода значений

                        let A = Math.round(+prompt("Введите целое число А:"));
                        let B = Math.round(+prompt("Введите целое число B:"));
                        let C = Math.round(+prompt("Введите целое число С:"));


                        // Блок проверки на корректность значений
                        
                        if (A == NaN || B == NaN || C == NaN || A == B || A == C || B == C) {
                             alert ("Ошибка! Значения некорретны или значения совпали!");
                            let reload = confirm("Перезапустить программу?");
                                if (reload == true) {
                                    ;
                                } else {
                                    window.location.close();
                                }   
                            }

                        // Нахождение среднего числа через сравнение

                        let averageNumber;
                        if (A > B && A < C) {
                            averageNumber = A;
                        } else if (B > A && B < C) {
                            averageNumber = B;
                        } else {
                            averageNumber = C;
                        }

                        // Нахождение минимального и максимального числа

                        let smallestNumber = Math.min(A, B, C);
                        let largestNumber = Math.max(A, B, C);


                        // Вывод результатов сравнения

                        alert("Наибольшее число - " + largestNumber + "\nСреднее число - " + averageNumber + "\nНаименьшее число - " + smallestNumber);

                        // Арифметические операции с числами

                        let doubleDifference = (largestNumber - smallestNumber) * 2;
                        let multiplication = averageNumber * smallestNumber;

                        // Сравнение и вывод результатов арифметических операций

                        if (doubleDifference > multiplication) {
                            alert("Удвоенная разница наибольшего и наименьшего числа составляет - " + doubleDifference + "\nПроизведение\
 среднего и меньшего числа составляет - " + multiplication + "\nСоответственно удвоенная разница больше чем произведение.");
                        } else if (doubleDifference < multiplication) {
                            alert("Удвоенная разница наибольшего и наименьшего числа составляет - " + doubleDifference + "\nПроизведение\
 среднего и меньшего числа составляет - " + multiplication + "\nСоответственно удвоенная разница меньше чем произведение.");
                        } else {
                            alert("Удвоенная разница наибольшего и наименьшего числа составляет - " + doubleDifference + "\nПроизведение\
 среднего и меньшего числа составляет - " + multiplication + "\nЗначения совпали. Обе операции равны.");
                        }
                        
                    </script>
                </body>
    </head>
</html>


Любым пожеланиям, подсказкам и критике буду рад.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы