Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism Die Consolenanwendung klappt nicht ganz (https://www.delphipraxis.net/80585-die-consolenanwendung-klappt-nicht-ganz.html)

finalmaster2k 11. Nov 2006 16:03


Die Consolenanwendung klappt nicht ganz
 
Die Consolenanwendung klappt leider bei mir nicht ganz und zwar bekomme ich den bereich
(*Ausgabe der Steigungen der zwei Funktionen *)
nicht's in er Console angegeben !?

achso und es stüzt jedesmal ab, wenn ich komma zahlen in die Anwendung schreibe !? . normal ^^ ?! oder typisch WINDOFF XP . :duck:

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
    x1,x2,x3,x4: integer;

    y1,y2,y3,y4: integer;

    mA,bA : real;
    mB,bB : real;

    XAB: real;
    YAB: real;



begin
  (* Anganben von Informationen *)

  writeln('The cut Point calculator');
  writeln('Please enter X & Y coordinations');
  writeln;

  (*Entering the coordinations *)

  write ('ENTER X1:        '); readln(x1);
  write ('ENTER Y1:        '); readln(y1);

  write ('ENTER X2:        '); readln(x2);
  write ('ENTER Y2:        '); readln(y2);

  write ('ENTER X3:        '); readln(x3);
  write ('ENTER Y3:        '); readln(y3);

  write ('ENTER X4:        '); readln(x4);
  write ('ENTER Y4:        '); readln(y4);
  writeln;
  (* mathematical analysis   *)

  (*Berechnung von mA und mB*)

  mA := ( y2 - y1 ) div (x2 - x1);
  mB := ( y4 - y3 ) div (x4 - x3);

  (*Berechnung von bA und bB*)

  bA := ( y1 - ( y2 - y1 div x2 - x1) * x1 );
  bB := ( y3 - ( y4 - y3 div x4 - x3) * x3 );

   (*BERECHNUNG VON XAB und YAB *)

  XAB := (bB - bA) / (mA - mB);

  YAB := (mA * (bB - bA) / (mA - mB) + bA);


 (*Ausgabe der Steigungen der zwei Funktionen *)


 writeln(' Die erste Funktion hat die Steigung f(x)',mA:8:2,' x + ',bA:8:2,');
 writeln(' Die zweite Funktion hat die Steigung f(x)',mB:8:2,' x + ',bB:8:2,');

 (*Ausgabe von XAB und YAB *)

 writeln(' Der SChnittpunkt liegt bei(',XAB:8:2,'/',YAB:8:2,')des Koordinatenkreuz');

 readln;








end.

mkinzler 11. Nov 2006 16:07

Re: Die Consolenanwendung klappt nicht ganz
 
Das letzte ' in den Zeilen 64/65/69 scheint mir zuviel.

Luckie 11. Nov 2006 16:07

Re: Die Consolenanwendung klappt nicht ganz
 
Zitat:

Zitat von finalmaster2k
achso und es stüzt jedesmal ab, wenn ich komma zahlen in die Anwendung schreibe

Überleg mal warum das so sein könnte wenn du die Variablen als Integer deklarierts:
Delphi-Quellcode:
x1,x2,x3,x4: integer;

y1,y2,y3,y4: integer;
Und was haben deine Programmierfehler mit Windows zu tun?

finalmaster2k 11. Nov 2006 16:18

Re: Die Consolenanwendung klappt nicht ganz
 
ahh stimmt nur ganzzahl bei integer

soll ich dann jetzt "Real" nehmen oder "single " ?

ehct keine möglichkeit die Zeilen 64/65/69 aanzugeben ;/ ?.

mkinzler 11. Nov 2006 16:20

Re: Die Consolenanwendung klappt nicht ganz
 
Zitat:

soll ich dann jetzt "Real" nehmen oder "single " ?
Am Besten Extended

Zitat:

ehct keine möglichkeit die Zeilen 64/65/69 aanzugeben ;/ ?.
Delphi-Quellcode:
writeln(' Die erste Funktion hat die Steigung f(x)',mA:8:2,' x + ',bA:8:2);

finalmaster2k 11. Nov 2006 16:46

Re: Die Consolenanwendung klappt nicht ganz
 
danke ^^ komme immer näher zum ziel ..

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
    x1,x2,x3,x4: real;

    y1,y2,y3,y4: real;

    mA,bA : real;
    mB,bB : real;

    XAB: real;
    YAB: real;



begin
  (* Anganben von Informationen *)

  writeln('The cut Point calculator');
  writeln('Please enter X & Y coordinations');
  writeln;

  (*Entering the coordinations *)

  write ('ENTER X1:        '); readln(x1);
  write ('ENTER Y1:        '); readln(y1);

  write ('ENTER X2:        '); readln(x2);
  write ('ENTER Y2:        '); readln(y2);

  write ('ENTER X3:        '); readln(x3);
  write ('ENTER Y3:        '); readln(y3);

  write ('ENTER X4:        '); readln(x4);
  write ('ENTER Y4:        '); readln(y4);
  writeln;
  (* mathematical analysis   *)

  (*Berechnung von mA und mB*)

  mA := ( y2 - y1 ) / (x2 - x1);
  mB := ( y4 - y3 ) / (x4 - x3);

  (*Berechnung von bA und bB*)

  bA := ( y1 - ( y2 - y1 / x2 - x1) * x1 );
  bB := ( y3 - ( y4 - y3 / x4 - x3) * x3 );

   (*BERECHNUNG VON XAB und YAB *)

  XAB := (bB - bA) / (mA - mB);

  YAB := (mA * (bB - bA) / (mA - mB) + bA);

    (*Steigung der 2 Funktionen*)

 writeln(' Die erste Funktion hat die Steigung f(x)',mA:8:2,' x + ',bA:8:2);
 writeln(' Die erste Funktion hat die Steigung f(x)',mB:8:2,' x + ',bB:8:2);

 readln;

  (*UNENDLICHE SCHNITpunkte*)

 end;

 (* Vergleichgen *)

 procedure Vergleichen

  if

  mA := mB ;

  then

      if

      bB := bA;

      then

      writeln ('unendliche Schnitpunkte');

      else

      writeln ('keine Schnitpunkte');


  else

  (*Ausgabe von XAB und YAB *)

 writeln(' Der SChnittpunkt liegt bei(',XAB:8:2,'/',YAB:8:2,')des Koordinatenkreuz');





 readln;








end.
Ich habe paar fragen, ich habe jetzt if then else mit rein gepack und muss bei (* Vergleichgen *)
irgendwie die mA und mB mit boolean versehen,, muss ich extra für diese Operation eine Procedure machen ?..

mkinzler 11. Nov 2006 16:57

Re: Die Consolenanwendung klappt nicht ganz
 
Delphi-Quellcode:
if

  mA = mB

  then
  begin
   ..
  end
    else
...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:55 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