Avatar billede staf Nybegynder
02. januar 2003 - 17:51 Der er 3 kommentarer og
2 løsninger

problemer med if/else

Jeg har lavet et lille SIMPELT program til udregning af Body Mass Index.
Hele scriptet ser således ud:

<html>
<head>
<!-- Eksempel på brug af javascript i forbindelse med brugerinput-->
<title>---udregng dit BMI (body mass index)---</title>

<script type = "text/javascript">
var højde,               
    vægt,                 
      høj,           
      væg,           
      BMI;                     
         
document.writeln ( "<p><h2> udregn dit Body Mass Index </h2></p>");
         
højde = window.prompt("Indtast din højde i cm:", "0");   
document.writeln ("din højde: " + højde + " cm<br />");    
vægt = window.prompt ("indtast din vægt i kg:", "0");  document.writeln ("din vægt: " + vægt + " kg<br />");     
   
    høj = parseInt ( højde );
    væg = parseInt (vægt );
   
    window.alert ("udregn dit BMI?");
   
    BMI = (væg/(høj * høj)) * 10000;
    document.writeln ("<h4>dit Body Mass Index er= " + BMI + " </h4>");
       
        if (BMI < 18,5 || BMI == 18,5)
        document.writeln ("DU ER UNDERVÆGTIG! DU MÅ SPISE NOGET MERE");
       
        else
       
        if (BMI == 18,5 || BMI <= 24,9)
        document.writeln ("DIN VÆGT ER HELT NORMAL");
       
   
   
    window.alert ("Se forklaring?");
    document.write ("BMI: 18,5 = UNDERVÆGTIG<br />");
    document.write ("BMI: 18,5-24,9 = NORMAL VÆGT<br />");
    document.write ("BMI: 25-29,9 = OVERVÆGTIG<br />");
    document.write ("BMI: 30 > = SVÆR FEDME<br />");
   
   
    document.writeln ("<p><strong>Denne formel skal tages med<br />forbehold idet der ikke tages<br />højde for knoglestruktur eller<BR />muskelmasse</p></strong>");
   
</script>   
</head>   


<body>
KLIK PÅ OPDATER FOR AT FORETAGE EN NY BEREGNING
</body>

</html>   

Mit problem er at jeg oppe i if/else`en vil have programmet til at sige enten: "din vægt er normal" hvis betingelsen er opfyldt, eller "du er overvægtig" hvis næste betingelse er opfyldt osv. osv.!

Men lige meget hvad resultatet bliver gennemføre programmet den første if-sætning?? Hvad er problemet ?? Er ikke helt klar over om min syntax i betingelses-sætningerne er rigtige nemlig??
Avatar billede hells Nybegynder
02. januar 2003 - 18:02 #1
eftersom javascript ikke er lavet efter danske skriveregler, skal du bruge punktummer i stedet for kommaer:

if (BMI < 18.5 || BMI == 18.5)
        document.writeln ("DU ER UNDERVÆGTIG! DU MÅ SPISE NOGET MERE");
     
else if (BMI == 18,5 || BMI <= 24,9)
        document.writeln ("DIN VÆGT ER HELT NORMAL");
Avatar billede fiskesuppe Nybegynder
02. januar 2003 - 18:03 #2
Sådan skal det laves:
<html>
<head>
<script language=JavaScript type="text/javascript"><!--
var højde, vægt, høj, væg, BMI;
document.writeln("<p><h2> udregn dit Body Mass Index </h2></p>");
         
højde = window.prompt("Indtast din højde i cm:", "0");   
document.writeln ("Din højde: " + højde + " cm<br />");   
vægt = window.prompt ("Indtast din vægt i kg:", "0");
document.writeln ("Din vægt: " + vægt + " kg<br />");     
   
    høj = parseInt(højde);
    væg = parseInt(vægt);
   
    window.alert("Udregn dit BMI?");
   
    BMI = (væg/(høj * høj)) * 10000;
    document.writeln("<h4>dit Body Mass Index er= " + BMI + " </h4>");

    if (BMI < 18.5)
      document.writeln("DU ER UNDERVÆGTIG! DU MÅ SPISE NOGET MERE");
    else if (BMI >= 18.5 && BMI <= 24.9)
      document.writeln("DIN VÆGT ER HELT NORMAL");
    else if (BMI > 24.9 && BMI < 30)
      document.writeln("DIN VÆGT ER HELT NORMAL");
    else
      document.writeln("DU ER FED!");

    window.alert("Se forklaring?");
    document.write("BMI: 18,5 = UNDERVÆGTIG<br />");
    document.write("BMI: 18,5-24,9 = NORMAL VÆGT<br />");
    document.write("BMI: 25-29,9 = OVERVÆGTIG<br />");
    document.write("BMI: 30 > = SVÆR FEDME<br />");
   
   
    document.writeln ("<p><strong>Denne formel skal tages med<br />forbehold idet der ikke tages<br />højde for knoglestruktur eller<BR />muskelmasse</p></strong>");
// -->
</script>   
</head>   

<body>
</body>
</html>
Avatar billede Slettet bruger
02. januar 2003 - 18:03 #3
Endvidere bør de omskrives til:

if (BMI <= 18.5)
document.write....
else if (BMI <= 24.9)
document.write....
Avatar billede staf Nybegynder
02. januar 2003 - 18:22 #4
Så virker det! Alle tiders :) Takker.....

Håber pointene er fordelt rimeligt nok!
Avatar billede staf Nybegynder
02. januar 2003 - 18:23 #5
således :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester