![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Elite
![]() Registriert seit: 14.11.1999
Alter: 39
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) | |
|
|