Fontos linkek a C-ről:
Prog.hu-s cikkek
Prog.hu-s tudástár témák
The C Library Reference Guide
Standard C
Wikipedia
C Tutorial
Programming in C
Bevezetés a C programozási nyelvbe
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [attilasd:] A laposföld elmebaj: Vissza a jövőbe!
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] PLEX: multimédia az egész lakásban
- [Re:] eBay-es kütyük kis pénzért
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [Mr Dini:] Mindent a StreamSharkról!
- [Re:] [bacsis:] Készülődés a BRSZK-ra
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
GAMEPOD.hu témák
Téma összefoglaló
- Utoljára frissítve: 2014-04-25 14:12:00
LOGOUT.hu
Hozzászólások
shev7
veterán
be akarod kerni a konzolrol, vagy hardcode-olni akarod?
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
cellpeti
veterán
micsoda?
úgy kell,hogy be kell kérni szabvány bemenetről és utánna kell letárolni!
Tigris, tigris, csóvafény...
shev7
veterán
de amikor bekered szavany bemenetrol akkor egybol el is tarolod. Vagy a bekeres nem megy? akkor kerdezd azt
char* str; // ez lehetne char str[50] is de akkor 50-nel nagyobb inputnal bajban vagy
scanf("%s", str);
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
Sk8erPeter
nagyúr
De a scanf csak szóközig olvas, nemde?
Sk8erPeter
cellpeti
veterán
illetve,csak printf-et és getline-t szabad használni!
De köszönöm!
Tigris, tigris, csóvafény...
Dead_slow
tag
Üdv urak nekem is kellen egy kis segítség.
Adott egy feladat amiben az adatok bekérését olyen formán kell megadni, hogy: "Lili, 7, Szabó Gergő"
A kérdés az, hogy hogy tudnám ezt úgy beolvastatni hogy a "Lili" a "7" és a "Szabó Gergő" is egy-egy külön stringben legyen eltárolva.
Köszönöm
[ Szerkesztve ]
Gyuri16
senior tag
scanf tud olyat, hogy a formazo stringben megmondod neki milyen karaktereket matcheljen. igy kell irni: %[a-z] ez pl azt jelenti hogy mindent a-tol z-ig. negalni lehet ^ jellel, that pl ez: %[^,] azt jelenti, hogy mindent a vesszon kivul. ezt felhasznaljuk ehhez. tehat az elso kettonel (Lili, 7) az elvalaszto a vesszo lesz, a harmadiknal pedig a \n. igy fog kinezni:
#include <stdio.h>
int main() {
char a[80], b[80], c[80];
scanf("%[^,], %[^,], %[^\n]",a, b, c);
printf("%s\n%s\n%s\n", a, b, c);
}
Nem vagyok egoista, csak uborkagyalu!
Sk8erPeter
nagyúr
Jé, ez király, ezt eddig nem is tudtam, nekem is hasznos lesz, danke schön.
Sk8erPeter
Jester01
veterán
Amilyen gyorsan megtanultad, ugyanolyan gyorsan felejtsd is el
Ugyanis semmilyen hibakezelést nem végez így nagyon kiváló túlcsordulást lehet vele csinálni. Persze tehetsz bele max hosszot, de akkor meg azzal kell külön vacakolni, hogy a pufferben maradt szemetet kiolvasd (ugye a példa szerint is benne marad egy enter ami a következő beolvasást megzavarhatja) illetve hogy értelmes hibaüzenetet adj. Szóval kb házi feladat programokhoz jó, egyébként pedig egész sorokat kell olvasni és aztán szépen értelmezni. Macerás, de ez van.
Jester
Sk8erPeter
nagyúr
Hát jó, köszi, hogy felhívtad a figyelmem még idejében.
Sk8erPeter
Dead_slow
tag
Üdv!
Újra segítséget kérek a topik "lakóitól" itt a feladat: Egy elefánt menhelyre nyilvántartó programot készítünk. A program először bekéri a menhelyen megfordult elefántok számát, majd ezután bekéri és eltárolja az elefántok nevét, a menhelyre érkezés évét, valamint a menhelyről távozás évét(lásd a példát).
Eztán a program kilistázza évenkénti bontásban az adott évben a menhelyen tartózkodott elefántok nevét. A listázás a legkorábban érkezett elefánt érkezési évétől a legkésőbb távozott elefánt távozási évéig tart.
Pl.:
Elefántok száma: 4
1. Neve: Trombi
Erkezes: 1998
Tavozas: 2001
2. Neve: Frédi
Erkezes: 1999
Tavozas: 2000
3. Neve: Olga
Erkezes: 1998
Tavozas: 1999
4. Neve: Helga
Erkezes: 2004
Tavozas: 2005
Kimenet:
1998: Trombi, Olga
1999: Trombi, Frédi, Olga
2000: Trombi, Frédi
2001: Trombi
2002:
2003:
2004: Helga
2005: Helga
Jelenleg itt tartok, persze nem biztos hogy így jó lesz:
#include<stdio.h>
struct elefant{
char nev[41];
int erkezes;
int tavozas;
};
struct elefanttar{
int db;
struct elefant *elefantok;
};
void lefoglal(struct elefanttar *pfe){
printf("kerem az elefantok szamat: ");
scanf("%d",&(*pfe).db);
(*pfe).elefantok=(struct elefant*)malloc(sizeof(struct elefant)*(*pfe).db);
}
void beker_elefant(struct elefant *pe){
printf("Neve: ");
scanf("%s",(*pe).nev);
printf("Erkezes: ");
scanf("%d",&(*pe).erkezes);
printf("Tavozas: ");
scanf("%d",&(*pe).tavozas);
}
void beker_elefanttar(struct elefanttar *pet){
int i;
for(i=0;i<(*pet).db;i++){
beker_elefant(&(*pet).elefantok[i]);
}
}
void listaz(struct elefanttar *let){
char c[41];
int sorba[200];
int max=0;
int min=10000;
int i,j,k;
for(i=0;i<(*let).db;i++){
if(max<(*let).elefantok[i].erkezes){
max=(*let).elefantok[i].erkezes;
}
}
for(j=0;j<(*let).db;j++){
if(min>(*let).elefantok[j].erkezes){
min=(*let).elefantok[j].erkezes;
}
}
}
void felszabadit(struct elefanttar *pfe){
free((*pfe).elefantok);
(*pfe).elefantok=NULL;
}
int main(){
struct elefanttar b;
lefoglal(&b);
beker_elefanttar(&b);
listaz(&b);
felszabadit(&b);
return 0;
}
[ Szerkesztve ]
moha21
addikt
lehet azért kell neki, mert ki szeretne lépni a programból bár azt én sem értem miért kell mindekettő.
Nem az az igazi férfi aki minden nőt meghódít, hanem aki ismeri a nagyfeszültségű földkábelek szigetelésének technikáját.
Gyuri16
senior tag
amit irsz, igy ranezesre jo. tehat tegyuk fel, hogy a beolvasas megvan.
a listaz fv-ben megallapitod a min es max evet amit majd a kimenetbe irsz. itt egy kis bug szerintem, a max-ban a tavozast kellene nezni, nem az erkezest.
tovabb az en javaslatom:
lesz egy tombod amit az evvel indexelsz ( (ev-min)-nel konkretan, hogy uljenek az indexek). ez a tombod jegyzi meg az evben ott levo elefantok nevet. Ezt szerintem legegyszerubb lancolt listaval (mivel elore nem tudod, hogy mennyi elefant lesz az adott evben, igy elore nem tudnad a tombot lefoglalni. persze lehet lefoglalni tobbet..)
szoval a tombod minden eleme egy lancolt lista elejere fog mutatni. a lista elemei lehetnek mutatok az elefant structokra. egy ciklusban vegigmesz az osszes elefanton, es az eves tombodbe a listakba hozzaadod a megfelelo evekhez.
ha nincs kedved a lancolt listahoz, lehet csinalni tombbel is, akkor lefoglalsz akkora tomboket mint amennyi elefant osszesen van.
ha pedig csak kiiratni kell, akkor lehet akar egyenesen stringbe is gyujteni a neveket evek szerint, ez is kicsit maceras, hiszen oda kell figyelni, hogy eleg hely legyen lefoglalva
lehet mashogy is csinalni, de gondolom nincs egy elefantfarmod ahol tenyleg futna a program
[ Szerkesztve ]
Nem vagyok egoista, csak uborkagyalu!
Jester01
veterán
Láncolt lista elefántokból:
Jester
Dead_slow
tag
Köszönöm, összehoztam bár nem láncolt listával.
Nemrég kérdeztem itt, hogy lehetne beolvasni egy ilyen formátumú(pamacs, 7, Vnev Knev) stringet úgy hogy mind a három adatot külön tárolja el, akkor írtál egy scanf-es megoldást, de azt nem fogadták el, mondván, hogy a név állhat simán 3 részből is, csináljam gets-el ezt mondták. Gondoltam feldarabolom, de valamiért nem akar működni, tudom alap dolog, de mégsem jó, az elsőt még kiírja, de a másodikat illetve a harmadikat már nem. Itt a main fv-m.
int main(){
printf("adatok: ");
gets(mondat);
i=0;
do{
elso[i]=mondat[i];
i++;
}while(mondat[i]!=',');
i=i+2;
do{
masodik[i]=mondat[i];
i++;
}while(mondat[i]!=',');
i=i+2;
do{
harmadik[i]=mondat[i];
i++;
}while(mondat[i]!='\0')
printf("%s\n",elso);
printf("%s\n",masodik);
printf("%s\n",harmadik);
system("pause");
return 0;
}
[ Szerkesztve ]
Karma
félisten
Azért ez üt... "mondván, hogy a név állhat simán 3 részből is".
Semmi szépet nem tudok elmondani az oktatásunk állásáról.
Egyébként az lehet baj például, hogy a masodik és harmadik tömbökbe az i. helytől kezdesz el írni, így az első i-1 karakterben vagy szemét van.
Egyáltalán ezek mik? Hogy vannak deklarálva?
[ Szerkesztve ]
“All nothings are not equal.”
Gyuri16
senior tag
"nem fogadták el, mondván, hogy a név állhat simán 3 részből is"
az nem gond. amit en irtam az az utolso reszt elolvassa a \n-ig, tehat ilyen is jo lesz:
valami, 2, Abc Efg Hij
az viszont igaz, hogy ezt nem igy kellene megcsinalni, amint azt Jester01 is irta.
azzal amit irtal az a gond, hogy elso, masodik es harmadik stringjeidet i-vel indexeled, ami egyre nagyobb. az elso jo lesz, de a masodikban mar nem a nulladik helyrol kezded feltolteni a stringet.
Nem vagyok egoista, csak uborkagyalu!
Dead_slow
tag
Köszönöm, így már értem
#include<stdio.h>
char mondat[100];
char elso[100];
char masodik[100];
char harmadik[100];
int i,j,k,l;
int main(){
printf("adatok: ");
gets(mondat);
i=0;
do{
elso[i]=mondat[i];
i++;
}while(mondat[i]!=',');
elso[i+1]=='\0';
i=i+2;
j=0;
do{
masodik[j]=mondat[i];
i++;
j++;
}while(mondat[i]!=',');
i=i+2;
j=0;
do{
harmadik[j]=mondat[i];
i++;
j++;
}while(mondat[i]!='\0');
printf("%s\n",elso);
printf("%s\n",masodik);
printf("%s\n",harmadik);
system("pause");
return 0;
}
Gyuri16
senior tag
ha a tanaraid szigoruak, akkor meg van par dolog amit lehet ezen javitani:
1. gets nem egy tul jo fuggveny, mert nem ellenorzi a buffer es a bemenet hosszat. buffer overrun lehet a vege. helyette inkabb fgets ajanlott
2. a programod jol lefut, ha olyan bemenetet kap, mint amilyet var, viszont ha csak egy vesszo van a mondat-ban, akkor csunya dolgokat csinal. a while ciklusaidban jo lenne a mondat veget jelzo \0-t is figyelni (ilyenkor valami hibakoddal kilepni)
ez ervenyes az i=i+2-re is
3. a masodik es harmadik stringet nem zarod le \0-val
Nem vagyok egoista, csak uborkagyalu!
Karma
félisten
"1. gets nem egy tul jo fuggveny, mert nem ellenorzi a buffer es a bemenet hosszat. buffer overrun lehet a vege. helyette inkabb fgets ajanlott"
A tanáraik már bizonyították, hogy fogalmuk sincs a C-ről, a tankönyvük pedig gets-t használ, gyanítom azért erőltetik azt.
“All nothings are not equal.”
Dead_slow
tag
Annyira nem szigorúak, csak ha, meg van adva egy feladat, akkor pontosan olyannak kell lennie a kimenetnek mint, ami a példában szerepel, valamint néha kikötnek ezt-azt, hogy azt ne használjuk. A lezáró '\0' jogos, de az én kódomban a gépen szerepel, úgy, hogy vagy töröltem innen lányos zavaromban, vagy csak egy korábbi állapotot másoltam be
Amúgy köszömöm, fgets-et tanulmányozom akkor picit.
[ Szerkesztve ]
shev7
veterán
semmi
[ Szerkesztve ]
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
D.e.x.
csendes tag
Sziasztok! Azt mi okozza, hogy lefordítok egy .c fájlt (vagy többet egy projecthez) Visual Studio 2008 Pro-ban, és amikor a létrehozott .exe fájlt valakinek elküldöm, akkor asszem valami Configuration error-ral nem indul. Viszont van akinél indul.
A rendszerem 64 bites, de nem x64-re fordít, ugyanis akinél ment, 32 bites redszer van. És neki is akadt hasonló problémája, hogy az exe fájl nem volt hordozható (nálam viszont ment az övé).
VS beállítási gond lehet?
Ha kevés az információ, akkor igyekszem minél hamarabb pótolni.
Köszi a segítséget!
D
Scroll Lock
tag
Sziasztok!
Olvastam a netet ugyan de nem igazán akkor leesni, hogy az <errno.h> hogyan kell pontosan használni, meg eléggé sürget az idő Tehát deklarálok egy ilyen nevű változót és hiba esetén hol fog megjelenni a hibakód? Az object file-ban?
Másik kérdésem, hogy az EDOM, ERANGE makrók is hasonlóan működnek? Ha valaki egy rövid leírást adna a témával kapcsolatban azt megköszönném.
[ Szerkesztve ]
D.e.x.
csendes tag
Ha jól tudom, az errno-t a matematika függvények használják (másról nem tudok). A matek könyvtárnak van három fontos makrója: EDOM (értelmezési tartomány hiba), ERANGE (értékhatár átlépés, pl ha a tangens argumentuma nagyon közel van Pi/2, -Pi/2-höz, ahol ugye nincs értelmezve), HUGE_VAL (túlcsordulás). Ha valamelyik előfordul egy fv. hívásánál, akkor a fv. az errno értékét a megfelelőre állítja. Így pl. a biztonság kedvéért le tudod ellenőrizni, hogy nem volt-e valami hiba, ami rossz irányba befolyásolná a futást.
Úgy tudom, hogy a könyvtárak deklarálják (extern int asszem), szóval ezzel nem kell bajolni.
Gyuri16
senior tag
nem kell deklaralnod. hasznalni ugy kell hogy eloszor nullazod (ez foleg akkor kell, ha a fuggvenyed amit majd hivsz ha -1et ad vissza, nem feltetlenul hibat jelent). azutan meghivod a fuggvenyed, ha -1-el ter vissza akkor az errno-ban lesz a hiba oka. ezt nem rossz rogton feldolgozni, mert sok fuggveny modosithatja, igy aztan megvaltozhat az erteke
van egy par specialis eset, ezeket nem rossz megnezni a manualban. ugyanitt megtalalod a hibakodokat is
Nem vagyok egoista, csak uborkagyalu!
sghc_toma
senior tag
az okozza, hogy nincsenek fent az adott gepen a te forditodnak megfelelo runtime library-k.. ket lehetoseged van:
- feltelepititek a runtime-ot (vcredist.exe neven valahol ott van a Visual Studio konyvtaraban, vagy MS-tol is le lehet tolteni)
- statikusan linkeled a runtime-ot az exe-dhez (Project Properties | C/C++ | Code Generation | Runtime Library, es itt /MD helyett /MT)
in asm we trust
Vasinger!
nagyúr
Kéne egy kis segítség. Sajna lemaradtam egy óráról, ahol elég sok minden fontos anyagot vettünk. Adott is házit a tanár, de azt nem tudom megcsinálni. Ha valaki leírná mit kéne beírnom, megköszönném.
C# -ban Console Application-ben kéne.
A feladat:
Beolvasni egy kitalált nevet, a szöveget és elé tenni, hogy Dr.
Beolvasunk egy stringet és ezeket megtisztítjuk a szóközöktől és kiíratni, hogy hány van.(gondolom karakter)
Beolvasunk egy nevet és csak a keresztnevet írja ki.
Így írták le az osztálytársaim is. A sztringkezelő eljárásokat, függvényeket vettük.
Köszönöm előre is a segítséget!
[ Szerkesztve ]
ArchElf
addikt
Inkább ide.
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
Vasinger!
nagyúr
Köszi az útbaigazítást, elnéztem.
D.e.x.
csendes tag
Köszi, így már indul gond nélkül.
Scroll Lock
tag
Tehát, ha jól értelmezem az errno, hiba esetén felvesz egy adott értéket, aminek alapján belehet azonosítani a hibát. Ezt az adott értéket a hiba helye határozza meg? és létezik valamilyen lista a kódszám azonosítására
Gyuri16
senior tag
altalaban ugy mukodik, hogy meghivod a fuggvenyt, ha hibat csinal akkor beallitja az errno-t olyan ertekre amibol a programozo valamit megtudhat, es visszater -1-el. az errno egy szam lesz, ezek minden ilyen fuggvenynel le vannak irva a manualban. a linken amit legutobb adtam fel vannak sorolva omlesztve a hibakodok. a kod nem a hiba helyet adja meg, hanem a "fajtajat". tehat pl malloc. kaphatsz ENOMEM hibakodot, ez az jelenti, hogy nincs mar hely, es ne is nagyon bizz benne, hogy lesz, mig EAGAIN azt jelenti, hogy most nem sikerult lefoglalni a helyet, de majd probald meg kesobb.
Nem vagyok egoista, csak uborkagyalu!
Devdi
aktív tag
Sziasztok.
Mostanában újra el kezdtem programozni... Nemsoká jön az új félév aztán nem árt feleleveníti a régi dolgokat. Code Blocks-ban programozok és az a baj vele, hogy valamiért mikor azt akarom, hogy az eof-ig kérjen be számokat és írassa ki pl azt, hogy mennyi karaktert írattam be akkor utána mikor nyomok neki egy ctrl+c-t akkor kilép a programból éppen, hogy csak látom, hogy mennyi volt az érték. Azt hiszem, hogy régebben úgy volt, hogy ezt az értéket mindig láttam szóval nem lépett ki azonnal a programból. Ezt hol lehet beállítani a codeblocks-ban vagy inkább valami pause szerűséget használjak? Ha igen akkor azt hogy?
Karma
félisten
Az EOF az nem Control+C, hanem Control+Z
Nyomkodd azt, és valószínűleg jobb lesz.
UNIX-szerű rendszereken meg Ctrl+D van.
[ Szerkesztve ]
“All nothings are not equal.”
Devdi
aktív tag
Hehe Akkor csak jól derengett, hogy valami nem dereng jól Köszi szépen igen így már jó lesz
D.e.x.
csendes tag
Sziasztok!
A prog. előadás oldaláról leszedtem a Turbo C-t, és tartalmaz pár hasznos könyvtárat (első sorban ezért szedtem le).
Viszont a kezelő felület nem valami felhasználóbarát, illetve a fordított fájlok csak DOS-Box alatt futnak...
Van rá mód, hogy a graphics.lib, graphics.h, valamint a hozzájuk tartozó BGI fájlokat beépítsem egy Visual Studio projektbe? (Ha sehogy sem lehet megoldani, akkor az is elég lenne, ha a TC úgy fordítaná, hogy ne csak DOS-ban menjen. Vagy a grap. könyvtár kizárólag dos-ra van?)
Köszi a segítséget!
D
Karma
félisten
Az egész Turbo C úgy ahogy van csak DOS-ra van.
A grafikus könyvtára meg végképp, nem szabványos, hanem Borland-specifikus, amivel nem tudsz mit csinálni.
[ Szerkesztve ]
“All nothings are not equal.”
Korcsii
őstag
Sziasztok!
Nos én is csatlakoznék a C klubhoz
Így az érettségire való jelentkezési határidő előtt nemsokkal úgy döntöttem, hogy pascal helyett C-ben fogok programozni (már ha emeltre megyek, mert még ez se biztos). Előzmények: érettségin turbo pascalt nem lehet már használni, csak free pascalt, amivel viszont még nem sikerült barátságot kötnöm - egyrészt nem tudom működésre bírni itthon, másrészt a suliban csak a tanári gépen írja ki a hibákat, a többi gépen csak a hibák számát, és rejtély hogy mért... éppen ezért a két héttel ezelőtti kis próbaérettségi szerűségen nem is tudtam megcsinálni a programozási feladatot (nem röhög: a program neve ugyan az volt, mint az egyik változó neve... hibaüzenettel én is kiszúrtam volna)... mivel félek, hogy a vizsgahelyszínen (emelt szint miatt más iskolában írjuk) sem lesz minden rendben vele, így jobbnak láttam, hogy nyár helyett már most nekiállok a C-nek. Nem, nem őrültem meg, tudom, hogy ez nem megy egyik napról a másikra, de úgy gondoltam, hogy kb egy év Pascal, és több mint 4 év PHP után össze tudom rakni a két nyelvet (előbbiből a programozási tételek, szemlélet, utóbbiból a kinézet, felépítés jött jól).
Az érettségi szoftverlistában Borland, Turbo, és Dev-C++ van felsorolva.
Ezek közül a legutolsót telepítettem fel két hete, és eddig meg is vagyok vele elégedve ("tanulás" közben írtam vele 10 apró programot, ami a fő funkciók/parancsok próbálgatása volt, azután egy program tele prog. tételekkel, majd egy hosszabb program, majd két korábbi érettségi). Szóval úgy néz ki, hogy ok lesz a dolog, de azért megkérdezem:
Ti melyik programot ajánljátok a fenti 3 közül? Avagy kérdezhetném úgy is, hogy van valami ellenjavallat a Dev-C++ ellen? Van valami, amiben a többi program jobb (választás lenne)?
Előre is kösz
Karma
félisten
A Borland és a Turbo is két antik retek, amit csak azért nyomnak az iskolákban, mert a tanárok lusták művelni magukat. Ahogy az előbb is említettem, csak DOS-ban működő móka mind a kettő.
A Dev-C++ teljesen korrekt választás, bár én annyira nem szeretem azt az IDE-t. Anno Code:locks-ot használtam első félévben, azóta meg XCode-ot.
“All nothings are not equal.”
Korcsii
őstag
Jah, közben láttam, hogy pont előttem írtad csak amikor elkezdtem írni, még nem volt ott...
Kösz, akkor marad a Dev-C++ egyelőre
D.e.x.
csendes tag
Ejj, ettől tartottam... Feltételezem, a VS nem tartalmaz alapból grafika használatára alkalmas fv-eket... (asszem a conio.h-t sem... )
Tudsz ajánlani esetleg valamit a grafikához, vagy térjek át C++-ra (arra találtam .cpp fájlokat, amelyek segíthetnek...)?
Karma
félisten
Ha használhatót és egyszerűt akarsz tanulni, akkor nézegesd az SDL-t. Milliárd platformon fut, tényleg egyszerű, és vannak hozzá sablonok is akár.
Ha C++-ra váltasz, akkor meg Qt.
De az más nyelv, mint a hagyományos C++, viszont vannak jó könyvek róla.
[ Szerkesztve ]
“All nothings are not equal.”
D.e.x.
csendes tag
Köszi a segítséget. Jövőhéten vetek egy nagyobb pillantást az SDL-re.
D
doc
nagyúr
csatlakozom a kollega urhoz
bar az nem derult ki, hogy konkretan milyen grafikara gondoltal. ha "ablakos" programokat akarsz irni, akkor sima C-hez meg a GTK passzol (amit mondjuk szivbol ruhellek, de mas normalis valasztas nem nagyon van)
a Qt meg hatalmas tutisag
lassan meg a kenyerpiritora is portoljak, csillio nyelvbol hasznalhato (akar Java, Python, Perl, Ruby, Haskell, anyamkinja 1.0)
Gyuri16
senior tag
milyen IDE-t ajanlasz/hasznalsz Qt-hoz? (olyan wysiwyg csodara gondolok)
egyelore c-t vimben irok, ami szuper, viszont grafikus cuccot nem igazan tudom elkepzelni vele
(btw ha van itt vim guru, szivesen elbeszelgetnek vele foleg debuggolas erdekel vim alol, illetve olyan -nem tudom a nevet- cucc ami odaugrik egy fuggveny kodjara, illetve vissza, ha egy fuggvenyhivasrol megnyomok egy gombot)
Nem vagyok egoista, csak uborkagyalu!
doc
nagyúr
hehe
1) milyen ajanlok Qt-hoz? Qt creatort, adja magat, az integralt Designer miatt nem is kell "kivulre" menni
2) milyet hasznalok? semmilyet vim-ben kodolok regota (Qt-t is), imadom, egyelore nem talaltam meg olyan szerkesztot ami a nyomaba erhet, pedig probaltam parat (IDE-kbol pl. Dev-C++, Code:locks, KDevelop, Qt Creator stb). a Creatorban van ugyan "fake vim", de csak a legeslegalapvetobb vim-es feature-oket tudja, semmi olyan nincs benne implementalva amitol a vim igazan hasznalhato es zsenialis
3) vim guru nem vagyok, de hasznalom es szeretem regota
debugolni nem szoktam vim alol, bar ha jol tudom siman megoldhato, en altalaban vagy trace-elek, vagy ha muszaj szo szerint debugolni, akkor gdb
a kodban ugralassal meg szerintem a ctags-re gondolsz, ehhez nem kell semmi kulonleges, csak legeneralni a tags file-t (a forrasaid legfelso konyvtaraban ctags -R *), aztan a vim-nek elmagyarazni hogy ha az aktualis konyvtarban nem talal tags file-t, akkor menjen feljebb: set tags=tags;
(a vegere a ; kell!)
SZERK: 'ugrani' ugy tudsz, hogy az osztaly(vagy barm imas)nevre allva CTRL+] -t nyomsz, visszalepni meg CTRL-t
[ Szerkesztve ]
Gyuri16
senior tag
orulok, hogy mas is hasznal vimet
igen ctags-ra gondolok, kicsit jatszottam vele (foleg azert, mert autocompletionhoz is kell), mas tapasztalata alapjan konnyebb beallitani ezeket a dolgokat. sajnos a dokumentacio egyes pluginokhoz eleg keves.
debuggolasra probaltam yavdb-t, de nem sikerult beizzitani (leiras alapjan nem tudtam megcsinalni)
gdb nekem mar tul fapados
ugralos dolgot mindjart kiprobalom
Nem vagyok egoista, csak uborkagyalu!
Dealer
tag
Hali! Tudnátok linkelni nekem valami értelmes tutorialt hogy hogyan lehet profin debuggolni c+ progit Visual Studio 2008 vagy 2006-ban? Eddig a sima Borland TC-hez voltam hozzászokva ott teljesen egyértelmü volt hogy mit is csinálok de ezen a VS-en nemtudok kiigazodni ...
köszi!
Tussky
tag
Sziasztok!
A feladat az lenne,hogy egy filet soronként beolvassak és a megfelelő sorokból kinyerjem az adatokat.Addig eljutottam,hogy csak a megfelelő sorokat kinyerem,itt kéne az adott helyen lévő adatokat kimásolnom egy másik fájlba,azonban egy olyan problémval találkozok,amivel nem nagyon tudok mit kezdeni.
Konkrétan a program:
#include <fstream>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main(){
string line, filename = "valami.txt";
ifstream file;
file.open(filename.c_str());
while (file.is_open() && file.eof()==false){
getline(file,line);
if( (line.compare(0,4,"HAMB")==0) && (line.compare(12,14,"TO")==0) ){
cout << line << endl;
}
}
file.close();
return 0;
}
Valakinek van ötlete,hogy az if miért nem jó ? Fordításnál nincs gond,de amint futtatom terminated.Igazából,ha az if-es sor jó lenne,akkor tovább tudnék lépni,de nem jövök rá,hogy miért nem megy.A probléma az,hogyha két külön if-re bontom se boldogul a sorral.
Előre is kösz a válaszokat!
[ Szerkesztve ]
Téma tudnivalók
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!