![]() |
Programmierung einer Kaskoversicherung
Hallo Leute,
seit diesem Jahr benutzen wir im Infomatikunterricht Delphi 4. Ich hab 0 Ahnung über das Programm und muss zu Montag eine Hausarbeit erledigen :wall: Die Aufgabe lautet: Eine Versicherung regelt Schäden wie folgt: Tritt ein Versicherungsschaden ein, so werden 75% des Neuwertes ersetzt, der Versicherte muss jedoch mindestens 50 Euro selbst tragen. Aufgabe: Entwickeln sie einen Algorithmus, der nach Eingabe des Neuwertes des versicherten Gegenstandes den Erstatungsbertrag berechnet und ausgibt. Prüfen Sie den Algorithmus mit geeigneten Testwerten anhand einer Wertbelegungstabelle. ACHTUNG: Ist der Schaden kleiner als 50 Euro muss er selbst bezahlt werden. Ich bitte um Hilfe... Danke im Voraus! |
Re: Ein Kaskoverisicherungsfall !!!
Hallo!
Herzlich willkommen in der DP. Bitte gib deinem Beitrag einen aussagekräftigen Titel, sodass man direkt sieht, um was es geht - auch die !!! sind nicht nötig ;) Zum Problem: An sich ist das ja erstmal kein Delphi-Problem. Du solltest dir also erstmal mit Blatt Papier und Stift ein paar Fälle aufschreiben, damit du überhaupt weißt, was du tun sollst. Grüße, Frederic |
Entschuldgigung, ich habe einen Tippfehler gemacht. Ich meinte natürlich ist der Schaden "kleiner" als 50 Euro.
Wie gesagt,ich hab dieses Programm erst vor 2 Monaten kennengelernt und bin noch ein ziemlicher Anfänger. Ich würde mich freuen, wenn ich Hilfe bekommen würde. |
Re: Programmierung einer Kaskoversicherung
Hi!
Ich vermute, du hast Delphi erst vor ein paar Wochen kennen gelernt? Wie gesagt, das Umsetzen in Delphi ist nachher recht "einfach", wenn du erstmal weißt, was du umsetzen musst. 3 Beispiele: 1) Schaden: 30 Euro 2) Schaden: 400 Euro 3) Schaden: 1237 Euro Wenn ich jetzt zu dir sage, rechne aus, was die Versicherung zahlt bzw. was du zahlen musst - was machst du dann (von Hand)? Grüße, Frederic |
Re: Programmierung einer Kaskoversicherung
Wir helfen dir gerne, doch machen wir nicht deine Hausaufgaben...
Was hast du denn bis jetzt schon gemacht? Wo brauchst du genau Hilfe und/oder hast du Fragen? Gruß Teekeks |
Re: Programmierung einer Kaskoversicherung
Also, danke für die Hilfe.
Ich will, dass ich dieses Programm beherrsche und bitte euch mir dabei zu helfen :) und bei dieser Hausarbeit ihr mir sozusagen "die ersten Schritte" der Aufgabe zeigt. Wie muss ich anfangen? etc. Edit-Felder und Labels habe ich schon eingefügt. 1 Edit, Feld für den Wert 2 Button, einer zum Schliessen und der andere zur Berechnung 1 Label, das Ergebnisfeld 1) 30 Euro= Der Schaden wird selbst bezahlt , da er kleiner ist als 50 Euro 2) 400 Euro= 400€ * 0,75 - 50€ = 250 € 3) 1237 Euro= 1237€ * 0,75 - 50€ = 877,75 € |
Re: Programmierung einer Kaskoversicherung
Der erste Schritt könnte sein das du dir die grundlegenden Dinge aneignest, indem du z.B.
![]() Gruß Teekeks |
Re: Programmierung einer Kaskoversicherung
Hi!
Ja, so kann das passen. Dann würde ich mal mit der Implementierung von Fall 1 anfangen. Da solltest du ein Konstrukt kennen gelernt haben, dass für solche Sachen die richtige Wahl ist. Grüße, Frederic |
Re: Programmierung einer Kaskoversicherung
vllt so: [delphi] if zahl 1 > 50 then .... (da weiss ich nicht weiter)
|
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Hi!
Ja, if ist für sowas die richtig Wahl. Aber zu allererst musst da ja mal schauen, dass du an den Wert kommst, den der User als Schadenshöhe angegeben hat. Also lesen aus dem Edit. Und naja, was ist, wenn der Wert kleiner als 50 Euro ist? - Dann musst du ihn wohl in dem Label ausgeben, das dafür steht, was der User zahlen muss. Grüße, Frederic |
Re: Programmierung einer Kaskoversicherung
Es kann ja nicht kleiner als 0 Euro sein oder ?
|
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "VCL / WinForms / Controls" nach "Sonstige Fragen zu Delphi" verschoben.
Sicher kein VCl-Thema |
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Du solltest systhematisch vorgehen, zerlege deine Aufgabe in immer kleinere Teilaufgaben, bis du diese direkt lösen kannst.
1. Du möchtest z.B. auf den ButtonClick reagieren, also wird eine Methode gebraucht:
Delphi-Quellcode:
2. Was soll hier nun im groben passieren:
procedure TForm1.Button1Click(Sender: TObject);
begin end; - Die Schadenshöhe soll eingelesen werden. - Der Erstattungsbetrag soll daraus ermittelt werden. - Der Erstattungsbetrag soll ausgegeben werden. Also erst mal für jede Teilaufgabe eine Methode entwerfen, wie diese ihre jeweilige Aufgabe löst kommt später:
Delphi-Quellcode:
Damit bist du mit dem Hauptprogramm schon mal fertig und kannst 3 Programmierer anstellen, die sich jeweils um eine Teilaufgabe kümmern ;).
type
TForm1 = class(TForm) {...} Button1Click(Sender: TObject); private function SchadenshoeheErmitteln: Double; function ErstattungsbetragErmitteln(Schadenshoehe: Double): Double; procedure ErstattungsbetragAusgeben(Erstattungsbetrag: Double); end; function TForm1.SchadenshoeheErmitteln: Double; begin end; function TForm1.ErstattungsbetragErmitteln(Schadenshoehe: Double): Double; begin end; procedure TForm1.ErstattungsbetragAusgeben(Erstattungsbetrag: Double); begin end; procedure TForm1.Button1Click(Sender: TObject); var Schadenshoehe, Erstattungsbetrag: Double; begin {Die Schadenshöhe soll eingelesen werden.} Schadenshoehe := SchadenshoeheErmitteln; {Der Erstattungsbetrag soll daraus ermittelt werden.} Erstattungsbetrag := ErstattungsbetragErmitteln(Schadenshoehe); {Der Erstattungsbetrag soll ausgegeben werden.} ErstattungsbetragAusgeben(Erstattungsbetrag); end; |
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Hallo Blup, Du bist schon beim zweiten Schritt.
|
Re: Programmierung einer Kaskoversicherung
Zitat:
Zitat:
Die Bezeichnung „Algorithmus“ ist für eine Wertezuweisung (mathematisch eigentlich Formel bzw. Gleichung, nicht jedoch in Delphi) ein wenig zu hoch gegriffen:
Delphi-Quellcode:
Auszahlsumme:=0.75*Neuwert-50;
oder: Auszahlsumme:=0.75*(Neuwert-50) ?! if Auszahlsumme<0 then Auszahlsumme:=0 Zitat:
Nehmen Sie einfach drei Werte: Einen unter, einen genau und einen über 50 €, letzter am besten einen leicht nachvollziehbaren, z.B. 100 €. Zitat:
|
Re: Programmierung einer Kaskoversicherung
Garfield, Du hast bei Deinen Rechnungen vergessen die 50 Euronen am Ende abzuziehen ;)
Sherlock |
Re: Programmierung einer Kaskoversicherung
Also, wenn der Betrag weniger als 50 Euro ist dann muss man alles selber zahlen.
Danke, dass sich bereits soviele für eine Hilfe angeboten haben. |
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Hach, ist das kompliziert :D
Die Aufgabe ist doch: Zitat:
Wenn ja, dann müsste 400€ Neuwert => ZuZahlen := (0.75 * 400) - 50; Macht 300€ - 50€ also 250€ Auszahlung durch die Versicherung. Oder hab ich zusammen mit Hüseyin nen Denkehler? Sherlock |
Re: Programmierung einer Kaskoversicherung
Ich denke schon,dass ich und Sherlock da recht haben.
Aber würde es nicht gehen, dass ich mit einem Edit-Feld,1 Button und 1 Label diese Programmierung durchführe. Man könnte ja auch wenn es weniger als 50 Euro sind alles in einen Button reinschreiben,oder nicht? Mir muss diese Hausarbeit gelingen, da es als Klausur bewertet wird und in der ersten Klausur hatte ich leider eine 5 :? |
Re: Programmierung einer Kaskoversicherung
Zitat:
Er muss mindestens 50 Euro selbst tragen. Das tritt dich nur ein, wenn die Selbstbeteiligung (25% des Neuwertes) unter diesen 50 Euro liegt. |
Re: Programmierung einer Kaskoversicherung
Also mein Lehrer hat es gedeutet und meinte:
75% des Schadens bekommt man und die 50 Euro sind sozusagen die Selbstbeteiligung..Wenn der Schaden 50 Euro oder kleiner ist als,bekommt man gar nix zurück...Aber wie ist dass dann z.B bei 60 Euro da bezahlt man ja 50 Euro und die 10 Euro sind ja nicht 75 % :pale: |
Re: Programmierung einer Kaskoversicherung
Da habe ich ja vielleicht etwas angestoßen, nur, weil es nicht eindeutig formuliert war.
Klasse - das ist fast wie mit Loriot und Evelyn Hamann! :lol: |
Re: Programmierung einer Kaskoversicherung
Zitat:
Zitat:
Laut obiger Aufgabenstellung zahlt die Versicherung 75%, wobei der Versicherungsnehmer mindestens 50€ zahlen muss. Das heißt, die Versicherung zahlt 75%, der Versicherungsnehmer 25%. Sind die 25% weniger als 50€ erhöht sich der relative Anteil des Versicherungsnehmers. Beispiel 1: Der Neuwert beträgt 100€ Versicherungsnehmer: Anteil: 25% -> 25€ Mind.: 50€ -> 50€ Zu zahlen: 50€ Der Versicherungsnehmer zahlt 50€ und die Versicherung den Rest, was ebenfalls 50€ sind. Damit zahlt jeder die Hälfte. Beispiel 2: Der Neuwert beträgt 500€ Versicherungsnehmer: Anteil: 25% -> 125€ Mind.: 50€ -> 50€ Zu zahlen: 125€ Der Versicherungsnehmer zahlt 125€, also 25%. Etwas anderes gibt die Aufgabenstellung nicht her. Zitat:
|
Re: Programmierung einer Kaskoversicherung
Zitat:
Wie schrieben Sie gerade so schön: Zitat:
Ganz klar ist mir hingegen nicht, was im Satz "Ist der Schaden kleiner als 50 Euro muss er selbst bezahlt werden." nun konkret unter dem Schaden verstanden wird: Die Reparatur-/Wieder-/Neubeschaffungskosten, oder doch bloß die 75% davon. Mit anderen Worten: Wessen Schaden (ist gemeint) - der des Unfallopfers oder der der Versicherung bzw. des Unfallverursachers? Ich kann noch deutlicher werden: Die Information im Satz "Eine Versicherung regelt Schäden wie folgt: Tritt ein Versicherungsschaden ein, so werden 75% des Neuwertes ersetzt, der Versicherte muss jedoch mindestens 50 Euro selbst tragen." halte ich nicht für ausreichend und damit nicht eindeutig. Die korrekte Erfüllung der Aufgabenstellung wird damit m.E. zum reinen Glücksspiel. Womöglich war dem Lehrer selbst nicht klar, daß das nicht eindeutig ist. Ein ziemlich sicheres Indiz dafür ist auch das Aufflammen dieser Diskussion. |
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Zitat:
Da sollte wohl stehen "..bis maximal 50 Euro ist der der Schaden vom Versicherungsnehmer zu zahlen" Dann sieht das so aus
Code:
Gruß
Schadenssumme:=Neuwert/100*75
if Schadenssumme<=50 then Versicherungszahlung:=0 else Versicheringszahlung:=Schadenssumme-50; K-H |
Re: Programmierung einer Kaskoversicherung
Schön zu sehen das vermeintlich leichte Schulaufgaben auch den ein oder anderen Erwachsenen durcheinanderbringen. :mrgreen:
|
Re: Programmierung einer Kaskoversicherung
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Liste der Anhänge anzeigen (Anzahl: 1)
Also mein Anfang sieht so aus:
Delphi-Quellcode:
Was kann ich jetzt bei dem BerechneBtn schreiben?
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFensterFrm = class(TForm) Zahl1: TEdit; BerechneBtn: TButton; SchliessenBtn: TButton; ErgebnisLbl: TLabel; procedure SchliessenBtnClick(Sender: TObject); private { Private-Deklarationen} public { Public-Deklarationen} end; var FensterFrm: TFensterFrm; Zahl1, Ergebnis : INTEGER ; implementation {$R *.DFM} procedure TFensterFrm.SchliessenBtnClick(Sender: TObject); begin close end; end. Außerdem wollte ich wissen was strtoint,inttostr und strtofloat heissen? |
Re: Programmierung einer Kaskoversicherung
Zitat:
Zitat:
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Zitat:
:mrgreen: Sherlock |
Re: Programmierung einer Kaskoversicherung
Zitat:
Natürlich bleibt der VN dann auf den 25% sitzen - vorausgesetzt, er kauft sich mit dem Versicherungsgeld etwas gleichwertiges ;) |
Re: Programmierung einer Kaskoversicherung
Zitat:
Zitat:
|
Re: Programmierung einer Kaskoversicherung
Zitat:
Ob der Versicherungsnehmer nun die 25% tatsächlich zahlt oder nicht, ist letztlich unerheblich. Wenn Du Dir zum Beispiel bei diesem Wetter Dein Auto kaputt fährst, musst Du die 25% nicht dazugeben, um ein neues Auto zu kaufen. Du kannst natürlich auch zu Fuss gehen oder mit dem Rad fahren oder die öffentlichen Verkehrsmittel benutzen. |
Re: Programmierung einer Kaskoversicherung
Ich glaube, wir sollten uns wieder mehr auf die fiktive Aufgabe konzentrieren, anstatt zu diskutieren, wie das eine reale Versicherung Hand haben würde.
|
Re: Programmierung einer Kaskoversicherung
Der Neupreis steht in "Zahl1: TEdit;" als Text drin, den musst du in eine Zahl umwandeln, mit der du weiterrechnen kannst.
Wenn Neupreis kleinergleich fünfzig dann null ansonsten Neupreis mal nullkommafünfundsiebzig minus fünfzig. Die Zahl, die da rauskommt, musst du in einen String umwandeln, den du in "ErgebnisLbl: TLabel;" ausgeben lässt. Und wie Luckie schon schrub: Einfach mal die Hilfe von Delphi bemühen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 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