1. |
Re: C - egyszeru szovegszerkeszto (fwd) (mind) |
45 sor |
(cikkei) |
2. |
Re:pont a szakaszon (mind) |
23 sor |
(cikkei) |
3. |
Adatok XLS-be (mind) |
11 sor |
(cikkei) |
|
+ - | Re: C - egyszeru szovegszerkeszto (fwd) (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Black Net > 2001.09.04. 23:58:52 +2h-kor írta:
> Most kezdtem el foglalkozni a C nyelvvel. Eddig a Pascal nyelvet használtam,
> de most már a C nyelven kell a továbbiakban "programozni".
> Tulajdonképpen az lenne a gondom, hogy írnom kellene egy egyszerű
> szövegszerkesztőt, amely természetesen Dos alatt működik.
Csak ötletek:
1) Ha már C-re vetemedtél, javaslom hogy tartsd a fejedben: a cél a c++ legyen,
akár arra át is lehetne térni, amint a C filozófiájával képbe kerültél.
Nagyobb rendszert csak objektumorientáltan érdemes fejleszteni.
2) mivel tanulásról van szó, használj tipikusan C-s felfogást:
- ne a bitbuzerálásra koncentrálj, tehát ne a DOS-os, PC-s hardver rejtelmekkel
foglalkozz, ne egy adott hardver, BIOS stb lehetőségét használd ki, hanem
inkább írj jól portolható kódot, ami akár egy kis rásegítéssel Linux alá
is átvihető. Tehát generikus legyen a kód.
- Válaszd szét főbb modulokra a részfeladatok mentén a problémát, pl
- file műveletek
- manipuláció a szöveggel (beszúrás, törlés, keresés...)
- megjelenítés általánosan (szöveges képernyőt feltételezve olyan viszonylag
maga szintű függvények használatáig, hogy a képernyő x,y helyére s stringet kií
ratni)
- alacsony szintű megjelenítés (ez az ami teljesen más lesz pl DOS és Linux ala
tt)
ez itt konkrétan annak a kifejtése, hogy a printxy függvény mit is csinál.
tehát modularitás pl struktúrák (struct) használatával --> ez már OO irányba mu
tat.
Megvalósítási részletek
- rögzítsd le, hogy mondjuk a szerkesztendő fájlok max mérete 60 KB (ha 32 bite
s
környezet alá fejlesztesz, akkor lehet akár 60 MB is, bitbuzerálás nélkül)
- ne engedj meg tetszőleges karaktereket a file-ban, csak mondjuk a 32-es kód
felettieket
- legyen korlátlan a sorhosszúság (akár a teljes szöveg 1 sorban)
- használj dinamikusan allokált memóriaterületet a szövegnek (malloc)
- pointerekkel tartsd nyilván, hogy az egyes sorok hol kezdődnek
stb tehát használj C-s ízű megoldásokat.
feldobom a csatira is, hátha valakinek jobb ötletei is vannak
--
Józsi
|
+ - | Re:pont a szakaszon (mind) |
VÁLASZ |
Feladó: (cikkei)
|
> meg kene mondani 1 pontrol(x,y), hogy rajta van-e egy
adott
> szakaszon(x1,y1)(x2,y2)
> hogyan lehetseges ez? nekem tippem sincs...:((((
En 2 lepesben oldanam meg:
1. Ellenorzes x1 <= x <= x2 es y1 <= y <= y2
2.a., meghatarozni az (x1,y1)-(x2,y2) szakasz iranytangenset
2.b., osszevetni az (x1,y1)-(x,y) szakasz iranytangensevel
ket ponttal megadott egyenes iranyszoget ki tudod szamolni a
kovetkezo modon:
tg(alfa)=(y2-y1)/(x2-x1)
Ha bent van a tartomanyban es a ket iranytangens megegyezik,
akkor rajta van a szakaszon.
Figyelem: mindvegig felteteleztem, hogy x2>x1, y2>y1. Ha ez
nem all fent, akkor Neked kell ellenorizni, hogy melyik a
kisebb (1. lepes)
pgyl
|
+ - | Adatok XLS-be (mind) |
VÁLASZ |
Feladó: (cikkei)
|
A legprimitívebb módja XLS formátumba kirakni az adatot, hogy HTML
táblát generálsz. Az Office97-től kezdődően csont nélkül megnyitja, és
figyelembe veszi a legtöbb formázást, sőt a kifejezéseket is. Ha az
egyik cellába például azt írod, hogy
<TD>=A1*A2</TD>
akkor oda nem a '=A1*A2' stringet fogja tenni, hanem a kifejezést. Ezt
még egy Linux-os szerveren is megteheted.
Péter
|
|