Hirdetés

2024. május 1., szerda

Gyorskeresés

Hozzászólások

(#1301) pszaby válasza Jester01 (#1299) üzenetére


pszaby
csendes tag

Igen az eleje az megvan!
Ezt viszont megpróbálom, köszi szépen!

pszaby

(#1302) Jester01 válasza Zollee (#1300) üzenetére


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

(#1303) Votyesz13 válasza Zollee (#1300) üzenetére


Votyesz13
tag

Köszi sikerült megcsinálni.

Egy olyan kérdésem lenne hogy string hez és a void hoz hozzáértő embert keresek:)Nemigazán értem a c nyelvben a velük történő műveleteket.Előre is köszi.

üdv bolvar

(#1304) Jester01 válasza Votyesz13 (#1303) üzenetére


Jester01
veterán

A void az igazán egyszerű mert azzal semmilyen műveletet nem lehet végezni :N

Jester

(#1305) Votyesz13 válasza Jester01 (#1304) üzenetére


Votyesz13
tag

Akkor mire szolgál a void?:)

(#1306) Jester01 válasza Votyesz13 (#1305) üzenetére


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

(#1307) Zollee válasza Votyesz13 (#1303) üzenetére


Zollee
tag

String-hez sajnos én is hal vagyok. :F
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.

(#1308) Jester01 válasza Zollee (#1307) üzenetére


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

(#1309) Zollee válasza Jester01 (#1308) üzenetére


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.. :DDD

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.

(#1310) rroolleerr


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.

(#1311) Karma válasza rroolleerr (#1310) üzenetére


Karma
félisten

A wikipédia elég jónak tűnik ebben a témában.

“All nothings are not equal.”

(#1312) rroolleerr válasza Karma (#1311) üzenetére


rroolleerr
csendes tag

Köszönöm!

(#1313) VaZso


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 ]

(#1314) Karma válasza VaZso (#1313) üzenetére


Karma
félisten

Jól. Egyébként szakszóval ezt "short circuit evaluation"-nek hívják.

“All nothings are not equal.”

(#1315) shev7 válasza VaZso (#1313) üzenetére


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!''

(#1316) VaZso válasza Karma (#1314) üzenetére


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...

(#1317) Karma válasza VaZso (#1316) üzenetére


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.”

(#1318) VaZso válasza Karma (#1317) üzenetére


VaZso
senior tag

Értem, köszönöm a választ. :)

(#1319) Nunder


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

(#1320) Karma válasza Nunder (#1319) üzenetére


Karma
félisten

Sokat nem árultál el :U 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.”

(#1321) Nunder válasza Karma (#1320) üzenetére


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

(#1322) Gyuri16 válasza Nunder (#1319) üzenetére


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!

(#1323) Nunder válasza Gyuri16 (#1322) üzenetére


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

(#1324) Gyuri16 válasza Nunder (#1323) üzenetére


Gyuri16
senior tag

strace ./valami

mod: ha veletlenul nem lenne meg, akkor klasszikus apt-get install strace

[ Szerkesztve ]

Nem vagyok egoista, csak uborkagyalu!

(#1325) Karma válasza Nunder (#1323) üzenetére


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 :DDD

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 :DDD

[ Szerkesztve ]

“All nothings are not equal.”

(#1326) Badb0y


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 :R

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/

(#1327) Trub válasza Badb0y (#1326) üzenetére


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;
}

(#1328) Badb0y válasza Trub (#1327) üzenetére


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/

(#1329) Trub válasza Badb0y (#1328) üzenetére


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 :F sry

Én visual studio 2008-ban fordítom.

(#1330) cellpeti


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...

(#1331) Karma válasza cellpeti (#1330) üzenetére


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?! :Y Nincs ebben semmilyen tömbben tárolható adat :F

“All nothings are not equal.”

(#1332) cellpeti


cellpeti
veterán

Üdv!

Itt leírtakkal lenne gondom Linux rendszer alatt!

Tigris, tigris, csóvafény...

(#1333) Karma válasza cellpeti (#1332) üzenetére


Karma
félisten

Az stdio.h-t include-oltad?

“All nothings are not equal.”

(#1334) cellpeti válasza Karma (#1333) üzenetére


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...

(#1335) Karma válasza cellpeti (#1334) üzenetére


Karma
félisten

És mi a pontos hibaüzenet? :)

“All nothings are not equal.”

(#1336) cellpeti válasza Karma (#1335) üzenetére


cellpeti
veterán

Ez!

Tigris, tigris, csóvafény...

(#1337) doc válasza cellpeti (#1336) üzenetére


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

(#1338) cellpeti válasza doc (#1337) üzenetére


cellpeti
veterán

mert az angol tudásom erőssen hiányos?! :W

Tigris, tigris, csóvafény...

(#1339) cellpeti válasza doc (#1337) üzenetére


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? :U

Tigris, tigris, csóvafény...

(#1340) Jester01 válasza cellpeti (#1339) üzenetére


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

(#1341) cellpeti


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??? :U

Tigris, tigris, csóvafény...

(#1342) Gyuri16 válasza cellpeti (#1341) üzenetére


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!

(#1343) Karma válasza cellpeti (#1341) üzenetére


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 :U

Nincs ebben semmi varázslat, csak hackelő tanárok. Ja és tanulj meg angolul. Komolyan.

[ Szerkesztve ]

“All nothings are not equal.”

(#1344) cellpeti válasza Karma (#1343) üzenetére


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...

(#1345) Zollee


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.

(#1346) Jester01 válasza Zollee (#1345) üzenetére


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

(#1347) cellpeti


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...

(#1348) Karma válasza cellpeti (#1347) üzenetére


Karma
félisten

Két változó kell hozzá :K

“All nothings are not equal.”

(#1349) Gyuri16


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!

(#1350) Zollee válasza Jester01 (#1346) üzenetére


Zollee
tag

Ohh, köszi az útbaigazitást. :))

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.

Copyright © 2000-2024 PROHARDVER Informatikai Kft.