![]() |
Re: Programmierung einer Kaskoversicherung
Luckie, es handelt sich doch nur um eine Erweiterung der Aufgabe um den Aspect, ob die Versicherung den Schaden regulieren muss oder nicht.
Also
Delphi-Quellcode:
if Kaskoschaden
then begin ... end else ShowMessage('Dieser Schaden wird von Ihrem Versicherungsumfang nicht abgedeckt.'); |
Re: Programmierung einer Kaskoversicherung
Am Ende noch zur Kontrolle:
Der Neuwert muß mindestens 66,68 Euronen betragen, dann zahlt die Versicherung 1 Cent :mrgreen: Gruß Wolfgang PS: 75% der Bundesbürger beherrschen weder Dreisatz noch Prozentrechnung. Das ist fast die Hälfte :mrgreen: :wall: :mrgreen: |
Re: Programmierung einer Kaskoversicherung
So ich bin zurzeit auf diesem stand
Delphi-Quellcode:
ich kann jez die normal Rechnung := Schaden*0,75-50 durchführen, was auch richtig ist habe nämlich meinen Lehrer gefragt. Wenn der Schaden zb 60 Euro beträgt bekommt man gar nix zurück ,also bis 68,66€,denn da bekommt man 1 cent :)
unit Unit1;
//---------------------------------------- //Projektname: Ein Kaskoversicherungsfall //Version: V1.0 //Autor: Hüseyin Yilmaz //Compiler: Delphi 4 //Letze Änderung: 23.12.09 //---------------------------------------- interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TKaskoversicherung = class(TForm) NeuwertEdt: TEdit; BerechneBtn: TButton; SchliessenBtn: TButton; ErstattungsbetragLbl: TLabel; Ergebnis2Lbl: TLabel; Label1: TLabel; procedure SchliessenBtnClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BerechneBtnClick(Sender: TObject); private { Private-Deklarationen} public { Public-Deklarationen} end; var Kaskoversicherung: TKaskoversicherung; Zahl1: INTEGER ; Ergebnis : DOUBLE ; implementation {$R *.DFM} procedure TKaskoversicherung.SchliessenBtnClick(Sender: TObject); begin close end; procedure TKaskoversicherung.FormCreate(Sender: TObject); begin NeuwertEdt.text := '' ; ErstattungsbetragLbl.caption := '' ; Ergebnis2Lbl.caption:= '' end; procedure TKaskoversicherung.BerechneBtnClick(Sender: TObject); begin Zahl1 := strtoint(NeuwertEdt.text) ; ErstattungsbetragLbl.caption := floattostr (Zahl1*0.75-50) ; end; end. |
Re: Programmierung einer Kaskoversicherung
Zitat:
Denn so ist der Erstattungswert bei einem Neuwert von 60€ gleich -5€ :zwinker: |
Re: Programmierung einer Kaskoversicherung
... dann fehlt da wohl noch 'ne If-Abfrage :)
|
Re: Programmierung einer Kaskoversicherung
Ja, mir fehlt sozusagen nur die IF-Abfrage.
Naja,Bemühung bringt einem wirklich weiter :P |
Re: Programmierung einer Kaskoversicherung
Delphi-Quellcode:
If Ersttungsbetrag <=0 ...
|
Re: Programmierung einer Kaskoversicherung
If Erstattungsbetrag < 68,66 THen Ergebnis2Lbl.caption= strtoint ELSE Show Message( ' ES IST NICHT ZAHLBAR' !)
|
Re: Programmierung einer Kaskoversicherung
Nein, überlege einmal!
|
Re: Programmierung einer Kaskoversicherung
Was ist denn falsch dadran?
|
Re: Programmierung einer Kaskoversicherung
... dann wäre der Neuwert 158,21 Euronen
|
Re: Programmierung einer Kaskoversicherung
quatsch ! ich meinte natürlich den Neuwert = 68,66 €
|
Re: Programmierung einer Kaskoversicherung
If Neuwert <= 66.67 then gibtnix
Damit müßtest du jetzt fertig sein :) Gruß und frohe Weinachten Wolfgang |
Re: Programmierung einer Kaskoversicherung
Ja aber, ich muss das doch so machen dass nix negatives rauskommt also wenn es weniger sind als 68.66 dann eine Message wo steht, dass es nicht möglich ist.
[delphi]IF Zahl1 > 68 (NeuwertEdt.text) THEN BEGIN Ergebnis2Lbl.caption := ' GEHT NICHT ! ' ; bei mir wird dann der Fehler hier angezeigt: Operator oder Semikolon fehlt. Könntet ihr mir da helfen? |
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Ein Semikolon fehlt nicht aber was meinst du denn mit dem Quellcode?
|
Re: Programmierung einer Kaskoversicherung
Der Quellcode ist das, was du in den Editor tippst. Und iw sollen wir einen Syntaxfehler finden, wenn du uns deinen Quellcode nicht zeigst?
|
Re: Programmierung einer Kaskoversicherung
Delphi-Quellcode:
Bei IF Zahl1 > 68 (NeuwertEdt.text) THEN BEGIN Ergebnis2Lbl.caption := ' GEHT NICHT ! ' ;
unit Unit1;
//---------------------------------------- //Projektname: Ein Kaskoversicherungsfall //Version: V1.0 //Autor: Hüseyin Yilmaz //Compiler: Delphi 4 //Letze Änderung: 23.12.09 //---------------------------------------- interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TKaskoversicherung = class(TForm) NeuwertEdt: TEdit; BerechneBtn: TButton; SchliessenBtn: TButton; ErstattungsbetragLbl: TLabel; Ergebnis2Lbl: TLabel; Label1: TLabel; procedure SchliessenBtnClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BerechneBtnClick(Sender: TObject); private { Private-Deklarationen} public { Public-Deklarationen} end; var Kaskoversicherung: TKaskoversicherung; Zahl1: INTEGER ; Ergebnis : DOUBLE ; Ergebnis2: DOUBLE ; implementation {$R *.DFM} procedure TKaskoversicherung.SchliessenBtnClick(Sender: TObject); begin close end; procedure TKaskoversicherung.FormCreate(Sender: TObject); begin NeuwertEdt.text := '' ; ErstattungsbetragLbl.caption := '' ; Ergebnis2Lbl.caption:= '' end; procedure TKaskoversicherung.BerechneBtnClick(Sender: TObject); begin Zahl1 := strtoint(NeuwertEdt.text) ; ErstattungsbetragLbl.caption := floattostr (Zahl1*0.75-50) ; IF Zahl1 > 68 (NeuwertEdt.text) THEN BEGIN Ergebnis2Lbl.caption := ' GEHT NICHT ! ' ; end; Wird dieser Fehler angezeigt: Operator oder Semikolon fehlt. |
Re: Programmierung einer Kaskoversicherung
Was ist das?
Delphi-Quellcode:
68 (NeuwertEdt.text)
|
Re: Programmierung einer Kaskoversicherung
So, ich bin jetzt fast am Ende leute :-D
Delphi-Quellcode:
Einder der letzten Fragen ist wie ich es hinbekomme den Erstattungsbetrag auf Zwei Nachkommastellen zu kürzen?
unit Unit1;
//---------------------------------------- //Projektname: Ein Kaskoversicherungsfall //Version: V1.0 //Autor: Hüseyin Yilmaz //Compiler: Delphi 4 //Letze Änderung: 23.12.09 //---------------------------------------- interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TKaskoversicherung = class(TForm) NeuwertEdt: TEdit; BerechneBtn: TButton; SchliessenBtn: TButton; ErstattungsbetragLbl: TLabel; Label1: TLabel; procedure SchliessenBtnClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BerechneBtnClick(Sender: TObject); private { Private-Deklarationen} public { Public-Deklarationen} end; var Kaskoversicherung: TKaskoversicherung; Zahl1: Double ; Ergebnis : DOUBLE ; implementation {$R *.DFM} procedure TKaskoversicherung.SchliessenBtnClick(Sender: TObject); begin close end; procedure TKaskoversicherung.FormCreate(Sender: TObject); begin NeuwertEdt.text := '' ; ErstattungsbetragLbl.caption := '' ; end; procedure TKaskoversicherung.BerechneBtnClick(Sender: TObject); begin Zahl1 := strtofloat(NeuwertEdt.text) ; ErstattungsbetragLbl.caption := floattostr (Zahl1*0.75-50) ; IF Zahl1 <= 66.67 THEN begin ErstattungsbetragLbl.caption := ' Der Schaden kann leider nicht bezahlt werden!' ; IF Zahl1 < 0 THEN BEGIN ErstattungsbetragLbl.caption := ' Der Schaden kann nicht im "-" bereich stehen !' ; end; End; end; end. Wenn ich zb. als Neuwert 66.68 eingebe kommt beim Erstattungsbetrag = 0,00100000051.. raus und das ist ja nicht gerade so geeignet :) |
Re: Programmierung einer Kaskoversicherung
|
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Zitat:
![]() |
Re: Programmierung einer Kaskoversicherung
str:8:2 sollte auch funktionieren
Gruß Wolfgang |
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
|
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Ich habe den Code hiermit noch einmal getestet:
Delphi-Quellcode:
Bei mir funzt das.
procedure TForm1.Button1Click(Sender: TObject);
var neuwert:double; s:string; begin neuwert:=0.00000051; str(neuwert:8:2,s); Edit1.text:=s; end; Gruß Wolfgang |
Re: Programmierung einer Kaskoversicherung
Zitat:
Delphi-Quellcode:
Bs jetzt sieht es ya so aus was muss ich jez genau reinschreiben?
unit UKaskoversicherung;
//---------------------------------------- //Projektname: Ein Kaskoversicherungsfall //Version: V1.0 //Autor: Hüseyin Yilmaz //Compiler: Delphi 4 //Letze Änderung: 25.12.09 //---------------------------------------- interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Math ; type TKaskoversicherung = class(TForm) NeuwertEdt: TEdit; BerechneBtn: TButton; SchliessenBtn: TButton; ErstattungsbetragLbl: TLabel; Label1: TLabel; procedure SchliessenBtnClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BerechneBtnClick(Sender: TObject); private public { Public-Deklarationen} end; var Kaskoversicherung: TKaskoversicherung; Zahl1: double ; Ergebnis : Single ; implementation {$R *.DFM} procedure TKaskoversicherung.SchliessenBtnClick(Sender: TObject); begin close end; procedure TKaskoversicherung.FormCreate(Sender: TObject); begin NeuwertEdt.text := '' ; ErstattungsbetragLbl.caption := '' ; end; procedure TKaskoversicherung.BerechneBtnClick(Sender: TObject); begin Zahl1 := strtofloat(NeuwertEdt.text) ; ErstattungsbetragLbl.caption := floattostr (Zahl1*0.75-50) ; IF Zahl1 <= 66.67 THEN begin ErstattungsbetragLbl.caption := ' Der Schaden kann leider nicht bezahlt werden!' ; IF Zahl1 < 0 THEN BEGIN ErstattungsbetragLbl.caption := ' Der Schaden kann nicht im "-" bereich stehen !' end; |
Re: Programmierung einer Kaskoversicherung
Delphi-Quellcode:
Besser: Im Deklarationsteil
IF Zahl1 <= 66.67 THEN begin ErstattungsbetragLbl.caption := ' Der Schaden kann leider nicht bezahlt werden!' ;
IF Zahl1 < 0 THEN BEGIN ErstattungsbetragLbl.caption := ' Der Schaden kann nicht im "-" bereich stehen !'
Delphi-Quellcode:
var s:string;
.. und dann IF Zahl1 <= 66.68 THEN begin str(Erstattungsbetrag:8:2,s); ErstattungsbetragLbl.caption := s; end |
Re: Programmierung einer Kaskoversicherung
Es ist zwar eine perfekte Idee aber es heilt leider nicht meine Wunden :cry: Wenn ich 66,68 € eingebe kommt wieder 0,001000..... raus.
|
Re: Programmierung einer Kaskoversicherung
Das ist ja nicht mehr mit Anzusehen. 71 Beiträge für die drei Fragen: Wie wandele ich einen Text in eine Fließkommazahl um? Wie rechne ich 75% von einem Betrag minus 50? Und wie gebe ich eine Fließkommazahl auf zwei Nachkommastellen gerundet aus? Und das auch noch wo es der Lehrer im Unterricht sehr wahrscheinlich erklärt hat, es die Delphi Hilfe gibt, man mit Google bestimmt auch fündig geworden wäre, man alle drei Fragen mit Hilfe der Forensuche beantwortet bekommt. :roll:
Und dann wird einem noch genau die Frage per PN gestellt, die hier bereits im Forum diskutiert wird.
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var BetragSchaden: double; BetragErstattung: double; begin BetragSchaden := StrToFloatDef(Edit1.Text, 0); BetragErstattung := BetragSchaden * 0.75 - 50; if BetragErstattung <= 0 then begin Label1.Caption := 'Keine Erstattung möglich'; end else begin Label1.Caption := Format('%.2n Euro', [BetragErstattung]); end; end; |
Re: Programmierung einer Kaskoversicherung
@Hüseyin123
Den letzten Schritt hättest Du nun wirklich allein schaffen müssen. Entweder Du setzt 68.67 ein oder nimmst das "=" weg oder Du nimmst Luckies Variante. Das sollte es jetzt aber gewesen sein. Ein bißchen mehr Eigeninitiative ist schon nötig, sonst kommst Du nicht weiter. [/Edit] Eigentlich lösen wir Hausaufgaben hier nicht vollständig [IEdit] Gruß Wolfgang |
Re: Programmierung einer Kaskoversicherung
Luckie, ohne hier Honig verschmieren zu möchten, gebe ich Dir recht!
Mir geht diese Diskussion auch langsam, aber sicher gehörig auf die Nerven. Allmählich kommt in mir sogar der Trollverdacht hoch. Man möge sich vorstellen, jeder (!) würde für sich beanspruchen, seine Fragen, die man über Suchseiten und Forumssuche in aller Regel eigeninitiativ und oft auch schneller beantwortet bekommt (die in dieser Diskussion gehören mit Sicherheit dazu), hier erneut zu stellen, so daß bei jedem (!) eine solche Datenflut, die fast ausschließlich aus Redundanz besteht, entsteht. Sicher ist ein Forum auch für Gespräch und ein wenig „small talk“ da, es (zwischen-)menschelt schließlich überall, und auch ich schließe mich davon nicht aus, aber hier wird m.E. das gesunde Maß bei weitem überschritten. Da Du Deine Ungeduld signalisiert hattest, war ich andererseits sogar erstaunt, daß Du die Diskussion nicht geschlossen hattest. |
Re: Programmierung einer Kaskoversicherung
Hallo,
ich weiss ich hab den Maß deutlich überschritten bei diesem Problem..Jedoch gucke ich mir meinen Algorithmus seit 2-3 Tagen an,finde aber den Fehler in meinem Algorithmus nicht.
Delphi-Quellcode:
Es kommt als Ergebnis immer 0,00 Euro raus..Ich verspreche euch, dass es bei meine letzte Frage ist :)unit UKaskoversicherung; //---------------------------------------- //Projektname: Ein Kaskoversicherungsfall //Version: V1.0 //Autor: Hüseyin Yilmaz //Compiler: Delphi 4 //Letze Änderung: 25.12.09 //---------------------------------------- interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Math ; type TKaskoversicherung = class(TForm) NeuwertEdt: TEdit; BerechneBtn: TButton; SchliessenBtn: TButton; ErstattungsbetragLbl: TLabel; Label1: TLabel; procedure SchliessenBtnClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BerechneBtnClick(Sender: TObject); private public { Public-Deklarationen} end; var Kaskoversicherung: TKaskoversicherung; Zahl1: double ; Ergebnis : double ; s: string ; implementation {$R *.DFM} procedure TKaskoversicherung.SchliessenBtnClick(Sender: TObject); begin close end; procedure TKaskoversicherung.FormCreate(Sender: TObject); begin NeuwertEdt.text := '' ; ErstattungsbetragLbl.caption := '' ; end; procedure TKaskoversicherung.BerechneBtnClick(Sender: TObject); begin Zahl1 := strtofloat(NeuwertEdt.text) ; ErstattungsbetragLbl.caption := floattostr (Zahl1*0.75-50) ; IF Zahl1 <= 66.67 then begin str(Ergebnis:8:2,s); ErstattungsbetragLbl.caption := s end; begin IF Zahl1 < 0 THEN BEGIN ErstattungsbetragLbl.caption := ' Der Schaden kann nicht im "-" bereich stehen !' end else begin ErstattungsbetragLbl.Caption := Format('%.2n Euro', [Ergebnis]); end; end; end; end. |
Re: Programmierung einer Kaskoversicherung
Bei welchen Eingabewerten kommt Null heraus?
|
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Bei welchen Eingabewerten kommt Null heraus?
> 68,67 = 68,67 < 68,67 |
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 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-2025 by Thomas Breitkreuz