Az ar az iranyar. ;)
Amennzit gondolsz es a bolti aron alul van.(azer realisat...;)
Ja meg a konyvnek meg legyenek a lapjai...;)
Barki mas is jelentkezhet.
(((pocsom bele winXP-be a magzar billentzuje is syar. Dehat csak ey van...;(((
Megvennem toled a konzvet ha eladnad...
Arrol ay ossyeyorrenesrol csak ma ertesultem.
Ha erdekel dobj egy mailt a cimemre.
Ha Bp-i vagy akkor talalkozhatnank valahol.
Kb. 1500-at szannek a dologra.
khiraly@cia.hu
"A C PROGRAMOZÁSI NYELV
AZ ANSI SZERINT SZABVÁNYOSÍTOTT VÁLTOZAT
KERNIGHAN, BRIAN W. - RITCHIE, DENNIS M.
Bolti ár: 3874 Ft
Speciális internet ár: 3681 Ft "
Én a Műegyetem jegyzetboltjában 1500 forint körüli áron (a pontos összegre nem emlékszem, de kevesebb mint fele ennek az árnak) vettem meg ugyanezt a könyvet néhány hónapja.
Egyébként egy nagyon jó írás a C nyelv megalkotóitól, még az itteni árért is megéri beszerezni. Első felében inkább tankönyv jellegű, de a második felében mellékletként ott van az ANSI C nyelv és a vele együtt szabványosított könyvtárak szabványszerű leírása.
A C PROGRAMOZÁSI NYELV AZ ANSI SZERINT SZABVÁNYOSÍTOTT VÁLTOZAT
KERNIGHAN, BRIAN W. - RITCHIE, DENNIS M.
Bolti ár: 3874 Ft
Speciális internet ár: 3681 Ft
(5% kedvezmény)
Elérhetőség: 3-5 munkanap
Kiadó: MŰSZAKI KÖNYVKIADÓ (WOLTERS KL
Oldalak: 291
Formátum: B5
Kiadás éve: 1996
ISBN: 9631605523
Fordító: MOLNÁR ERVIN
Nyelv: MAGYAR
Kiadás éve: 1996
A C++ PROGRAMOZÁSI NYELV I-II. STROUSTRUP, BJARNE
Bolti ár: 9800 Ft
Speciális internet ár: 9310 Ft
(5% kedvezmény)
Elérhetőség: 1-2 munkanap
Kiadó: KISKAPU KFT.
Oldalak: 1866
ISBN: 9639301191
Nyelv: MAGYAR
Kiadás éve: 2001
Angol nyelvű könyveket pedig a SoftWare Station-nél érdemes keresni.
lm
A sorokat a fgets-sel olvashatod memoriaba, onnan pedig a sscanf-fel olvashatod valtozokba.
Valoszinuleg egy struktura-tombot erdemes csinalni, esetleg a malloc/realloc -kal foglalni dinamikus memoriat hozza.
En szeretnem azokat ugy beolvasni, hogy oszloponkent egy-egy tombbe be
tudjam rakni, mint double, vagy float! Persze a tomb sorszama az lenne,
hogy hanyadik sort olvastam be! A sorok szama 50 es 1000 kozott valtoznak
(mert azert megsem egy file-on akarom hasznalni:))! (Sajnos ilyen csuf
szamok is vannak, mint 55.0000000000001, de ebbol nekem eleg lenne, hogy
55.0)
Pontosan.
Azért is kénytelen tiszta és átgondolt lenni, mert több platform GUI kezelésének megvalósítását is vállalja.
Millió példaprogram van hozzá és akár CVS-sezek, akár a napi verziókat hozom le, mindig van vmi javulás egy-két platformon.
De én mégis a wxWindows "C++ class library, the open source, cross-platform GUI framework" csomagot ajánlanám, ott a W32-GTK, Mac, stb.. ablakkezelők közös dolgai vannak OO-san megvalósítva.
Szuper és aktív projekt.. :-)
lm
A jó programozó egyik fő erénye a lustaság (a másik kettőt mindíg elfelejtem). A glade által előállított kód szerintem neked is megfelel. Nem érdemes GUI-t karakteres felületen programozni, ha van ilyen eszköz.
Ami a doksit illeti: keress rá a neten. Találsz eleget. Fejből azért nem tudok címeket.
Linuxon szeretnék grafikus felületű programot készíteni C vagy C++ nyelven.
Ehhez a GTK+ könyvtárat próbálnám használni (A QT nem teljesen ingyenes).
A problémám az, hogy -tapasztalatom szerint- rendkívül gyenge dokumentációkat lehet találni ebben a témakörben.
A letölthető dokumentációk többnyire referencia jellegűek, így a "hogyan" jellegű kérdésekre nem találok választ bennük. Ezen kívül jól jönne néhány példaprogram, ami el van látva kommentekkel.
Tud valaki segíteni ilyen témakörben ?
Van itt valaki, aki dolgozik ilyen témában ?
Esetleg olyan fórumot nem tudtok ajánlani, ahol ilyen témában lehet éreklődni ?
"a gettimeofday() függvénnyel lekéred az epocs óta eltelt milliomodmásodperceket és xor-olod a processed pid-jével". Ezt fejtsetek ki lecci bovebben. En ehhez meg zoldfulu vagyok. Addig vilagos, hogz a sys/time illetve a time header-eket kell hasznalni. A gettimeofday-vel le lehet kerni cmos-bol az eltelt idot. De mi is az a xor-olod?
A /dev/random hasznalata nem platfrom fuggetlen ha jol sejtem. Ha ennek hasznalatara is tudtok irni rovid peldat az is erdekelne. Koszi!
Minden process indulásakor egy fix random poollal indul, ezért a rand függvény alapból mindig ugyanazokat az egymás utáni számokat adja vissza. A megoldás erre az srand függvény, ami egy általad megadott értékre állítja a random poolt. Ha ez az érték (nem megjósolhatóan) kvázi-véletlen, akkor kapod azt, amit szeretnél. Viszonylag jó kvázi-véletlen számot lehet kapni például úgy, hogy a gettimeofday() függvénnyel lekéred az epocs óta eltelt milliomodmásodperceket és xor-olod a processed pid-jével. Valódi véletlenszámokat pedig a /dev/random olvasásával kaphatsz, ezeket a billentyűleütések/egérmozgások/hálókártyainterruptok között eltelt időből kalkulálja ki a kernel.
Stringeket c-ben így nem lehet összehasonlítani. A "help" kifejezés egy h,e,l,p,0 byteokat tartalmazó, csak olvasható bytesorozatot fog létrehozni egy, a process számára csak olvasható memóriaterületen, majd pedig a "help" kifejezésekben ennek a helynek a pointere lesz. Az argv[i]=="help" pedig nem akkor lesz igaz, ha az i. argumentum az, hogy "help", hanem akkor, ha ugyanarra a "help"-re mutat. Tehát soha nem lesz igaz, mivel az argv-k pedig írható memóriaterületen vannak.
Ami neked kell, az egy strcmp. (Az strcasecmp még jobb, az nem különböztet meg kis és nagybetűt). Ehhez kell egy #include is. Használata az if-ben: !strcmp(argv[i],"help"). A '!' nem véletlenül kell oda, sajnos a standard libc függvényei néha egy kicsit viccesek :( Itt pl az strcmp akkor lesz igaz, ha a stringek különböznek.
Egyébként a példa progidban a #include mögé kell még egy is, valamint a main-ból a gcc csak return-nal szereti, ha kilépsz (ez utóbbi warningon kívül más bajt általában nem okoz).
A parancssori argumentomkat szeretném felhasználni a prgramok (pédál kapcsolók használata). Ám az alábbi kód nem az csinálja amit szeretnék. Vajon mi a baj? Ha a címen lévő értéket (&arv[i]) akarom összehasonlítani akkor azt monja a fordító hogy pointer inttel nem lehet összahasonlítani.
#include
int main (int argc, char* argv[])
{
int i;
printf("A parancssori argumentumok száma: %d\n\n", argc);
for (i = 0; i < argc; i++)
{
printf("Az %d. argumentum %s\n", i, argv[i]);
}
for (i = 0; i < argc; i++)
{
if (argv[i]=="help") {printf("Segítséget kértél!");}
}
}
Kező programozóként véletlen számokat szertnék genrálni 1 és 10 között. A mellékelt kis pogram futásának az eredménye azonban mindig 1. Mit szúrok el? Előre is kösz a helpet!
#include #include
int main()
{
int i = 0;
i = rand()%10;
printf("A veletlen szam 0 es 10 között: %d\n", i);
return 0;
}