Wiedermal ein n00b prob von mir...
Übersicht

WIZOBetreff: Wiedermal ein n00b prob von mir... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hoi so der zweite n00b Thread von mir hier hur:
So hab das Problem das ich einen BMI (Body-Mass-Index) Rechner mir zusammen basteln wollte, nur so zum Spaß... Das Problem liegt darin das ich die Rechnung nicht hinkrieg! Die Rechnung von einem BMI wert ist: BMI = Körpergewicht : (Körpergröße in m)² so und hier ist der Code den ich bissher hab (hab ich aber auch nur in 5 min zusammen gekriegt) Code: [AUSKLAPPEN] AppTitle "BMI"
Graphics 800,600,16,2 Gewicht = Input$("Gib hier dein Gewicht in Kilogramm ein (z.b. 56)") Groesse = Input$("Gib hier deine Groesse in Metern ein (z.B. 1,72)") BMI = Gewicht/Groesse*Groesse Print "Dein BMI lautet: " + BMI + "." WaitKey End So da kommt aber wirklich nur Schrott raus (die meisten die BB öfters coden werden 100% denken: "OMG was macht der denn für ein Shit?!?" aber ich hab wirklich sehr wenig ahnung von BB und quäl mich durch ein BB Buch wo am Anfang alles Einfach erklärt wird und dann schlagartig alles so komisch kompliziert ist!) Hoffe ihr könnt mir helfen wie man das lösen kann! DANKE |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Trick liegt darin die passenden Variablentypen zu nehmen:
Du willst eine Rechnung machen, fragst mit Input$ aber eine Zeichenkette ab, welche dann (mangels anderer Identifikation an der Variablen) auch so gespeichert wird. Was Du brauchst sind Gleitkommavariablen (floats) und eine passende Inputabfrage. Zudem musst Du darauf achten dass Kommazahlen am Computer mit einem Punkt dargestellt werden. Nochmal die Variablentypen: var$ ist ein String (Zeichenkette) - "Hallo" var% ist ein Integer (Ganzzahl) - 3 var# ist eine Float ([Gleit-]kommazahl) - 3.32 Es ist immens wichtig Dir klarzumachen dass der Computer nicht wissen kann ob Du mit Zahlen rechnen willst oder welches Format diese haben. Daher musst Du es ihm mitteilen. Du kannst auch Arten von Variablen untereinander "tauschen", das nennt sich dann casten. Dazu musst du dem Computer den Typ in den eine Variable gewandelt werden soll angeben: Beispiel. a% = int(b$) ; macht aus einem String eine Zahl, dies geht allerdings nur wenn direkt zu Beginn der Zeichenkette eine Zahl steht. hier mal ein (ins extreme) verbesserter Code: (Die Konvertierung mittels float ist nicht zwingend, da Du ja schon im Variablennamen angibst welcher Typ es ist.) BlitzBasic: [AUSKLAPPEN] AppTitle "BMI" |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
BladeRunner hat Folgendes geschrieben: BlitzBasic: [AUSKLAPPEN]
AppTitle "BMI" Vollkommen richtig ![]() Ich wollte auch grad schreiben, dann hab ichs schon gelesen ![]() ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
BladeRunner hat Folgendes geschrieben: Du willst eine Rechnung machen, fragst mit Input$ aber eine Zeichenkette ab, welche dann (mangels anderer Identifikation an der Variablen) auch so gespeichert wird.
Den Satz kann man imho nicht so stehen lassen. Gibt man bei der ersten Verwendung einer Variable (eventuell der Deklaration) keinen Variablentypen an (also kein %,# oder $), dann wählt Blitz automatisch Integer (%). Egal was man da zuordnen will. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder einfach nur
Code: [AUSKLAPPEN] AppTitle "BMI"
Graphics 800,600,16,2 Gewicht# = Input$("Gib hier dein Gewicht in Kilogramm ein (z.b. 56)") Groesse# = Input$("Gib hier deine Groesse in Metern ein (z.B. 1.72)") BMI# = Gewicht/(Groesse#*Groesse#) Print "Dein BMI lautet: " + BMI# + "." WaitKey End |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
- Zuletzt bearbeitet von StepTiger am So, Aug 20, 2006 16:56, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Supi, und schon ist das Programm weniger flexibel und nimmt zB keine 56.2 kg mehr an ...
Und da ich grad am Abnehmen bin kann ich Dir sagen dass das durchaus einen Unterschied macht. ![]() (Gut, der Inputtext ist etwas unglücklich gewählt. Aber Floats sind hier allemal vorzuziehen, noch dazu wo bei den Eingabewerten keine Probleme mit mangelnder Genauigkeit zu erwarten sind.) |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Kleiner satan |
![]() Antworten mit Zitat ![]() |
---|---|---|
du brauchst doch nit immer zu sagen dein wievielter nOOb thread das ist!
deshalb bist du ja hier im Beginners-Corner! |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
kennste kleiner satan heh? ^^ Nein Spaß!
Habs oben verändert und schon braucht man keine FLOATS mehr da hin schreiben, weil in bb der variablenname die funktionsrückgabe bestimmt. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dass die floats nicht nötig sind schrub ich auch schon. Ich hatte sie drin damit er den -eigentlich- korrekten weg des sauberen Typecasts kennenlernt.
Dass BB die andere Methode erlaubt und die meisten (inklusive mir) sie nutzen ändert nichts dran dass der Cast der korrekte Weg ist. Unter BMax kommt man bei superstict auch anders nimmer weiter. Was ich- nachdem ich fast komplett umgestiegen bin- auch sehr begrüsse. Hilft einfach Fehler zu vermeiden. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
WIZO |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
so erstma Danke an alle jetzt nur eine kleine Frage:
Kann man es ändern das wenn der BMI ausgerechnet wurde das Ergebnis nich so da steht: 25.000000 sondern z.B. 25.0? |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erneuere dein BB. Neuere Versionen machen das von Haus aus.
Wenn du die Demo hast, kann ich dir immerhin mit der Gewissheit helfen, dass es weg sein wird, wenn du dir baldig die Vollversion kaufen wirst. ![]() Klar könnte man eine Funktion dafür machen, aber obiges hilft ja schon. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group