Proszę o info w jaki inny sposób można rozwiązać problem dotyczący określania wieku a konkretnie jego formy np. 12 lat , 24 lata, 36 lat, 101 lat ,104 lata itd.
Mój pomysł jest zawarty poniżej. Podejrzewam że temat da się załatwić krócej :) . Proszę o podpowiedzi z wyjaśnieniem.
Treść pełnego zadania to :
Poproś użytkownika o podanie wieku dwóch osób i wskaż która z nich jest starsza.Jeśli obie osoby mają powyżej 100 lat,program powinien zachować się w szczególny sposób.Uwzględnij poprawną formę występującą w języku polskim określania wieku-"rok","lat","lata"
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8"/>
<script>
function uruchom()
{
var a=parseInt(document.getElementById("osoba1").value);
var b=parseInt(document.getElementById("osoba2").value);
document.getElementById("wynik1").innerHTML="";
document.getElementById("wynik1").innerHTML="";
if(a>100)
{
document.getElementById("wynik1").innerHTML="Osoba nr 1 prowdzi lub prowadziła naprawdę zdrowy tryb życia!!";
}
if(b>100)
{
document.getElementById("wynik1").innerHTML="Osoba nr 2 prowdzi lub prowadziła naprawdę zdrowy tryb życia!!";
}
if(a>b)
{
var roznica=a-b;
var tekst=roznica.toString();//zamieniamy var różnica w string ,żeby móc wyciągnąc z niej ostatni znak w celu weryfikacji czy dana liczba bedzie miała formę "lat" czy "lata"
var ostatni_znak=tekst.charAt(tekst.length-1); //wyciągamy ostatni znak ze zmiennej tekst
if(roznica==1)
{
document.getElementById("wynik").innerHTML="Osoba nr.1 jest starsza o "+roznica+" rok";
null.dummy;//przerwanie skryptu .Jeśli go nie przerwiemy w wyniku zostanie uwzględniony również ostatni warunek "else"
}
if ((roznica==12)||(roznica==13)||(roznica==14))//wyjątki jeżeli chodzi o określanie formy "lat","lata"
{
document.getElementById("wynik").innerHTML="Osoba nr.1 jest starsza o "+roznica+" lat";
null.dummy;//przerwanie skryptu .Jeśli go nie przerwiemy w wyniku zostanie uwzględniony również trzeci warunek "if"
}
if ((ostatni_znak==2)||(ostatni_znak==3)||(ostatni_znak==4))
{
document.getElementById("wynik").innerHTML="Osoba nr.1 jest starsza o "+roznica+" lata";
}
else
{
document.getElementById("wynik").innerHTML="Osoba nr.1 jest starsza o "+roznica+" lat";
}
}
if(a<b)
{
var roznica=b-a;
var tekst=roznica.toString();//zamieniamy var różnica w string ,żeby móc wyciągnąc z niej ostatni znak w celu weryfikacji czy dana liczba bedzie miała formę "lat" czy "lata"
var ostatni_znak=tekst.charAt(tekst.length-1); //wyciągamy ostatni znak ze zmiennej tekst
if(roznica==1)
{
document.getElementById("wynik").innerHTML="Osoba nr.2 jest starsza o "+roznica+" rok";
null.dummy;//przerwanie skryptu .Jeśli go nie przerwiemy w wyniku zostanie uwzględniony również ostatni warunek "else"
}
if ((roznica==12)||(roznica==13)||(roznica==14))//wyjątki jeżeli chodzi o określanie formy "lat","lata"
{
document.getElementById("wynik").innerHTML="Osoba nr.2 jest starsza o "+roznica+" lat";
null.dummy;//przerwanie skryptu .Jeśli go nie przerwiemy w wyniku zostanie uwzględniony również trzeci warunek "if"
}
if ((ostatni_znak==2)||(ostatni_znak==3)||(ostatni_znak==4))
{
document.getElementById("wynik").innerHTML="Osoba nr.2 jest starsza o "+roznica+" lata";
}
else
{
document.getElementById("wynik").innerHTML="Osoba nr.2 jest starsza o "+roznica+" lat";
}
}
}
</script>
</head>
<body>
<p style="padding-left:10px;">Poproś użytkownika o podanie wieku dwóch osób i wskaż</br>
która z nich jest starsza.Jeśli obie osoby mają powyżej 100 lat,</br>
program powinien zachować się w szczególny sposób.Uwzględnij</br> poprawną formę występującą w języku polskim określania wieku-"rok","lat","lata"</br></br>
Odp.</br>
</p>
<p style="padding-left:10px;">
Podaj wiek osoby nr.1 : <input type="text" id="osoba1"/></br>
Podaj wiek osoby nr.2 : <input type="text" id="osoba2"/></br></br>
Program wskaże która osoba jest starsza. </br></br>
<div id="wynik" style="padding-left:10px;"> </div>
<div id="wynik1" style="padding-left:10px;"> </div>
</p>
<p style="padding-left:10px;"><input type="submit" value="Uruchom Program" onclick="uruchom()"/></p>
</body>
</html>```