Avatar billede fckcasper Nybegynder
23. april 2004 - 19:57 Der er 19 kommentarer og
2 løsninger

BMI program

Jeg skal have lavet et lille program på programmeres i alle sprog. Det kan være lige fra en hjemmesige til et program.

Programmet handler om BMI og skal bruges i skole sammenhæng.  Som bruger af det skal man kunne indtaste sin højde og så indtaste en vægt et n antal gange. Programmet skal så regne en bmi ud og vise det på skærmen, samt vise en graf, hvos man kan se om man er steget eller faldet.

kan kun give point
( er ikke sikker på kategorien )
Avatar billede nmh Nybegynder
23. april 2004 - 20:26 #1
BMI: Body Mass Index
Det er vist vægten delt med (højden*højden), hvis jeg husker ret.
Vægten skal måles i kg og højden i meter.

Du skriver: "Man skal kunne indtaste sin vægt mange gange
Betyder det, at man over lang tid indtaster sin vægt, og programmet gemmer så løbende det indtastede?
Man kan hele tiden få vist en graf over sit BMI som funktion af tiden?
Avatar billede fckcasper Nybegynder
23. april 2004 - 20:37 #2
ja
Avatar billede nmh Nybegynder
23. april 2004 - 20:49 #3
Hvis det skal være en hjemmeside, vil det ikke være så let at få gemt de indtastede data, med mindre der benyttes ASP. Det grafiske skulle så laves ved at benytte noget Java-grafik. Hvis du vil opgive, at data gemmes, kan det være en hjemmeside med Java-grafik.

Det ville også være ret let, at lave et lille Visual Basic program, der gjorde det ønskede.

Kan du selv programmere lidt, eller skal du have det hele serveret på "et sølvfad" fikst og færdigt?

Hvordan skal det bruges i skolesammenhæng?
Avatar billede fckcasper Nybegynder
23. april 2004 - 22:21 #4
data skal kunne gemmes, det grafiske betyder ikke noget og til sidst. så skal det bruges til et projekt
Avatar billede fckcasper Nybegynder
23. april 2004 - 22:23 #5
jeg kan ikke programere noget så skal have det på et sølvfad
Avatar billede nmh Nybegynder
23. april 2004 - 22:36 #6
Har du adgang til f.eks. regnearket Excel fra Microsoft?
Her vil du både kunne gemme dine data samt få lavet en graf af dine data.

Jeg kan også let lave et lille VBscript, hvor du kan indtaste dine data og efterfølgende få udskrevet BMI. Men det ville være uden grafik. Nu er jeg ved at smutte for i aften, men i morgen kan jeg have et sådant program klar. F.eks. kunne man gemme dato og vægt, og når man bad om det fik man vist dato, vægt og BMI for de forskellige indlæsninger.
Ville det have din interesse?
Avatar billede fckcasper Nybegynder
23. april 2004 - 22:51 #7
meget gerne, hvis du kunne dette ville det være en kæmpe hjælp
Avatar billede nmh Nybegynder
24. april 2004 - 10:31 #8
Er der flere brugere af BMI-programmet, så der skal kunne gemmes data fra mange brugere?
Avatar billede fckcasper Nybegynder
24. april 2004 - 11:49 #9
nej, kan man ikke  lave det sådan, at hvis du laver det i excel. Skal man bare kunne give flere mennesker filen også kan de bruge det på deres computer. Deres data kan jo så bare gemmes p deres computer.
Avatar billede nmh Nybegynder
24. april 2004 - 18:59 #10
Nå, jeg fik ikke lavet noget i dag. Jeg har været ude at nyde det gode vejr. :o)
Men i morgen vil jeg komme med et forslag baseret på VBscript.
Jeg er gået bort fra et excel-regneark.
Avatar billede fckcasper Nybegynder
24. april 2004 - 19:38 #11
det er i orden, med den hjælp du kommer med. Kan jeg kun sige tak.
Avatar billede nmh Nybegynder
24. april 2004 - 23:43 #12
Her er så et forslag. Du skal gemme al teksten i mit svar i en tekstfil. Brug notepad.exe.
Kald filen BMI.vbs
Gem den i et katalog (mappe)efter eget valg.
Hvis du klikker på filen BMI.vbs, vil du første gang, du gør det, blive bedt om at indtaste dit navn og derefter din højde i centimeter.
Derefter bliver du spurgt om, du vil indlæse din vægt.
Når det er sket vil der blive vist en liste, der viser datoen, samt vægten og BMI-indexet den pågældende dato.
Næste gang vil du kun blive bedt om at indtaste din vægt.
Avatar billede nmh Nybegynder
24. april 2004 - 23:44 #13
Option Explicit
Dim fso, stream

function FileExists()
  if fso.FileExists("BMIdata.txt") then
    FileExists=True
  else
    FileExists=False
  end if
end function

sub CreateFile()
  dim name, height, ok
  name=InputBox("Indlæs dit navn: ")
  ok=false
  do
    height=InputBox("Indlæs din højde i centimeter: ")
    if isNumeric(height) then
      height=CInt(height)
      if height<250 and height>50 then
        ok=true
      else
        MsgBox "Højden skal være et tal mellem 50cm og 250cm"
      end if
    else
      MsgBox "Fejl! Højden skal være et tal mellem 50 og 250"
    end if
  loop until ok
  set stream=fso.OpenTextFile("BMIdata.txt",8,true)
  stream.writeline(name)
  stream.writeline(height)
  stream.close
end sub

sub Getweight()
  dim ok, weight
  ok=InputBox("Ønsker du at indlæse din vægt? (j/n) ")="j"
  if ok then
    do
      ok=false
      weight=InputBox("Indlæs din vægt i kg: ")
      if isNumeric(weight) then
        weight=Csng(weight)
        if weight<250 and weight>10 then
          ok=true
        else
          MsgBox "Vægten skal være et tal 10kg og 250kg"
        end if
      else
        MsgBox "Fejl! Vægten skal være et tal mellem 10 og 250"
      end if
    loop until ok
    set stream=fso.OpenTextFile("BMIdata.txt",8,true)
    stream.writeline(date & ";" & formatnumber(weight,1))
    stream.close
  end if
end sub

sub ShowBMI()
  dim name, height, txt, A, BMI
  dim BMIdata, i, N, Nmax, BMIini
  Nmax=30
  Set stream=fso.openTextFile("BMIdata.txt")
  name=stream.readline()
  height=Csng(stream.readline())
  BMIini=Name & " " & "Højde: " & height & VBCrLf
  BMIini=BMIini & "Dato            " & "Vægt  " & "BMI" & VBCrLf
  BMIdata=BMIini
  while not stream.AtEndOfStream
    txt=stream.readline()
    A=split(txt,";")
    BMI=formatnumber(Csng(A(1))*10000/(height*height),1)
    for i=1 to 5-len(A(1))
      A(1)="  " & A(1)
    next
    BMIdata=BMIdata & A(0) & ": " & A(1) & "  " & BMI & VBCrLf
    N=N+1
    if N=Nmax then
      N=0
      Msgbox BMIdata
      BMIdata=BMIini
    end if
  wend
  if N>0 then msgbox BMIdata
end sub

Set fso=CreateObject("Scripting.FileSystemObject")
if FileExists() then
  GetWeight()
else
  CreateFile()
  Getweight()
end if

ShowBMI()
stream.close
set stream=nothing
Avatar billede nmh Nybegynder
24. april 2004 - 23:55 #14
Bemærkninger:
Der bliver lavet en fil med navnet BMIdata.txt. Her gemmes brugerens navn og højde samt for hver indtastning datoen og vægten den pågældende dag.
MAn få vist alle data, når man kører programmet. Men jeg tænker, at man normalt kun indtaster data en gang eller to om ugen.
Man får vist 30 indtastninger ad gangen.
Avatar billede fckcasper Nybegynder
25. april 2004 - 11:03 #15
det er rigtigt godt, men kunne du lave det sådan man fik en graf frem der viste om var steget eller faldet
Avatar billede nmh Nybegynder
25. april 2004 - 11:27 #16
Med en graf?
Man kunne godt få det vist som en hjemmeside i Internet Explorer, men det ville så involvere brugen af Java. Jeg har engang lavet en grafikpakke i Java.
Alternativet var at skrive det i Visual Basic.

Begge dele vil være noget mere tidkrævende, og det vil være nødvendigt at maile nogle filer til dig.

Kan du ikke bruge VBscriptet til at begynde med?
Avatar billede fckcasper Nybegynder
25. april 2004 - 12:14 #17
du kan bare give mig din msn så kan du sende mig dem der. programmet virker, men lærer vil gerne have der også kom en graf med i programmet, fordi brugeren så lettere ville kunne se om han /hun var steget
Avatar billede nmh Nybegynder
25. april 2004 - 12:22 #18
Har du ikke en e-mail?
Men det bliver ikke i dag, jeg får lavet det. Det er, som jeg siger, lidt mere tidkrævende, når det skal laves ordentligt.
Avatar billede fckcasper Nybegynder
25. april 2004 - 12:49 #19
du kan få min jubiimail og så kan jeg give dig min rigtige der(grund spam og junk). hvor når vil du afslutte det, fordi jeg skal snart bruge det.
Min mail er casper-hansen@jubiimail.dk
Avatar billede nmh Nybegynder
26. april 2004 - 20:13 #20
Så, nu har jeg sendt dig et Visual Basic program, der kan det hele.
Vi plejer at sige, at alt her på eksperten skal være tilgængeligt for alle. Så hvis der er nogle, der vil have dettte program, skal de blot lægge en E-mail adresse her.
Avatar billede nmh Nybegynder
27. april 2004 - 10:42 #21
Takker for point.
Skriv endelig, hvis du har flere spørgsmål til programmet.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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