Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ergebnis von 3 variablen abhängig (https://www.delphipraxis.net/73093-ergebnis-von-3-variablen-abhaengig.html)

Soldier 12. Jul 2006 11:15


Ergebnis von 3 variablen abhängig
 
Also ich hab ein Prob, dass man schlecht beschreiben kann. Ich zum mindest.

ich nehm ma ein Bsp. mit Waffeln backen ok?

also ich will ne Waffel backen und brauche dazu Mehl, Milch und Eier. die Zutaten muss ich ja noch teilen, ich will ja nich die ganze Tüte mehl nehm usw.

wie würde da die rechnung aussehn?

ich hatte es mir so gedacht:

Delphi-Quellcode:

Waffel:= (Mehl/4); Waffel:= (Milch/5); Waffel:= (Eier/3);

aber das geht nich. da nimmt er immer nur die letzte Formel zur berechnung. aber die Waffel wird ja nich nur aus eiern gemacht.

Versteht ihr was ich mein? :gruebel: :P

bissel komisch, ich weiß.


Aber wenn einer was weiß, den immer her damit :D


mfG

Nikolas 12. Jul 2006 11:23

Re: Ergebnis von 3 variablen abhängig
 
Dann nimm doch einfach eine Rührschüssel...

var
schüssel:= tgroßertopf;

Schüssel := leer; // sonst könnten noch Reste vom letzten Kuchen drin sein. Also immer schön initialisieren.

Schüssel := Schüssel + 200gMehl; // und dann die neue Zutat einfach zum schon vorhandenen Teig hinzufügen.
Schüssel := Schüssel + 5Eier
usw.
Schüssel.inhalt.umrühren;

Ich hoffe mal, das ist das, was du gemeint hast.

rantanplan99 12. Jul 2006 11:24

Re: Ergebnis von 3 variablen abhängig
 
wie wäre es mit folgendem?
Delphi-Quellcode:
Waffel:= (Mehl/4) + (Milch/5) + (Eier/3);
rantanplan

Soldier 12. Jul 2006 11:31

Re: Ergebnis von 3 variablen abhängig
 
ich muss es noch ma anders beschreiben. war wohl'n doffes Bsp.

Diesma nehm ich Schiffe. :P

ein schiff wird aus Metall, Holz und Stahl gebaut.

sagen wir mal, dass ein schiff aus: 3000 Holz, 1000 Metall und 500 Stahl {Einheiten mal weggelassen} gebaut wird.


Wenn wir nun 3000 Holz haben, aber nur 700 Metall und gar kein Stahl haben, denn soll delphi mir sagen, dass wir kein schiff bauen können.

Wir können erst ein schiff bauen, wenn wir von allen stoffen genug haben.

Weiß einer wie ich ihm das sagen kann?


mfG

sakura 12. Jul 2006 11:34

Re: Ergebnis von 3 variablen abhängig
 
Eigentlich ein normaler Vergleich, oder :gruebel:
Delphi-Quellcode:
if (Holz >= 3000) and (Metall >= 1000) and (Stahl >= 500) then
  ShowMessage('bau doch!')
else
  ShowMessage('ällebäh!');
...:cat:...

morri 12. Jul 2006 11:35

Re: Ergebnis von 3 variablen abhängig
 
Ich würde es so machen :
Delphi-Quellcode:
schiff:= stahl + holz + eisen;
if schiff < 4500 then showmessage ('geht nich');
in deinem ersten beispiel hast du den Fehler gemacht, das du die variable waffel immer wieder neu überschrieben hast !
erst hat er die erste operation abgespeichert und danach die zweite darüber und dann die dritte.
Daher hat er im endeffekt nur die dritte gemacht...

sakura 12. Jul 2006 11:35

Re: Ergebnis von 3 variablen abhängig
 
Zitat:

Zitat von morri
Ich würde es so machen :
Delphi-Quellcode:
schiff:= stahl + holz + eisen;
if schiff < 4500 then showmessage ('geht nich');

Nee, selbst mit 20000 Holz wäre nicht genug Stahl da ;)

...:cat:...

Soldier 12. Jul 2006 11:38

Re: Ergebnis von 3 variablen abhängig
 
denn sagt er ja, dass ich baun kann. aber er soll mir ja a auch sagen, wie viele. ;)

morri 12. Jul 2006 11:40

Re: Ergebnis von 3 variablen abhängig
 
ja mei.
ich hatte noch im sinn, dass er die if abfrage vorher macht und dann erst...

ach lasst mich doch in ruhe. :tongue:
spiele sind nicht mein ding...

:duck:


EDIT::
Zitat:

aber er soll mir ja a auch sagen, wie viele.
dann kannst du anstatt der oben genannten if abfragen auch fragen, ob der vorhandene betrag an stahl durch 3000 teilbar ist und dann den kleinsten teiler der drei sorten als mögliche anzahl nehmen...

sakura 12. Jul 2006 11:42

Re: Ergebnis von 3 variablen abhängig
 
Zitat:

Zitat von Soldier
denn sagt er ja, dass ich baun kann. aber er soll mir ja a auch sagen, wie viele. ;)

Das hättest Du auch sagen können :mrgreen:
Delphi-Quellcode:
uses
  Math;

...

MaxSchiffe := Min(Holz div 3000, Min(Metall div 1000, Stahl div 500));
...:cat:...

Soldier 12. Jul 2006 11:50

Re: Ergebnis von 3 variablen abhängig
 
Wenn ich div hinschreibe, sagt er nich dem ersten komma nach div: "Operator not applicable to this opereand type"

wenn ich ein "/" nehme, denn sagt er nach der vorletzten klammer :" There is no overkloaded version of Min that can be called with these arguments"

komisch


mfG aber danke schonma

Soldier 12. Jul 2006 11:52

Re: Ergebnis von 3 variablen abhängig
 
oh. sorry. geht doch. habn tippfehler ghabt ;)

danke für alles und

[edit]
ups. sorry. ich soll ja editiern. schon wieder vergessen :)
[/edit]

mfG

Nikolas 12. Jul 2006 12:39

Re: Ergebnis von 3 variablen abhängig
 
Hast du denn die Formel oben verstanden? Div gibt dir das Ergebniss der Ganzzahldivision, also
500 div 1000 = 0 ; 1200 div 1000 = 1
Wenn du 5200 Holz hast und pro Schiff 1000Holz brauchst, kannst du dir vom Holz her 5200 div 1000 = 5 Schiffe bauen. aber nur, wenn du genügend Stahl hast. Wenn du genug Holz für 10 Schidde hast, aber nur Stahl für 3, kannst du eben nur min(10,3)=3 Schiffe bauen.
Wenn dein Schiff also aus Holz und Stahl baust gilt

MaxSchiff := min(Holzvorrat div HolzFüreinSchiff, Stahlvorrat div Stahlfüreinschiff)

Und drei Posts in Folge ist etwas übertrieben, nicht?

// Da war doch grad noch ein Post mehr in diesem Thread...

Soldier 12. Jul 2006 14:54

Re: Ergebnis von 3 variablen abhängig
 
Ja danke nochma. habs hinbekomm.

Mir wurd gesagt für jede neue Frage soll ich ein neues Thema erstellen.
Hab ich denn auch gemacht.


oder meintest du die 2 posts HIER, hintereinander. na da hab ich doch geschriben, dass ich vergaß den 1ten zu editieren. sorry nochma dafür.


mfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz