- Kormányok / autós szimulátorok topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nem indul és mi a baja a gépemnek topik
- Továbbfejlődött a Keychron egéralternatívája a Logitech MX Masterre
- Feketehalálra váltja a kékhalált a Microsoft
- TCL LCD és LED TV-k
- Hobby elektronika
- Micro Four Thirds
- RAM topik
- Gaming notebook topik
Aktív témák
-
doc
nagyúr
válasz
WonderCSabo #250 üzenetére
a kerdes inkabb az, miert kellett 4 ev utan felhozni
en meg elfelejtettem multkor lezarni, ez most potolva, a linkelt topicban keretik folytatni -
cooldongo
tag
ebbe kérnék segítséget ha valaki megírná nagyon hálás lennék érte
nagyon kezdő vok még ebbea) van egy fv amely paraméterként kap egy stringet és egy betűt majd megkeresi és visszaadja az első ilyen betűjének az indexét ha nincs benne ilyen betű akkor -1-et,
b) van egy main fv amelyben beolvas egy szöveget és az a) függvény segítségével megkeresi benne az első 'e' betűt és kiírja a szöveget valamint az 'e' betű első előfordulásának indexétegyszerű de valahogy nem jó:S
-
doc
nagyúr
eloszor is nincs "ubuntus" c, az Ubuntuban is, mint minden mas Linux disztribben gcc van, ami gyakorlatilag "A" C-fordito, az kb. pontosan ugy mukodik ahogy a C-nek kell
ami "mas" az pont a visual studio, csurig van semmivel nem szabvanyos hazibarkacs megoldasokkal, en rengeteget szoptam mar miatta...
a feladattal kapcsolatban: mi a problemad? meddig jutsz el, mi nem mukodik?
-
D@ni88
addikt
Hello, remélem tudtok segíteni, akárhogy próbálkoztam megcinálni a beadandómat sehogy sem sikerült...
Nem tudnátok segíteni? holnap kéne leadnom, de ez az ubuntus C kicsit másabb mint a visual studio-s...
szval a program amit össze kéne hozni:Készítsen két programot. Egyik az irányító központ szerepét lássa el és rögzítse időponttal együtt az érkező és távozó gépeket. A másik pedig indítson paraméterben megadott számú szálat. Minden egyes szál egy - egy repülő működését szimulálja. Egyes repülőgép szálak véletlenszerűen szálljanak fel és le, erről küldjenek információt az irányító központnak.
msg queue-val kéne megoldani.
Remélem tudtok segíteni -
czappa
aktív tag
Most van időm c, c++t tanulni. El is kezdtem, az első lépés egy egyszerű kliens-server alkalmazás lenne.
Miután megvan a socket foglalás és a bind a szerver oldalon, akkor egy végtelen ciklussal az accept-el várnám a klienseket.
A lényeg, hogy az accept-től visszakapott azonosító egy ún. ClientHandler osztály konstruktorának egyik paramétere. Egy kliensre működik, de nekem majd több klienst kell kezelnem, ezért első lépésben a egy-egy ClientHandler példányt egy set-ben akarok eltárolni.
Az eltárolás még megy, de...
Előbb a kód:server.cpp:
//az összehasonlitas a SET miatt kell, de nekem valójában nem kell a sorrend meghatározása ezért ilyen furcsa a Cmp
class Cmp{
public:
bool operator()(const ClientHandler a, const ClientHandler b)
{
if (&a == &b) return false;
else return true;
}
};
...
cout << "Bind sikeres" << endl;
cout << "Foprogram elott" << endl;
set<ClientHandler, Cmp> clients; //a set
while(1){
listen(foglalat, 1);
meret = sizeof(ugyfel);
//új kliens
uj=accept(foglalat, (struct sockaddr *)&ugyfel, (socklen_t*)&meret);
if (uj<0){
cout << "Accept sikertelen." << endl;
}else{
//az új kliensnek példányosítunk a ClientHandlerből
ch = new ClientHandler(uj, ugyfel);
cout << "Uj kapcsolat... " << endl;
//ezt eltárolom a SET-be
clients.insert(clients.begin(), *ch);
//clients.empty() == true ? cout << "true" : cout<< "false"<<endl;
//ez csak egy példa: törölném a set összes elemét egyesével, de elotte a ClientHandler kiirValamit fv.-ét meghívom
while( !clients.empty() ) {
//ez a hibás sor!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
cout << "Torol: " << (*clients.begin()).kiirValamit() << endl;
clients.erase( clients.begin() );
}
//kilepeunk a vegtelen ciklusbol 1 kliens csatlakozasa utan
break;
}
}
if (close(foglalat) != 0)
cout << "Close sikertelen." << endl;
//delete ch;
return 0;
...
ClientHandler.cpp:
char* ClientHandler::kiirValamit(){
//cout << "kiir baromsagot" << endl;
return "valami";
}A hiba a "cout << "Torol: " << (*clients.begin()).kiirValamit() << endl;" sorral van:
passing ‘const ClientHandler’ as ‘this’ argument of ‘char* ClientHandler::kiirValamit()’ discards qualifiersA hiba üzenet alapján keresgéltem google-n, elvileg az a gond - ha jól értem -, hogy egy const függvényből egy nem const-ot hívok.
Az igaz, hogy ha "char* ClientHandler::kiirValamit() const{" -ot írok, akkor lefordul, de
1) Nem látom, hogy én ezt milyen const függvényből hívom
2) a kiirValamit még lehetne const, de a valódi alkalmazásban nem ezt a próba fv.-t hívnám meg, és a valódi fv.-nek hozzá kell férjen az osztály adattagjaihoz, hogy módosítsa azokat. (erre a "konstans fv." nem képes)A válaszokat előre is köszönöm!
-
czappa
aktív tag
No megoldódott:
A hivatalos Qt tutorialt csinálom és abban az 5. lecke végének hatására egy saját esemény kezelést írtam (signal-slot modell-ben egy gomblenyomás).
Csak annyi volt a gáz, hogy ehhez már kell a Q_OBJECT makró, míg a beépítettekhez nem, így a példában sem szerepelt.
Utána már csak azzal szívtam egy keveset, hogy a KDevelop dist-clean-je mintha nem szedett volna le minden file-t és így újrafordításnál gondok adódtak. -
czappa
aktív tag
Qt-ban akadtam el.
Előbb a kód:#include <QApplication>
#include <QFont>
#include <QLCDNumber>
#include <QPushButton>
#include <QSlider>
#include <QVBoxLayout>
#include <QWidget>class MyWidget : public QWidget
{
public slots:
void button1Clicked();
public:
QSlider *slider;
QPushButton *button1;
QPushButton *quit;
QLCDNumber *lcd;
MyWidget(QWidget *parent = 0);
void init();
};
void MyWidget::button1Clicked(){
slider->setValue(50);
}void MyWidget::init(){
quit = new QPushButton(tr("Quit"));
button1 = new QPushButton(tr("Change"));
quit->setFont(QFont("Times", 18, QFont:: Bold));lcd = new QLCDNumber(2);
lcd->setSegmentStyle(QLCDNumber:: Filled);slider = new QSlider(Qt::Horizontal);
slider->setRange(0, 99);
slider->setValue(0);connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
connect(button1, SIGNAL(clicked()), this, SLOT(button1Clicked()));
connect(slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)));QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(quit);
layout->addWidget(lcd);
layout->addWidget(slider);
layout->addWidget(button1);
setLayout(layout);
}MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
init();
}int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget *widget = new MyWidget();
widget->show();
return app.exec();
}A probléma, hogy mikor lefordítom - akár manuálisan, akár Kdevelop-ból - ezt írja:
Object::connect: No such slot QWidget::button1Clicked()Így persze hiába nyomogatom azt a gombot, nem csinál semmit. Próbáltam kiokoskodni a Kdevelop-os példából, de elvileg ugyan úgy csinálom és nem jó. (Gyakorlatilag nyilván elnézek valamit...)
Már azt sem értem, hogy miért a QWidget::button1Clicked() keresi, holott ennek a MyWidget-ben kéne lennie.
Előre is köszi. -
czappa
aktív tag
válasz
Metalwarrior #238 üzenetére
A fork()-kal másolja le magát.
Visszatérési érték:
-ha kisebb mint 0, akkor gebasz történt;
-0: a gyermek process
-nagyobb mint 0: szülő.Alapesetben tehát egy if-fel vizsgálod, h 0, vagy több (vagy kevesebb).
Saját processz azonossítója: getpid(),
Szülőé getppid().
Mindkettőhöz az unistd.h kell.Megj: A fork() a gyermek processz id-vel (pid) vissza, Tehát ha az nagyobb nullánál, akkor vagy a szülő folyamatban és ekkor a visszatérési érték a gyermek pid-je.
mod.:
"Ha lehet kis kommentet is hogy mi mit csinál mert ebből zokni vagyok."A zh-t ne írjuk meg helyetted? Nem nagyon akarlak piszkálni, de neked kell döntened, hogy megakarod-e tanulni, vagy sem. Viszont ha a válasz "sem" nem várd el, hogy más csinálja meg helyetted.
-
Metalwarrior
tag
Hali!
Kéne egy kis segítség: Hozzunk létre másolatot a folyamatról, majd ha sikeres volt mint az eredeti mint az újonnan létrejött folyamat írja ki hogy szülő vagy gyerek-e, valamint jelenítse meg a folyamat azonosítóját, ezen kívül a szülő a gyerekét is.Ha lehet kis kommentet is hogy mi mit csinál mert ebből zokni vagyok.
-
odonye
csendes tag
Üdv, remélem erre kapok választ. Van egy glade-em, de nem tudom sehol beállítani hogy c nyelvre mentse le. Mert más, mint amikről a leírások szólnak. Bocs a hülye kérdésért. De tényleg furcsállom.
-
odonye
csendes tag
Vagy mint már kértem, valaki mondjon egy jó magyar nyelvű leírást az ncurses-ról.
-
odonye
csendes tag
Egyszerű kérdésem lenne, hgoyan tudom ncurses-al a háttér szinít változtatni?
-
JoJ
csendes tag
Na ennyit is elfogadott a tanár, de meg kell magyarázni, hogy mi micsoda.
strcpy (s, t)
char *s, *t;
{
while (*s++ = *t++)
;
}Mi az s és a t?
Mi a *s, *t?
Mi a *s++ és a *t++, és mit csinál?
Hogyan "tudja" a while, hogy mikor van vége a szövegnek?
(az nem kielégítő válasz, hogy megkeresi a 0-át a string végén!) -
odonye
csendes tag
Belátom én is nagyon kezdő vagyok hozzá, de nem értem mit nem értesz. Ha ott a fügvény, akkor?
-
odonye
csendes tag
Amúgy ha én nem értem félre mit akarsz, akkor ez benne van a Kerninghan féle könyvben. Úgyhogy ha keresgélsz benne, akkor meglesz. SZerintem még a 100. oldal előtt.
-
odonye
csendes tag
doc, én is agyaltam egy kicsit rajta hogy mit is kéne csinálni,a de látom, hogy nem kezdőségemből fakadóan nem értettem.
-
odonye
csendes tag
Hát én például nem igazán értem, hogy miért nincs a while után semmi utasítás csak egy pontosvessző.
Szerk: Bár van még 1-2 dolog.
-
JoJ
csendes tag
Na ezt sikerült összehoznom. Tele van hibákkal, de nem tudom, hogy hogyan kéne kijavítani. Holnap van a határidő...
#include<stdio.h>
strcpy (s, t)
char *s, *t;
{
while (*s++ = *t++)
;
}main (argc, argv)
{
int argc;
char *argv [];
printf("%s\n", s2);
} -
JoJ
csendes tag
Nos két feladatot vittem, de nem fogadta el egyiket sem.
Ehez kéne írnom egy argcargv-t (vagy valami ilyesmit...nem emlékszem), ami bekapja a fv-t.
strcpy (s, t) /*t másolása s-be;
3. mutatót alkalmazó változat*/ char *s, *t;
{
while (*s++ = *t++)
;
}Pls help!
-
JoJ
csendes tag
Ezeket adta meg a tanár, de nem tudom, hogy ehez a programhoz is kellenek e.
http://vili.pmmf.hu/~zamek/c/Makefile
http://vili.pmmf.hu/~zamek/c/mkproject
http://vili.pmmf.hu/~zamek/c/templateNagyon szépen megkérnék valakit, hogy csinálja meg nekem a futtatható, teljesen kész strcpy fv. programot, és küldje el a josip18@freemail.hu címre még ma. Tudom, hogy ez nagyon hülyén hangzik...Nekem nem megy...
-
JoJ
csendes tag
Hali!
A következő a feladat:
"Írja meg a strcpy() függvényt
Szükséges libc függvények: printf()"Utánnazéntem már sok helyen, de az a baj, hogy még az alapokat sem igazán tudom (bennt voltam az összes előadáson/gyakorlaton, de otthon keveset tanultam...), így még ezt a egyszerű programot sem tudom megírni. Elkedztem olvasni a Kernighan and Ritchie -féle könyvet is (sajnos későn). Hétfőre kellene a feladat, és még sehol se tartok, azon a pár soron kívül, amit a könyvben és a neten találtam, de nem tudom, hogy mivel kellene kiegészíteni. (a másik gond, hogy a Cygwin nem működik és helyette T. C-t használok, és azt sem tudom, hogy ehez is kell az mkproject, makefile és tmp, amit le tudok tölteni az iskola szerveréről, vagyis totál hülye vagyok még ehez...)
Már leírtátok egyszer, de nekem egy kicsit egyszerűbbet mutatott a tanár Kernighan and Ritchie-s könyvből, valószínűleg azért, mert az csak a fgv. Nekem a teljesen kész, működőképes változat kellene.
Most telepítettem újra a Windowst..., megpróbálom mégegyszer feltenni a Cygwint.Kérlek segíts!
-
JoJ
csendes tag
Szevasztok!
Nemrég valaki már fölvetette az strcpy fv-t, nekem is ezzel lenne a gondom, ugyanis még mindig nagyon keveset tudok, de sürgősen meg kéne csinálnom azt a programot és egyedül nem megy. Szerintem nekem kicsit másképp kéne, mint, amit nemrég írtatok. Ebből kéne kiindulnom (azt hiszem):
(részlet a K.-Ritchie-féle könyvből)
strcpy (s, t) /*t másolása s-be;
3. mutatót alkalmazó változat*/ char *s, *t;
{
while (*s++ = *t++)
;
}
Légyszi segítsetek, mert fontos!
(ui:Egy tanárral már megcsináltattam ezt a feladatot, de az túl bonyolult és "pascalos" volt.) -
odonye
csendes tag
Elfeljtem én, ha mondasz jobbat.
-
odonye
csendes tag
Üdv itt is feltenném a kérdést. Mikor a bekért karaktersort mentem egy masik fájl-ba, akkor a szóközt és az utánna jövő araktereket miért nem menti?
-
Chelseafan
csendes tag
válasz
Chelseafan #210 üzenetére
Ja, azt elfelejtettem írni, hogy szerdáig kell a tanárnak elküldeni, kb. 18 óráig.
-
Chelseafan
csendes tag
Sziasztok!
Lenne egy életbevágóan fontos kérésem! Beadandó házit kell csinálni.
Aki ráér, nem tudna nekem írni egy programot, ami fájlokat tud kezelni? Tehát szöveges/numerikus adatokat tud beírni egy fájlba, beolvasni egy fájlból és módosítani is tudja.
Sajnos nincs rá időm, mert 3 pótzh-ra kell tanulnom, meg annyira nem is értem ezt az egészet!Ha valaki megcsinálná, azt nagyon megköszönném, és valószínűleg jutalmaznám is valamivel!
Előre is köszi!
Üdv.: Chelseafan
-
doc
nagyúr
lehetőség van millió
ha alapszinten kezded (tehát mondjuk a hello world-től) akkor nem nagyon kell semmi extra, gcc valószínűleg úgyis fent van, meg kell valami szövegszerkesztő amivel a forrást csinálod, lefordítani meg agcc -o akarmi forras.c
paranccsal tudod, utana a
chmod +x akarmi
-vel futtatasi jogot adsz ra, utana mar csak el kell inditani
vagy felraksz vmi IDE-t, ebbol van sok: anjuta, kdevelop, code:: blocks, eclipse, stb -
MOSAIC
csendes tag
Sziasztok!
Gondoltam megpróbálkozok a C programozással! Vettem könyvet, melyhez CD is van. Eddig ok, de nekem linuxom van... Debian linux. Linux alatt milyen programmal, lehet programot írni, fordítani, milyen csomagokat tegyek fel a gépre? Vagy linux alatt hogy megy?
-
_Kewr_
csendes tag
MEgköszönném ha valaki mutatna nekem egy jó leírást az ncurses-ról.
-
Steve-S
tag
Ha ezt megmondja nekem valaki hogy miért nem működik normálisan ez a programom, akkor megközönném! Fordításnál semmi hiba nincs. Átnéztem már 100x az egészet de nem tudom mi a hiba. A feladat hogy bekérek egy egész számot, és átváltja a megadott számrendszerbe (2-9). A feladatot ily módon kell megoldani ahogy megcsináltam, tehát ne írjátok át ha lehet, csak nem tudom hogy miért nem működik megfelelően. Eredménynek csak hülye összevissza karaketerket ad ki.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>char *valto(unsigned int szam, unsigned int szr)
{
char *eredmeny;
int n=floor(log(szam)/log(szr)+1);
int i=0;
eredmeny=(char *)malloc((n+1)*sizeof(char));while(szam>0)
{
eredmeny[n-i-1]=szam%szr;
szam/=szr;
i++;
}eredmeny[n]=0;
return eredmeny;
}int main(void)
{
unsigned int a,b;
char *kesz=NULL;printf("Adj meg egy egesz szamot: ");
scanf("%d",&a);
printf("Adj meg egy szamrendszert (2-9): ");
scanf("%d",&b);if(b<2 || b>9)
{
printf("\nNem jo szamrendszert adtal meg!\n");
exit(-1);
}kesz=valto(a,b);
if(kesz) puts(kesz);
if(kesz) free(kesz);return 0;
} -
Forest_roby
őstag
válasz
Forest_roby #200 üzenetére
javitas:
[0;10] intervallum kozott:
i = rand() % 11;
ciklussal egyutt:
#include <stdio.h>
#include <stdlib.h> /* required for randomize() and random() */
#include <time.h>
int main ()
{
int i;
int s = 1;
/* initialize random seed: */
srand ( time(NULL) );
for(s=1;s<100;s++)
{
/* generate random number: */
i = rand() % 11 ;
printf("rand: %d\n", i);
}
}kell a tomb is?
Aktív témák
Hirdetés
- Vivaldi (böngésző)
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Kerékpárosok, bringások ide!
- Debrecen és környéke adok-veszek-beszélgetek
- Trollok komolyan
- Kormányok / autós szimulátorok topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Drón topik
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Nehéz helyzetben az SMIC, régebbi chipet használ az új Huawei laptop
- További aktív témák...
- LG 48C2 - 48" OLED EVO - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen5 CPU
- Bomba ár! Lenovo IdeaPad V110 - i3-6GEN I 4GB I 128GB SSD I 15,6" I HDMI I Cam I W10 I Garancia!
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- VÉGKIÁRUSÍTÁS - REFURBISHED - Lenovo ThinkPad 40A9 docking station
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged