Не получается сделать калькулятор на js для котов и собак

Не получается сделать калькулятор для подсчет лет в человеческих годах собак и кошек.

function run() {

  let petAge = document.querySelector(".petAge"); // помещаем поле для записи возраста в переменную petAge

  let humanAge = document.querySelector(".humanAge"); // что нужно написать в скобочках?

  let age = petAge.value; // помещаем введенный пользователем возраст в переменную age

  age = Math.log(age) * 16 + 31; // вычисляем возраст по формуле с логарифмами, которая точнее других всего отражает возраст собаки

  humanAge.value = Math.floor(age); // выводим результат в поле humanAge
}
let button = document.querySelector('.btn');
button.addEventListener('click', run);


function catrun() {
  let catAge = document.querySelector(".catAge");
  let humanAge2 = document.querySelector(".humanAge2");
  let age2 = catAge.value;

  age2 = 24 + (age2 - 2) * 4;
  humanAge2.value = Math.floor(age2);
}
let buttonCat = document.querySelector('.btn2');
buttonCat.addEventListener('click', run);
<header>
  <div class="logo">Возраст животных</div>
</header>
<main>
  <h1>Сколько лет твоей собаке?</h1>
  <p>Введите возраст собаки</p>
  <input class="petAge" type="text">
  <input type="button" class="btn" value="Посчитать">
  <p>Возраст собаки в человеческих годах</p>
  <input class="humanAge" type="text">

  <h1>Сколько лет твоему коту?</h1>
  <p>Введите возраст кота(только для кошек старше 3 лет)</p>
  <input class="catAge" type="text">
  <input type="button" class="btn2" value="Посчитать">
  <p>Возраст кота в человеческих годах</p>
  <input class="humanAge2" type="text">
</main>
<footer>@Все права защищены</footer>


Ответы (1 шт):

Автор решения: UModeL

В обработчике кнопки для "кошки" вызывается та же функция, что и для "собаки".

Необходимо быть внимательнее и давать переменным более осмысленные имена, тогда не будет путаницы.

function run() {
  // помещаем поле для записи возраста в переменную petAge
  let petAge = document.querySelector(".petAge");
  // что нужно написать в скобочках?
  let humanAge = document.querySelector(".humanAge");
  // помещаем введенный пользователем возраст в переменную age
  let age = petAge.value;
  // вычисляем возраст по формуле с логарифмами, которая точнее других всего отражает возраст собаки
  age = Math.log(age) * 16 + 31;
  // выводим результат в поле humanAge
  humanAge.value = Math.floor(age);
}
let button = document.querySelector('.btn');
button.addEventListener('click', run);


function catrun() {
  let catAge = document.querySelector(".catAge");
  let humanAge2 = document.querySelector(".humanAge2");
  let age2 = catAge.value;

  age2 = 24 + (age2 - 2) * 4;
  humanAge2.value = Math.floor(age2);
}
let buttonCat = document.querySelector('.btn2');
buttonCat.addEventListener('click', catrun);
<header>
  <div class="logo">Возраст животных</div>
</header>
<main>
  <h1>Сколько лет твоей собаке?</h1>
  <p>Введите возраст собаки</p>
  <input class="petAge" type="text">
  <input type="button" class="btn" value="Посчитать">
  <p>Возраст собаки в человеческих годах</p>
  <input class="humanAge" type="text">

  <h1>Сколько лет твоему коту?</h1>
  <p>Введите возраст кота(только для кошек старше 3 лет)</p>
  <input class="catAge" type="text">
  <input type="button" class="btn2" value="Посчитать">
  <p>Возраст кота в человеческих годах</p>
  <input class="humanAge2" type="text">
</main>
<footer>@Все права защищены</footer>

→ Ссылка