|
|
|
|
Oldal: 1 / 1
|
[ 4 hozzászólás ] |
|
Szám szöveggé alakítása Pascalban - Hogyan?
Szerző |
Üzenet |
_optikus_
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 474
|
|
csüt. dec. 09, 2004 13:52 |
|
|
vackor
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 4866
|
Én is kipróbáltam. _optikus_-nak igaza van. Beírtam az elejére, hogy Kód: type interger = longint; és máris működik 9 jegyű számokra. (Free Pascal-ban).
|
kedd dec. 07, 2004 15:15 |
|
|
_optikus_
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 474
|
Nem tom mi nem mukodik rajta nem probaltam ki (azt sem irtad miben forditod), de azt latom hogy integert hasznalsz oda meg nem frenek be milliok (sot tizezrek is csak modjaval).
|
vas. nov. 28, 2004 11:38 |
|
|
Szapeboy
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 14
|
Szám szöveggé alakítása Pascalban - Hogyan?
Adott az alábbi programrész, ebből kellene azt elérnem, hogy számból szöveget készítsen, de sajna nem boldogulok. Légyszi segítsetek!
function SzamIrva(LA : integer): String;
var LS : String;
function szambolbetu(szam: integer): String;
var s : String;
begin
s:='';
if szam=1 then s:='egy' else
if szam=2 then s:='kettő'else
if szam=3 then s:='három'else
if szam=4 then s:='négy'else
if szam=5 then s:='öt'else
if szam=6 then s:='hat'else
if szam=7 then s:='hét'else
if szam=8 then s:='nyolc'else
if szam=9 then s:='kilenc';
result:=s;
end;
function szamboltizes(szam: integer): String;
var s : String;
begin
s:='';
if szam=10 then s:='tíz' else
if szam=20 then s:='húsz' else
if szam<10 then s:='' else
if szam<20 then s:='tizen' else
if szam<30 then s:='huszon' else
if szam<40 then s:='harminc' else
if szam<50 then s:='negyven' else
if szam<60 then s:='ötven' else
if szam<70 then s:='hatvan' else
if szam<80 then s:='hetven' else
if szam<90 then s:='nyolcvan' else
if szam<100 then s:='kilencven';
result:=s;
end;
function szambolszazas(szam: integer): String;
var temp : integer;
s: String;
begin
s:='';
if szam div 100 >=1 then
begin
temp:=szam div 100;
s:=szambolbetu(temp)+'száz';
end;
temp:=szam mod 100;
s:=s+szamboltizes(temp);
temp:=szam mod 10;
s:=s+szambolbetu(temp);
result:=s;
end;
begin
LS:='';
if LA = 0 then
begin
Result:='nulla';
exit;
end;
if LA <0 then LA := Abs(LA);
if LA < 2000 then
begin
if LA div 1000 > 0 then
LS := szambolbetu(LA div 1000)+'ezer';
LS := LS + szambolszazas(LA mod 1000);
end else
begin
if LA > 1000000000 then
begin
LS := szambolszazas(LA div 1000000000)+'milliárd-';
LA := LA mod 1000000000;
end;
if LA > 1000000 then
begin
LS := szambolszazas(LA div 1000000)+'millió-';
LA := LA mod 1000000;
end;
if LA > 1000 then
begin
LS := LS+szambolszazas(LA div 1000)+'ezer-';
LA := LA mod 1000;
end;
LS := LS + szambolszazas(LA);
end;
if LS[length(LS)]='-'then delete(LS,length(LS),1);
if LS[length(LS)]='-'then delete(LS,length(LS),1);
if LS[length(LS)]='-'then delete(LS,length(LS),1);
Result:=LS;
end;
|
szer. nov. 03, 2004 21:19 |
|
|
|
Oldal: 1 / 1
|
[ 4 hozzászólás ] |
|
Ki van itt |
Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég |
|
Nem nyithatsz témákat ebben a fórumban. Nem válaszolhatsz egy témára ebben a fórumban. Nem szerkesztheted a hozzászólásaidat ebben a fórumban. Nem törölheted a hozzászólásaidat ebben a fórumban.
|
|
|
|