Enterprise Forever
:HUN => Programozás => BASIC => Topic started by: szipucsu on 2016.December.30. 02:17:00
-
Pár éve Lacika írt egy hézagpótló programot, amibe maximum 77 számjegyből álló számot kellett beírni, és kiírta betűkkel (magyarul). A program nem tudom, hol van, és az ep128.hu -n sem találtam meg. (Itt (https://enterpriseforever.com/programozas/basic/msg28016/#msg28016) lett belinkelve az ep128.hu-ról, a fórumra nem is lett feltöltve, de már nem érhető el az ep128.hu-n azon a helyen.)
Akkor, Lacika segítségével elkezdtem átírni ezt a programot, hogy a beírt számjegyet angolul írja ki. Itt egy ponton elakadtunk. Az angolban bizonyos esetekben a számnevekbe kell az "and" ("és") szó is, mégpedig az egyesek/tízesek elé, ha hundred (száz) vagy thousand (ezer) áll előtte, pl.:
102 one hundred and two
122 one hundred and twenty-two
1002 one thousand and two
1022 one thousand and twenty-two
1102 one thousand one hundred and two
1122 one thousand one hundred and twenty-two
222,200 two hundred and twenty-two thousand two hundred.
Ha nincs előtte thousand vagy hundred szó, akkor nem kell and:
2,022,000 two million twenty-two thousand.
2,522,000 two million five hundred and twenty-two thousand
A dolog ott akadt el, hogy a program a "million" szó után is kitette az "and"-et akkor is, ha nem volt utána "thousand". Valószínű nem lehet túl bonyolult ezt sem megoldani, bár egyelőre nincs ötletem. Itt a jelenlegi program: [attach=1]
Nyilván a következő sort kellene valahogy átírni:
505 IF SZAM$(1)<>"" AND X$(2:3)<>"00" THEN LET SZAM$(MT)=SZAM$(MT)&"and "
-
Szerintem vizsgáld a szó hosszát is, vagyis a kiírandó pozíció épp a milliónál jár, akkor ne tegyen ki and-et.
-
Pár éve Lacika írt egy hézagpótló programot, amibe maximum 77 számjegyből álló számot kellett beírni, és kiírta betűkkel (magyarul). A program nem tudom, hol van, és az ep128.hu -n sem találtam meg.
Itt (http://ep128.hu/Ep_Konyv/Szamitastechnika_Kozepfokon.rar) van az említett program.