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:] 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
- [Re:] [Lalikiraly:] Gigabyte G5 MF notebook bemutató
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [Mr Dini:] Ha szeretnéd rootolni az LG Smart TV-d, tedd meg most!
- [Re:] Helyettesíthetik-e gépek az emberi fordítókat?
- [Re:] eBay-es kütyük kis pénzért
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
pszaby
csendes tag
Igen az eleje az megvan!
Ezt viszont megpróbálom, köszi szépen!
pszaby
Jester01
veterán
Azért azt zárójelben tegyük hozzá, hogy ez nem minden címlet-kombinációval működik, de jelen esetben valóban jó lesz.
Jester
Votyesz13
tag
Köszi sikerült megcsinálni.
Egy olyan kérdésem lenne hogy string hez és a void hoz hozzáértő embert keresekNemigazán értem a c nyelvben a velük történő műveleteket.Előre is köszi.
üdv bolvar
Jester01
veterán
A void az igazán egyszerű mert azzal semmilyen műveletet nem lehet végezni
Jester
Votyesz13
tag
Akkor mire szolgál a void?
Jester01
veterán
Függvényeknél használhatod annak jelzésére, hogy nem fogad paramétert illetve nem ad vissza értéket. Ezenkívül típusnélküli pointereket deklarálhatsz vele.
Jester
Zollee
tag
String-hez sajnos én is hal vagyok.
Nekem is van 2 string-es feladatom, az egyik a korábban már emlitett ASCII kód alapján történő karakter számlálás. (kis betűk, nagy betűk, számok). Az elv megvan ami alapján csináljam, de azt nem tudom hogy értessem meg vele, hogy ASCII kódként nézzen az általam megadott számra. (pl 97 az ugye a kis "a"). Szóval ilyen problémáim nekem is vannak, küzdök vele most is, mert függvényt nem használhatok hozzá, fapadosan kell megoldanom.
[ Szerkesztve ]
A legügyesebb állat az ürge, hiszen búzával teli pofazacskóval is képes repülni, miközben egy baglyot egyensúlyoz a hátán.
Jester01
veterán
Mi is a probléma? Pl. kisbetű ellenőrzés: if (c >= 'a' && c <= 'z') ...
Persze ha magyar ékezetes betűk is vannak akkor már ez nem jó de alap feladatokban nem szokott követelmény lenni.
Jester
Zollee
tag
Ááá, megint elirás volt.. Megvan, igen úgy csináltam ahogy Te is irtad. Fogok még szivni ezekkel az elirásokkal azt hiszem..
A legügyesebb állat az ürge, hiszen búzával teli pofazacskóval is képes repülni, miközben egy baglyot egyensúlyoz a hátán.
rroolleerr
csendes tag
Hali,
fat16/32 -ről tudna valaki leírást/linket vagy egyebet adni. Diplomamunkám egyik szoftveres részéhez kellene.
Karma
félisten
A wikipédia elég jónak tűnik ebben a témában.
“All nothings are not equal.”
rroolleerr
csendes tag
Köszönöm!
VaZso
senior tag
Sziasztok!
Egy rövid kérdéssel szeretnék zavarni...
if-nél, ha pl. több feltétel és kapcsolatát adom meg és az első feltételnél elbukik a dolog, akkor ugye nem nézi meg a második feltételt is?
Erre gondolok pl.:
if ((c==*pattern) && (strDif(str, pattern, patlen)==-1)) ...
Fölösleges az strDif függvényt meghívnom, ha a másik feltétel úgysem teljesült...
Jól gondolom, hogy ez esetben nem hívja meg?
[ Szerkesztve ]
Karma
félisten
Jól. Egyébként szakszóval ezt "short circuit evaluation"-nek hívják.
“All nothings are not equal.”
shev7
veterán
es vagy-ra is igaz.
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
VaZso
senior tag
Köszönöm a választ.
Tehát ha jól értem, balról jobbra haladva értékeli ki a feltételek igazságtartalmát és ha valahol egyértelműsödik a helyzet, dönt a végrehajtásról...
Ezesetben érdekes lehet még, hogy ha vagy kapcsolat van közöttük és az első feltétel teljesül, akkor pl. a második feltételben lévő x++ nem lépteti el a pointert...
...mondjuk ez alapján pedig már rég letesztelhettem volna hülyeségek kérdezése helyett...
Karma
félisten
Ilyesmi. Ha VAGY-nál amint igazat talál, abbahagyja a kiértékelést, ÉS-nél meg amint hamisat. Elvileg ha a & és a | operátorokat használod, akkor nincsen ilyen egyszerűsítés.
A gondolatkísérleted pontosan így zajlik le, ha a második tagban mellékhatással járó utasítás van, akkor az nem fog lefutni. Többek között ezért se illik feltételbe mellékhatást tenni
“All nothings are not equal.”
VaZso
senior tag
Értem, köszönöm a választ.
Nunder
őstag
Üdv!
Olyan gondom van, hogy OpenGL-ben programozok, és mikor fordítom a valami.c filet akkor warn és hiba nélkül lefordul. Mikor futtatni próbálom csak ennyi jelenik meg: Szegmens hiba. Mi lehet a baj? Ötleteket várok, ha a progi kell elküldöm.
“It's the job that's never started as takes longest to finish.” // blackbird3dworks.hu
Karma
félisten
Sokat nem árultál el Milyen OS, környezet? Mivel és hogyan fordítasz? Az kicsit fontosabb, mint maga a program, bár akár abban is lehet hiba.
[ Szerkesztve ]
“All nothings are not equal.”
Nunder
őstag
Windows Vista alól Virtual Boxon keresztül futtatok egy rendszeresen frissített Ubuntu 9.04-est. A file-okat egy direkt erre a fajta megjelenítésre specializált Makefile-al fordítom, azzal nem lehet a gond. Az a baj, hogy eddig gond nélkül futott még a warn-okkal együtt is, most elvileg hibátlan, és mégis dobálja a szegmens hibát.
“It's the job that's never started as takes longest to finish.” // blackbird3dworks.hu
Gyuri16
senior tag
szegmens hiba altalaban hibas pointereket jelent (tomb nem letezo elemere hivatkozol, nincs lezarva egy string null-lal, felszabaditasz egy nem lefoglalt teruletet - malloc...) probald leptetni, hogy meddig jut el
Nem vagyok egoista, csak uborkagyalu!
Nunder
őstag
Hogy is? Mivel a Makefile-ban csak a fordítani kívánt OpenGL program nevét kell változtatni, valamit ezután a make, majd a ./valami következik. Erre gondolom nem vonatkozik a szokásos fordítási procedúra.
“It's the job that's never started as takes longest to finish.” // blackbird3dworks.hu
Gyuri16
senior tag
strace ./valami
mod: ha veletlenul nem lenne meg, akkor klasszikus apt-get install strace
[ Szerkesztve ]
Nem vagyok egoista, csak uborkagyalu!
Karma
félisten
Na ezért jó egy jó IDE
Parancssorban esetleg egy kis gdb-zéssel ki lehetne deríteni. De van egy favágóbb módszer: írj a konzolra
Egyébként akkor is szokott segfault jönni (OpenInkpotos tapasztalat), hogyha grafikus programot akarnál futtatni, és nincs jól megadva a DISPLAY környezeti változó, így nem tud az X-hez csatlakozni.
Gyuri16: Pont kiszerkesztettem a hozzászólásomból a strace-et
[ Szerkesztve ]
“All nothings are not equal.”
Badb0y
addikt
Valaki rendbe tudná nekem ezt a programot hozni? Mármint, hogy fusson ?
Iszonyat hálás lennék. Ha esetleg hülyeség vagy fölösleg van benne, akkor az kerüljön eltávolításra
Ma le kell adnom uh. pls help
Köszönöm segítségetek előre is.
/*
C++ nyelven szeretnénk modellt készíteni a következő leírás alapján. Egy óvodás hátizsákjába sok (max. 100) játék fér. Minden játéknak van népszerűségi indexe (egész szám, hány óvodás irigykedik a játék tulajdonosára), és minden játékot meg lehet nyomni (push()), amire minden játék máshogy reagál. Játékból több fajta is van, és a játékfajták száma később csak nőni fog. Játékok jelenleg az alábbiak:
• Macintosh-MACi (index: 15, verziószám: egész). Ha megnyomják, és a verziószám legalább 10, akkor kiírja, hogy „Én is unix vagyok”.
• Linux-pingvin (kezdő index: 500, kernel_verzió: sztring), ha megnyomják, kiírja a kernel verziószámát, és ha az index kisebb, mint 97, akkor 4-gyel megnöveli. Ha megsemmisül, kiírja, hogy „UNIX4EVER”.
• Microsoft-majom (kezdő index: 53, vagyon: long double). ha megnyomják, kiírja, hogy „I! LOVE! THIS! COMPANY!!!”.
A rendszerben a következő funkciókat kell megvalósítani:
• hátizsák átlagos népszerűségi indexének lekérése (getAvgPopularity())
• hátizsákba új játék behelyezése (addToy())
• játék népszerűségének lekérdezése (getPopularity())
• minden játékhoz a megnyomás (push())
• pingvin destruktora.
Feladatok:
• Tervezzen meg egy olyan OO modellt, mely a fenti követelményeket kielégíti! Rajzolja fel a modell osztálydiagramját! (0,5p)
• Deklarálja a Hátizsák, Játék, Maci, Pingvin osztályokat és az elvárt funkciók ellátásához szükséges tagfüggvényeket! Használja a dőlt betűs neveket! (2)
• Implementálja a fenti osztályokat és azok tagfüggvényeit! Az osztályokat olyan módon készítse el, hogy újabb játék-típus felvételekor a már meglevő kódot ne kelljen módosítani! (1,5 pont)
• Írjon egy egyszerű programrészletet, ami készít egy hátizsákot, és elhelyez benne egy pingvint (kernel verzió: 2.6.11) és egy majmot (vagyona $3.5e274). Írassa ki a hátizsák átlagos népszerűségét, majd nyomja meg a pingvint, és így is írja ki a hátizsák népszerűségét! (1 pont)
*/
#include <stdio.h>
#include <iostream.h>
#include <string.h>
class Jatek {
protected:
int index;
public:
Jatek(int i) : index(i) {}
int getPopularity() {
return index;
}
virtual void push() = 0;
virtual ~Jatek() {}
};
class Maci : public Jatek {
int verzio;
public:
Maci(int v) : Jatek(14), verzio(v) {}
void push() {
if (verzio >= 10)
cout << "En is unix vagyok!"
<< endl;
}
};
class Pingvin : public Jatek {
string ker_ver;
public:
Pingvin(string k) : Jatek(43),
ker_ver(k) {}
void push() {
cout << ker_ver << endl;
if (index < 97) index += 4;
}
~Pingvin() {
cout << "UNIX4EVER" << endl;
}
};
class Hatizsak {
Jatek* tar[100];
int n;
public:
Hatizsak() : n(0) {}
~Hatizsak() {
for (int i = 0; i < n; i++) {
delete tar[i];// ha adoptal
}
}
void addToy(Jatek* j) {
if (n < 100) {
tar[n] = j;
n++;
} else {
delete j; // ha adoptal
}
}
int getAvgPopularity() {
int sum = 0;
for (int i = 0; i < n; i++) {
sum +=
tar[i]->getPopularity();
}
return sum/n;
}
};
// a feladat szerint nem kell
class Majom : public Jatek {
long double vagyon;
public:
Majom(long double ld) :
Jatek(43), vagyon(ld) {}
void push() {
cout << "I! LOVE! THIS!\
COMPANY!!!"
<< endl;
}
};
int main() {
Hatizsak h;
Pingvin* p = new Pingvin("2.6.11");
Majom* m = new Majom(3.5e274);
h.addToy(p);
h.addToy(m);
cout << h.getAvgPopularity() << endl;
p->push();
cout << h.getAvgPopularity() << endl;
return 0;
}
Ill. még ebben is van valami hiba, mert nem azt írja ki, amit akarok. Valamiért mindig 99-110-ig ír ki, nem azt amit beadok.
/*
Egy meteorológiai állomáson különféle adatokat mérnek (szél, hőmérséklet, csapadék, stb.). A mért adatokat egy OO programmal szeretnénk nyilvántartani, mégpedig úgy, hogy azokat az észlelés sorrendjében egy tárolóba tesszük (add). Az adatok eltérő formátumúak. A szélnek pl. iránya és nagysága is van, míg a hőmérséklet csak egy mennyiség, de a sorrend megtartása miatt közös tárolóban kell azokat tárolnunk. A tároló maximum 1000 adatot tud tárolni, és képes kilistázni (list) a benne levő adatokat a hozzájuk tartozó értékekkel együtt. (pl. szél: É-Ny, 10km/h; hőmérséklet: 12 C).
• Tervezzen OO modellt, mely tartalmaz Wind, Temperature, valamint Store objektumot, és könnyen bővíthető esetleges újabb adatokkal (pl. csapadék). Rajzolja fel a modell osztálydiagramját! Használja a megadott dőltbetűs neveket!
• Implementálja az osztályokat! Ne legyen egy függvénytörzsben sem feleslegest kód! Olyan módon készítse el az osztályokat, hogy bővítéskor ne kelljen a kódot módosítani! A tárolónak legyen olyan művelete is, mellyel az összes adat kitörölhető (clear)!
• Írjon egy egyszerű programrészletet, ami megmutatja 2 különböző típusú meteorológiai adat bevitelét egy tárolóba, majd kiírja a tárolóban tárolt adatokat és a hozzájuk tartozó értékeket!
*/
#include <iostream.h>
//osztalyok
class homerseklet
{
public:
int hom;
char dimenzio[10];
};
class szel
{
public:
int erosseg;
char irany[10];
};
//osztalyok vege
//globalis adatok
struct Adat
{
homerseklet h;
//csapadek cs;
szel sz;
};
Adat adattomb[1000];
//golbalis adatok vege
//globális eljárások függvények
void kiir(int n)
{
for(int i=0;i<n;i++)
{
cout<<adattomb[i].h.hom<<" "<<adattomb[i].h.dimenzio[10]<<" "<<adattomb[i].sz.erosseg<<" "<<adattomb[i].sz.irany[10]<<endl;
}
}
void beolvas(int h,char dim[10],int ero, char irany[10],int i)
{
adattomb[i].h.hom=h;
adattomb[i].h.dimenzio[10]=dim[10];
adattomb[i].sz.erosseg=ero;
adattomb[i].sz.irany[10]=irany[10];
}
//ováááá
void main()
{
int i=0;
int muv;
cout<<"1 add , 2 list"<<endl;
cout<<"elemszam:"<<i<<endl;
int eleg=0;
while (eleg!=1)
{
cin>>muv;
switch (muv)
{
case 1: {
cout<<"Adja meg a homersekletet"<<endl;
int hom;
cin>>hom;
cout<<"Adja meg a homersekletet dimenziojat"<<endl;
char dim[10];
cin>>dim[10];
cout<<"Adja meg a szeleroseget"<<endl;
int ero;
cin>>ero;
cout<<"Adja meg a szeleroseg iranyat"<<endl;
char irany[10];
cin>>irany[10];
beolvas(hom,dim,ero,irany,i);
i++;
cout<<"1 add, 2 list"<<endl;
cout<<"elemszam:"<<i<<endl;
}; break;
case 2:{ kiir(i); eleg=1;} break;
}
}
}
[ Szerkesztve ]
Minőségi laptopok https://notebookokhu.business.site/
Trub
tag
Nálam így már lefut:
/*
C++ nyelven szeretnénk modellt készíteni a következő leírás alapján. Egy óvodás hátizsákjába sok (max. 100) játék fér. Minden játéknak van népszerűségi indexe (egész szám, hány óvodás irigykedik a játék tulajdonosára), és minden játékot meg lehet nyomni (push()), amire minden játék máshogy reagál. Játékból több fajta is van, és a játékfajták száma később csak nőni fog. Játékok jelenleg az alábbiak:
• Macintosh-MACi (index: 15, verziószám: egész). Ha megnyomják, és a verziószám legalább 10, akkor kiírja, hogy „Én is unix vagyok”.
• Linux-pingvin (kezdő index: 500, kernel_verzió: sztring), ha megnyomják, kiírja a kernel verziószámát, és ha az index kisebb, mint 97, akkor 4-gyel megnöveli. Ha megsemmisül, kiírja, hogy „UNIX4EVER”.
• Microsoft-majom (kezdő index: 53, vagyon: long double). ha megnyomják, kiírja, hogy „I! LOVE! THIS! COMPANY!!!”.
A rendszerben a következő funkciókat kell megvalósítani:
• hátizsák átlagos népszerűségi indexének lekérése (getAvgPopularity())
• hátizsákba új játék behelyezése (addToy())
• játék népszerűségének lekérdezése (getPopularity())
• minden játékhoz a megnyomás (push())
• pingvin destruktora.
Feladatok:
• Tervezzen meg egy olyan OO modellt, mely a fenti követelményeket kielégíti! Rajzolja fel a modell osztálydiagramját! (0,5p)
• Deklarálja a Hátizsák, Játék, Maci, Pingvin osztályokat és az elvárt funkciók ellátásához szükséges tagfüggvényeket! Használja a dőlt betűs neveket! (2)
• Implementálja a fenti osztályokat és azok tagfüggvényeit! Az osztályokat olyan módon készítse el, hogy újabb játék-típus felvételekor a már meglevő kódot ne kelljen módosítani! (1,5 pont)
• Írjon egy egyszerű programrészletet, ami készít egy hátizsákot, és elhelyez benne egy pingvint (kernel verzió: 2.6.11) és egy majmot (vagyona $3.5e274). Írassa ki a hátizsák átlagos népszerűségét, majd nyomja meg a pingvint, és így is írja ki a hátizsák népszerűségét! (1 pont)
*/
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
class Jatek {
protected:
int index;
public:
Jatek(int i) : index(i) {}
int getPopularity() {
return index;
}
virtual void push() = 0;
virtual ~Jatek() {}
};
class Maci : public Jatek {
int verzio;
public:
Maci(int v) : Jatek(14), verzio(v) {}
void push() {
if (verzio >= 10)
cout << "En is unix vagyok!"
<< endl;
}
};
class Pingvin : public Jatek {
string ker_ver;
public:
Pingvin(string k) : Jatek(43),
ker_ver(k) {}
void push() {
cout << ker_ver << endl;
if (index < 97) index += 4;
}
~Pingvin() {
cout << "UNIX4EVER" << endl;
}
};
class Hatizsak {
Jatek* tar[100];
int n;
public:
Hatizsak() : n(0) {}
~Hatizsak() {
for (int i = 0; i < n; i++) {
delete tar[i];// ha adoptal
}
}
void addToy(Jatek* j) {
if (n < 100) {
tar[n] = j;
n++;
} else {
delete j; // ha adoptal
}
}
int getAvgPopularity() {
int sum = 0;
for (int i = 0; i < n; i++) {
sum +=
tar[i]->getPopularity();
}
return sum/n;
}
};
// a feladat szerint nem kell
class Majom : public Jatek {
long double vagyon;
public:
Majom(long double ld) :
Jatek(43), vagyon(ld) {}
void push() {
cout << "I! LOVE! THIS! COMPANY!!!"
<< endl;
}
};
int main() {
Hatizsak h;
Pingvin* p = new Pingvin("2.6.11");
Majom* m = new Majom(3.5e274);
h.addToy(p);
h.addToy(m);
cout << h.getAvgPopularity() << endl;
p->push();
cout << h.getAvgPopularity() << endl;
return 0;
}
Badb0y
addikt
Mibe? Az include-ok végéről hiányzik a .h, vagy az direkt ?
Én a suliban használt sima borlandc-ben próbálom futtatni, a BCW.exe alatt, de hibákat dob
Minőségi laptopok https://notebookokhu.business.site/
Trub
tag
#include <iostream>
#include <string>
using namespace std;
Nálam csak ez a 3 sor változott. Nemtudom miért raktam be az egészet sry
Én visual studio 2008-ban fordítom.
cellpeti
veterán
Szevasztok!
Nekem lenne egy futóversenyes feladatom(A futóversenyes feladat)
Az lenne a feladat,hogy be kell kérni:
- előnevezettek számát
- helyszínen nevezettek számát
- női nevezők számát(nevezők teljes létszámának függvényében)
-versenyt teljesítő nők számát(női nevezők)
- versenyt teljesítő férfiak számát(férfi nevezők)
A számokat tömbbe kell letárolni.
Minimum feladat:
- nevezettek teljes létszáma
- célbaértek teljes létszáma
Úgy gondoltam,hogy do-while kellene.
do
{ok=0;
printf("Kérem az előnevezettek számát: \n");
if(!getline(elonev,25))
{
printf("Üres sort adtal meg!\n");
Ha jól adta meg az adatot,akkor hogy megyek tovább?
Tigris, tigris, csóvafény...
Karma
félisten
Mondjuk csinálhatod úgy, ha már do-while-t akarsz használni, hogy az ok változódat használod fel. A többi részhez nem nyúlok:
do
{
int ok = 0;
printf("Kérem az előnevezettek számát: \n");
if(!getline(elonev,25))
{
printf("Üres sort adtal meg!\n");
}
else
{
ok = 1;
}
while (!ok);
Magyarán addig teszi fel a kérdést, amíg nem kap egy nem-üres sort. Nem ártana azért 1-be állítás előtt ellenőrizni, hogy számot kapott-e (fontosabb mint az üres sor, nomeg összefügg ).
UI: Mit akarnak ezek tömbbe?! Nincs ebben semmilyen tömbben tárolható adat
“All nothings are not equal.”
cellpeti
veterán
Karma
félisten
Az stdio.h-t include-oltad?
“All nothings are not equal.”
cellpeti
veterán
igen!
Így néz ki a progi:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int getline(char s[],int lim){
int i,c;
for (i=0;i<lim && (c=getchar())!=EOF && c!='\n';++i)
s[i]=c;
s[i]='\0';
while (c!=EOF && c!='\n')
c=getchar();
return (i);
}
int lebege(char s[]){
int i=0, kezd;
while(isspace(s[i])) ++i;
if(s[i]=='+'||s[i]=='-') ++i;
kezd=i;
while(isdigit(s[i])) ++i;
if(s[i]=='.') ++i;
while(isdigit(s[i])) ++i;
if(i==kezd||kezd+1==i&&s[kezd]=='.') return 0;
if(toupper(s[i])=='E'){
++i;
if(s[i]=='+'||s[i]=='-')++i;
if(!isdigit(s[i])) return 0;
while(isdigit(s[i])) ++i;}
if(isspace(s[i])||!s[i]) return 1;
else return 0;
}
void main (void)
{
float r,T,K;
float pi=3.14;
char s[24];
int ok=1;
do
{
ok=1;
printf("Adja meg a kor sugarat!\n\n");
if(!getline (s,25))
{
printf("Üres sort adtal meg!\n\n");
ok=0;
}
else
{
if(!lebege(s))
{
printf("Nem lebegopontos a megadott szam!\n");
ok=0;
}
else
r=atof(s);
}
}while(ok==0);
K=2*r*pi;
T=r*r*pi;
printf("\nA kor kerulete: %.2f\n\nA kor terulete: %.2f\n\n",K,T);
getch();
}
[ Szerkesztve ]
Tigris, tigris, csóvafény...
Karma
félisten
És mi a pontos hibaüzenet?
“All nothings are not equal.”
cellpeti
veterán
Tigris, tigris, csóvafény...
doc
nagyúr
es miert nem olvasod el a hibauzenetet?
vilagosan leirja hogy van mar getline fuggveny
ha sajatot akarsz, valassz neki mas nevet, akkor nem fog osszeakadni
cellpeti
veterán
mert az angol tudásom erőssen hiányos?!
Tigris, tigris, csóvafény...
cellpeti
veterán
mi az ,hogy van már getline függvény?
nem választhatok mást neki,mert így kell használni a suliba.
Tudsz ebben segíteni nekem?
Tigris, tigris, csóvafény...
Jester01
veterán
Mert minden bizonnyal valami nem szabványos header definiálja neked. Egyébiránt nálam (gcc 4.3.2) működik a progi ha kidobom belőle a szintén nem szabványos getch hívást a végéről.
Jester
cellpeti
veterán
Tudna nekem végre valaki valami okosat mondani és segítő dolgot,hogy miért nem futnak Ubuntu alatt a C programjaim???
Tigris, tigris, csóvafény...
Gyuri16
senior tag
meg tudod mondani, hogy az autom miert nem mukodik? (ne faradj, nincs autom, de ha lenne segitenel ennyi infobol?)
visszaolvastam 3 oldalt, nem talaltam meg a kerdesed, szoval ha gondolod tedd fel ujra
Nem vagyok egoista, csak uborkagyalu!
Karma
félisten
Az a szitu, hogy a getline, mint olyan, egy nem szabványos függvény. Míg Windowson a környezetedben nem volt benne (mert minek?), az Ubuntuban lévő glib-ben benne van, és ez összeütközik a forráskódodban lévővel. Ezt nem tudod megkerülni, csak ha más nevet adsz neki
Nincs ebben semmi varázslat, csak hackelő tanárok. Ja és tanulj meg angolul. Komolyan.
[ Szerkesztve ]
“All nothings are not equal.”
cellpeti
veterán
Értem!
Persze,ha az csak úgy menne,hogy megtanulok. Suliba nem oktatják. 14 évig tanultam németül,nem tok belőle semmit!
Tigris, tigris, csóvafény...
Zollee
tag
Újra itt, újabb kérdéssel.
Fájlkezelnék. Az fscanf és az fprintf működését értem, használni is tudom. (vagyis műxik a program vele
Viszont a scanf függvénytől óva intenek az oktatóim (és korábban ebben a PH témában is mások) és azt javasolják használjam inkább az getc és getchar-t. Most épp a getchar kell, viszont fájlkezeléshez. Rágoogliztam, de mindenféle érdekességet hoz ki nekem és nem tudom kiszűrni hogy is kéne használjam.
Az fscanf szintaxisa 2 karakter beolvasására: fscanf(bemeneti fájl neve, "%c %c", &a, &b)
A getchar-ra létezik fájlkezeléshez az fgetchar függvény, viszont azt nem értem hogy ő honnan tudja majd melyik a bemeneti fájlom, mert találtam minden féle programot, amiben a google megtalálta, de ahány találat, annyiféleképp van használva. Ezért megköszönném, ha valaki ismerné a sima, egyszerű, hétköznapi használatát, és le tudná irni nekem.
A legügyesebb állat az ürge, hiszen búzával teli pofazacskóval is képes repülni, miközben egy baglyot egyensúlyoz a hátán.
Jester01
veterán
Az fscanf szintaxisa 2 karakter beolvasására: fscanf(bemeneti fájl neve, "%c %c", &a, &b)
Nem a fájl neve kell oda, hanem a megnyitott fájl pointer. Karakter olvasáshoz az fgetc függvényt kell használni ami szintén a fájl pointert kapja és visszaadja a soron következő karaktert. A getchar() ekvivalens egy fgetc(stdin) hívással, vagyis az a standard inputról olvas ezért nem kell neki fájl.
Példa:
#include <stdio.h>
int main(int argc, char* argv[])
{
FILE* f = fopen(argv[1], "rb");
int ch;
while((ch = fgetc(f)) != EOF) putchar(ch);
fclose(f);
return 0;
}
Jester
cellpeti
veterán
Sziasztok!
Írnom kell egy sima átlag függvényt. Az lenne a kérdésem,hogy egy változó kell a számoknak egy pedig az elemek számának?
Tigris, tigris, csóvafény...
Karma
félisten
Két változó kell hozzá
“All nothings are not equal.”
Gyuri16
senior tag
olyat programot szeretnek (linux alatt) irni, ami figyeli a billentyuzeten lenyomott gombokat (nem csak a karaktereket, hanem ctrl, shift, alt, home, del, illetve ezek kombinacioit - tehat ha egyszerre tobb van lenyomva). eleg kezdo vagyok c-ben, segitseget szeretnek kerni. google azt tanacsolta, hogy probaljam meg a /dev/input/event*-t olvasni, arra viszont meg nem jottem ra, hogy ezeket az adatokat hogyan kell ertelmezni, ill hogy hogyan tudom meg, hogy milyen szamu event-et kell figyelnem. esetleg van-e erre valami standard fuggveny?
Nem vagyok egoista, csak uborkagyalu!
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!