AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Berechnung d. Gewinnschwelle in einer Tabelle mit StringGrid
Thema durchsuchen
Ansicht
Themen-Optionen

Berechnung d. Gewinnschwelle in einer Tabelle mit StringGrid

Ein Thema von TechnikerHC · begonnen am 3. Mär 2008 · letzter Beitrag vom 5. Mär 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 17:45
Ich würde erstmal dafür sorgen, dass alles nur z.B. 200mal durchlaufen wird, damit du überhaupt sehen kannst, was passiert:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
VAR
KF, KV, P, K, E, G: real;
St,i: integer;

begin
i:=0;

KF:=strtofloat(form1.edit1.text);
KV:=strtofloat(form1.edit2.text);
P:=strtofloat(form1.edit3.text);

St:=0;

repeat
  K:=KF+St*KV; //Kosten=Festkosten+Sück*variable Kosten

  E:=St*P; // Erlös=Stück*Preis

  G:=E-K; // Gewinn=Erlös-Kosten
with form1.stringgrid1 Do
    begin
      cells[0,St+1]:= inttostr(St);
      cells[1,St+1]:= floattostr(K);
      cells[2,St+1]:= floattostr(E);
      cells[3,St+1]:= floattostr(G);
      St:=st+1;
      rowcount:=rowcount+1;
    end;
    inc(i)

until (E>K) or (i>=200);
end;
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 17:50
Und lass das Form1 weg (außer im Funktionskopf).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von TechnikerHC
TechnikerHC

Registriert seit: 3. Mär 2008
Ort: Kalbsrieth
27 Beiträge
 
Delphi 7 Personal
 
#13

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 18:07
hey, danke!jetzt läuft es.
hab da ma noch ne kleine frage:wofür steht denn das inc(i)?das kenn ich noch nich...
cheers
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 18:08
Hallo,

du hast einfach einen Gedankenfehler in deinen Variablen.
Solange der variable Preis pro Zeitung größer als dein Stückpreis
(also der Verkaufspreis) ist,
wirst du nie einen Gewinn erzielen.
Mit jeder Zeitung erhöhen sich die Kosten.

Nimm mal als Bsp. Stückpreis 10, variabler Preis 5.


Heiko
PS: Inc(i) ist kurz für i:= i+1;
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von TechnikerHC
TechnikerHC

Registriert seit: 3. Mär 2008
Ort: Kalbsrieth
27 Beiträge
 
Delphi 7 Personal
 
#15

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 18:14
ich danke euch allen!
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 18:15
Zitat von TechnikerHC:
ich danke euch allen!
Kein Problem, hab im Moment eh nichts zu tun
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von TechnikerHC
TechnikerHC

Registriert seit: 3. Mär 2008
Ort: Kalbsrieth
27 Beiträge
 
Delphi 7 Personal
 
#17

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 18:45
noch ne kleine frage: is die zusätzliche variable i unbedingt notwendig, oder geht das auch ohne das i?(ohne wieder in die endlosschleife zu gelangen)
cheers
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 18:51
Lass dir was einfallen, du könntest zum Beispiel abbrechen, wenn Einnahmen-Gewinn < -1000 oder so etwas
Robert L.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 3. Mär 2008, 18:54
Hallo,

es gibt keine Endlosschleife,
wenn dein Stückpreis > den Stückkosten (var. Kosten) ist.

Prüfe das einfach vorher ab.

OK, wenn der Stückpreis 10 Eur, die Stückkosten 9,99 sind,
könnte die Schleife etwas dauern


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von TechnikerHC
TechnikerHC

Registriert seit: 3. Mär 2008
Ort: Kalbsrieth
27 Beiträge
 
Delphi 7 Personal
 
#20

Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String

  Alt 4. Mär 2008, 15:03
hi leute!
ich soll mit dem programm jetzt noch den break-even-point(Erlös=Kosten) ausrechnen und in einem weiteren edit feld anzeigen(das hat eigentlich ganz gut geklappt...)
und dann soll nach der rechnung die tabelle genau zum feld des break evenpoints springen...ich glaube das geht irgendwie mit dem befehl row...naja an der stelle brauche ich hilfe!
cheers your technikerhc

ps. bis jetzt sieht es so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
VAR
KF, KV, P, K, E, G: real;
St: integer;



begin

KF:=strtofloat(form1.edit1.text);
KV:=strtofloat(form1.edit2.text);
P:=strtofloat(form1.Edit3.text);


If P>KV
  then begin
  St:=0;
    repeat
      K:=KF+St*KV; //Kosten=Festkosten+Sück*variable Kosten

      E:=St*P; // Erlös=Stück*Preis

      G:=E-K; // Gewinn=Erlös-Kosten
    with form1.stringgrid1 Do
      begin
        cells[0,St+1]:= inttostr(St);
        cells[1,St+1]:= floattostr(K);
        cells[2,St+1]:= floattostr(E);
        cells[3,St+1]:= floattostr(G);
        St:=st+1;
        rowcount:=rowcount+1;
      end; // end von with do begin...
    until E>K;
      form1.StringGrid1.Row:=St;
      St:=Round(KF/(P-KV));
      form1.edit4.text:=inttostr(St);
End // end von then begin
    else
      begin
      showmessage('Die variablen Kosten sind größer als der Preis');
      end; // end der if schleife
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with form1.stringgrid1 Do
  begin
    cells[0,0]:='Anzahl';
    cells[1,0]:='Kosten';
    cells[2,0]:='Erlös';
    cells[3,0]:='Gewinn';
  end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz