![]() |
![]() |
|
|
|||||||
| Programmierung Rat & Tat für Programmierer |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Elite
![]() Registriert seit: 14.11.1999
Alter: 40
Beiträge: 1.429
|
Hab ein Programm, das irgendeine Cosinustabelle ausrechnen soll, nur leider keine Ahnung von Pascal und keine Zeit mich einzulesen (Schulstress, muss heut noch 40 Seiten schreiben).
Wenn also jemand die Fehler enddeckt, bitte ausbessern und sagen wo der Fehler gesteckt hatte (mein Bruder will auch wissen was falsch ist) code: Code:
unit Cosinustabelle;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TCosinus = class(TForm)
Schrittweite: TLabel;
Eingabefeld: TEdit;
Berechnen: TButton;
Beenden: TButton;
Ausgabefeld: TMemo;
procedure BerechnenClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Cosinus: TCosinus;
implementation
{$R *.dfm}
procedure TCosinus.BerechnenClick(Sender: TObject);
Const Pi= 3.1415926535898;
Var
Schrittweite,grad:integer;
i, aus:integer;
gr, co, ausg:real;
Begin
Ausgabefeld.clear;
Schrittweite := StrToInt(Eingabefeld.Text);
If Schrittweite > 90 Then
ShowMessage ('Schrittweite zu groß');
If Schrittweite <=0 Then
ShowMessage ('Schrittweite zu klein');
Try
Schrittweite := StrToInt(Eingabefeld.Text);
Except
ShowMessage ('ungültige Eingabe');
i:= 0;
grad:= i+Schrittweite;
While grad<=90 Do
begin
gr:= grad*(Pi/180);
co:= cos(gr);
str (grad :2, aus);
str (co:2:4, ausg);
Ausgabefeld.Lines.Add('cos('aus'):'ausg);
grad:= grad+Schrittweite ;
end;
end;
end;
|
|
|
|
|
|
#2 |
|
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
Eine genaue Fehlermeldung wäre hilfreich, ich möcht Delphi jetzt nicht installieren.
Rein von der Logik ist dieser Block aber sehr seltsam: Code:
Schrittweite := StrToInt(Eingabefeld.Text);
If Schrittweite > 90 Then
ShowMessage ('Schrittweite zu groß');
If Schrittweite <=0 Then
ShowMessage ('Schrittweite zu klein');
Try
Schrittweite := StrToInt(Eingabefeld.Text);
Except
ShowMessage ('ungültige Eingabe');
Code:
Try
Schrittweite := StrToInt(Eingabefeld.Text);
Except
ShowMessage ('ungültige Eingabe');
If Schrittweite > 90 Then
ShowMessage ('Schrittweite zu groß');
If Schrittweite <=0 Then
ShowMessage ('Schrittweite zu klein');
Code:
str (grad :2, aus);
str (co:2:4, ausg);
Ausgabefeld.Lines.Add('cos('aus'):'ausg);
Du müßt also bei den Variablen oben statt i, aus:integer; //i wird nie verwendet aus, ausg:string; Auerdem schätz ich mal, daß statt Ausgabefeld.Lines.Add('cos('aus'):'ausg); Ausgabefeld.Lines.Add('cos('+aus+'):'+ausg); hingehört. Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|