Seite 1 von 3

Altersberechnung

Verfasst: 09.06.2005 16:44
von Alena
Hallo :)
Ich kenne mich leider in Basic nicht so aus, bräuchte aber ein Programm für die Altersberechnung (Suchfunktion hab ich schon benutzt!).
Das Programm sollte so gestaltet sein, dass es zuerst nach dem Alter fragt, und danach hinschreibt "du bist 2 jahre jünger bzw. älter".

Beispiel: Ich bin 19 und der Benutzer ist 16.
Gibt er nun ein, dass er 16 ist, sollte "du bist 3 jahre jünger" auf dem Bildschirm erscheinen.

Könnte mir das jemand machen, bzw. mir helfen? Wäre lieb! :)

Verfasst: 09.06.2005 16:49
von Green Snake
hallo

1. purebasic hat gar nichts mit basic zu tun, nur die syntax ist änhlich :allright:

falls du vb meinst, dan bist du hier im falschen forum :lol:


ps. programmcode in arbeit :allright:

Verfasst: 09.06.2005 16:59
von Kiffi
@Green Snake

> 1. purebasic hat gar nichts mit basic zu tun

:?:

@Alena:

Hier sind zwei Links, die sich mit einer ähnlichen Thematik befassen. Vielleicht bringt Dich das weiter:

http://forums.purebasic.com/german/viewtopic.php?t=3581

http://forums.purebasic.com/german/viewtopic.php?t=2906

Grüße ... Kiffi

Verfasst: 09.06.2005 17:02
von Green Snake
ich habe basic als visual basic interpretiert, falls er doch pb meinte, dann nichts für ungut :allright:

Verfasst: 09.06.2005 17:05
von zigapeda
ja ich würde dir folgendes empfehlen:
crossroads hat geschrieben:

Code: Alles auswählen

Procedure.l PBDateDiff (modus$, Datum1$, Datum2$)
  d1.l = ParseDate("%dd.%mm.%yyyy %hh:%ii:%ss", Datum1$)
  d2.l = ParseDate("%dd.%mm.%yyyy %hh:%ii:%ss", Datum2$)
  If d1 < 0 Or d2 < 0:ProcedureReturn -1:EndIf ; error!
  diff.l = Abs(d2 - d1)
  Select modus$
    Case "s":ProcedureReturn diff  ; seconds
    Case "m":ProcedureReturn Int(diff / 60) ; minutes
    Case "h":ProcedureReturn Int(diff / (60 * 60)) ; hours
    Case "d":ProcedureReturn Int(diff / (60 * 60 * 24)) ; days
    Case "w":ProcedureReturn Int(diff / (60 * 60 * 24 * 7)) ; weeks
    Default:ProcedureReturn -1 ; error!
  EndSelect
EndProcedure

Debug PBDateDiff ("d","10.04.2005 00:00:00", "17.04.2005 00:00:00")
wie schon oben steht, das hat crossroads geschrieben ist also nicht von mir.
den code fügst du oben in dein programm ein und wenn du dann z.B.
PBDateDiff("d","17.09.1973 00:00:00","69.09.1995 00:00:00") eingibst, dann rechnet die procedure den unterschied in tagen aus

Verfasst: 09.06.2005 17:09
von bobobo
Konsoliger wird's hiermit.

Code: Alles auswählen

OpenConsole()
MeinAlter=19
Repeat
  ClearConsole()
  Print("Gib Dein Alter ein (-1 zum Beenden) :")
UserAlter=Val(Input())
If UserAlter=-1
  CloseConsole()
  End
EndIf

Ergebnis=UserAlter-MeinAlter
PrintN("")
If Ergebnis=0
  PrintN ("Du bist genauso alt wie ich..")
EndIf
If Ergebnis=1
  PrintN("Du bist "+Str(Ergebnis)+" Jahr aelter")
EndIf

If Ergebnis>1
  PrintN("Du bist "+Str(Ergebnis)+" Jahre aelter")
EndIf
If Ergebnis =-1
  PrintN("Du bist "+Str(Ergebnis*(-1))+" Jahr juenger.")
EndIf
If Ergebnis <-1
  PrintN("Du bist "+Str(Ergebnis*(-1))+" Jahre juenger.")
EndIf
Input()
ForEver
und Green Snake gehört ins Gebüsch :twisted:

Verfasst: 09.06.2005 18:52
von Alena
Hallo,
danke erstmal für die hilfreichen und schnellen antworten!
Ich hab das Programm "pure basic" und möchte, dass das Programm damit läuft. Sorry, wusste nicht, dass es da solche Unterschiede gibt :cry:

Verfasst: 09.06.2005 19:10
von DarkDragon
Green Snake hat geschrieben:ich habe basic als visual basic interpretiert, falls er doch pb meinte, dann nichts für ungut :allright:
basic = dialekt
visual basic = basic dialekt
pure basic = basic dialekt

Verfasst: 09.06.2005 20:02
von Green Snake
ok, schon gut :lol:
is ja jetzt egal :allright:

Verfasst: 10.06.2005 14:22
von Andre
@Alena: Du hast mit Sicherheit das "Problem", dass Du eine veraltete PureBasic-Version vom Topos-Verlag gekauft hast. Da gabs z.B. noch nicht die Date-Befehle, die hier in einem Beispielcode verwendet wurden.

Mehr Informationen: Topos-Versionen