Autor Beitrag
KV-Liha
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 11.10.07 17:16 
Hallo,

hab mal wieder ein großes Problem bei meiner Hausaufgabe und zwar sollen wir römische Zahlen in Dezimalzahlen umwandeln. Im Anhang befindet sich die genaue Aufgabe. Die zweite sollen wir auch machen, hier weiß ich jedoch gar keinen Lösungsweg...
Mein Versuch:
Ich bin für jeden Verbesserungsvorschlag und kleinsten Hinweis DANKBAR!
PS: die ganzen Zahlen sollten eigendlich für eine Fehlermeldung bei falscher Eingabe dienen, weiß jedoch auch nicht wie das geht.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.Button1Click(Sender: TObject);
var
q,w,e,r,t,z,u,o,p,ü,a,s,d,f,g,h,j,k,l,ö,ä,y,x,c,v,b,n,m,dzahl: extended;
ZKette,ausgabe: string; i:integer;
begin

ZKette:=(Form1.Edit1.Text);
for
i:=1 to length(ZKette) do
 case (ZKette[i]) of
 'm':dzahl:=dzahl+1000;
 'd':dzahl:=dzahl+500;
 'c':dzahl:=dzahl+100;
 'l':dzahl:=dzahl+50;
 'x':dzahl:=dzahl+10;
 'v':dzahl:=dzahl+5;
 'i':dzahl:=dzahl+1;   end;

Str(dzahl:10:2,ausgabe);
Form1.Edit2.Text:=ausgabe;


 end;

end.


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: 2. identischen Anhang gelöscht
Einloggen, um Attachments anzusehen!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 11.10.07 17:28 
Moin und :welcome: im Forum!

user profile iconKV-Liha hat folgendes geschrieben:
römische Zahlen in Dezimalzahlen umwandeln.
Schau mal hier, dazu haben wir was in der FAQ. ;)

user profile iconKV-Liha hat folgendes geschrieben:
Die zweite sollen wir auch machen, hier weiß ich jedoch gar keinen Lösungsweg...
Bitte nur ein Thema pro Thread!

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Do 11.10.07 17:54 
user profile iconNarses hat folgendes geschrieben:

user profile iconKV-Liha hat folgendes geschrieben:
römische Zahlen in Dezimalzahlen umwandeln.
Schau mal hier, dazu haben wir was in der FAQ. ;)


user profile iconKV-Liha hat folgendes geschrieben:

hab mal wieder ein großes Problem bei meiner Hausaufgabe


Ich glaube kaum das er/sie eine fertige Funktion verwenden darf :wink:
Inspirationen könnte man sich aber abholen :mrgreen:
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 12.10.07 20:39 
wenn ich mich recht erinnere, gibt's hierfür eine fertige funktion in delphi ... mal die OH verwenden, sollte weiterhelfen.
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Sa 13.10.07 16:26 
Also zum einfachen-hausaufgaben-römisch-dezimal-umrechnen würde ich folgendes Verfahren vorschlagen:

Du gehst die römische Zahl von vorn nach hinten(links nach rechts) durch. Bei jeder Zahl überprüfst du ob im restlichen String (also rechts von der Zahl) eine größere römische Ziffer existiert. Wenn ja, wird der wert der aktuellen röm. Ziffer von dzahl abgezogen, wenn nicht wird der Wert addiert. So hast du am Ende eine relativ einfache (und leicht verständliche) Umrechnung, die man auch nachvollziehbar erklären kann, solange man selber weiß wie röm. Zahlen aufgebaut sind.

MfG
Basti

P.S: Es findet sich im Anhang keine Aufgabe, nur dein Quelltext :nixweiss: