- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Microsoft Excel topic
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- MinDig TV
- Rendszergazda topic
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Proxmox VE
- Kapnak egy rakás reklámot a Roblox játékosai
- ArchiCAD és Artlantis topik
Aktív témák
-
taltos
senior tag
Utálom ezt az értelmetlen flamet...
Ne haragudjatok, de most már elvesztettem a türelmem... Most komolyan bocs, akár moderálni is lehet, de csak a hülye emberek írnak le nyelveket, olyanok akik többnyire ezzel akarják ellensúlyozni, hogy nem értenek hozzá...
Ne haragudjatok, de ez most szívből szólt...
És most tarom magam ehhez, és nem szólok hozzá tovább ebben a topicban, ehhez a témához. (Nehogy úgy tűnjön, hogy én vagyok az isten...) De mindenkinek ajánlom, hogy ne csak kódoljon, hanem olvasson egy kicsit általánosabb programozásos könyveket...
Kezdje mondjuk ezzel:
Bővebben: link
Tényleg bocs...
[Szerkesztve] -
faster
nagyúr
#93 után nem tudlak komolyan venni. Ez a wordos példa ez egy marha nagy csúsztatás volt. Te beszélsz arról, hogy én nem értek a programozási nyelvekhez, és nem tudom, mi az az IDE, holott úgy látom, te nem ismered a Visual C-t!? Mégis, egyáltalán, hogy került ide az ADA beírása? Nem arról van szó, hogy inkább összevissza beszélsz, mint sem kipróbálnád, amit leírtam? Méghogy Adát be lehet írni... József Attilát is be lehet írni, ki a franc beszélt arról, hogy MIT LEHET BEÍRNI egy editorba??????? Arról beszéltem, hogy ha a C kiterjesztésű fájlt fordítasz le, akkor C szintaktika alapján fordítja le ALAPBÓL, ha C++, akkor pedig C++. Mert a Visual C egy IDE, nem pedig editor, De basszus, ne beszélj itt nekem arról, hogy nem értek az IDE-hez, mert ez NEM ÉRV. Cáfold meg konkrét példával, de ne csúsztass!
-
faster
nagyúr
Most komolyan bocs, akár moderálni is lehet, de csak a hülye emberek írnak le nyelveket, olyanok akik többnyire ezzel akarják ellensúlyozni, hogy nem értenek hozzá...
Ne haragudjatok, de ez most szívből szólt...
Szerintem meg az a hülye, aki nem érti meg, én mit írok...Aki nem érti meg, miben hatékonyabb az egyik programnyelv a másiknál. És aki arról papol, hogy én nem értek a témához, ahelyett, hogy pl. konkrétan bebizonyítaná, hogy mit írtam rosszul.
[Szerkesztve] -
TheVeryGuest
senior tag
Teljesen felesleges ez a C/C++ vita. Én mindkettőt szeretem. Érdemes megnézni a GNU implementációt, ahol a g++ a gcc-re épül. Minden C++ cuccot átfordít C-re (kedvencem a C-ssé fordított azonosítók a hibaüzenetben, aki ismeri a c++filt-et tufdja miről beszélek). Ez szerintem jól leírja a két dialketus viszonyát. A C++ ki van bővítve egy csomó absztraktabb elemmel, bizonyos korábban különálló elemek összetársíthatókká váltak és elkülöníthetőkké. Az egészet megfejelték még egy kis scriptszerűséggel (template-ek) is. A legjobb azonban a C++-ban, hogy nem erőltet az emberre semmit, ha akarom használhatok sima C-s entitásokat, illetve keverhetem őket.
Igazán jó C++ programozó akkor lesz valaki, ha jól tud sima C-ben is dolgozni, illetve tudja, hogy az összetett C++-os szerkezetek miként valósulnak meg C illetve még alacsonyabb szinten. Aki ezeket figyelembe veszi az képes a mezei C kódok sebességét elérni C++-ban is. A jó C programozó pedig ismeri a HW platform jellemzőit is. Amivel csínján kell bánni, az a észnélküli örököltetés meg virtualitás, meg a sok dynamic_cast/RTTI. Úgy vettem észre, hogy sok programozó hajlamos ezeket értéknövelő feature-ként előadni, ahelyett hogy csak ott használná, ahol tényleg kell. Persze jók a C++ beépített library-k, csak észnél kell lenni a használatuknál. A stringkezelésre nem biztos, hogy az std::string a leghatékonyabb, mert nagyon sokszor értelmetlen copy-zás lesz a vége. Az STL-nél meg oda kell figyelni, hogy milyen az adott library implementációja. Kedvenc példám a std::list::size() metódus, amit legtöbbször O(n)-esre implementálnak amivel performance-ban olyat lehet szopni, mint egy ház, ha az ember 10000 elemű listákat kezd el kezelgetni. Ugyanilyet lehet szopni mondjuk a vektorral, ha az ember megpróbál pointereket eltárolni egy dinamikusan változó elemszámú vektor elemeire, hiszen ha nem mutatók vannak a vektorban, akkor minden egyes realloc-nál újraallkokálja elemenként.
Szóval száz szónak is egy a vége kényelmes a C++, de nem kell megvetni az öreg C-t, mert ha igazán jó C++ kódot akarunk kapni ismernünk kell őt is alaposan. Olvasgatni meg nem programozás, meg programozási nyelv könyveket kell, mert azt inkább gyakorlatban kell megtanulni, hanem algoritmusok könyveket, mert abban van az Erő. Ajánlom mindenkinek, aki okosodni akar, Donald E. Knuth-tól az Art of Computer Programming-ot.
Amúgy meg lehet, hogy mostanság több C++ kódert keresnek, de nem biztos, hogy jobban keresnek, mint a kiválasztottak, a platform fejlesztő C kóderek. Az egy másik kérdés, hogy utóbbiak között jóval több az olyan akikkel értelmes, nem számítógépről folytatott emberi társalgást lehetetlen folytatni.“Perfection is attained not when there is nothing more to add, but when there is nothing more to remove” Antoine de Saint-Exupéry
-
faster
nagyúr
válasz TheVeryGuest #105 üzenetére
Óóó, hát it már messze nem arról folyik a vita, hogy a C vagy a C++ miért jobb, hanem ott tartunk, hogy én már azt sem tudom, mi a különbség az editor és a compiler között, meg hogy mi az az IDE.
Sőt, ha jól értem, akkor a Visual C-hez sem értek, és nem igaz az, hogy C fordítóként viselkedik C fájloknál (gyengébbek kedvéért: a fájlkiterjesztésből bizonyos következtetéseket von le az IDE, jajdemán mijjenundorító ez az automatizmus), tegnap kipróbáltam, de az biztos csak egy lázálom volt.
[Szerkesztve] -
TheVeryGuest
senior tag
Nincs semmi baj az IDE-kkel, amíg ezek a feature-ök konfigurálhatók (a VC elég korrekt eből a szempontból). Mondjuk én még mindig a jó öreg Borlandos Turbo-Vision IDE-t sírom vissza, ahol még egér nélkül lehetett dolgozni. Azt el kell ismerni manapság az UltraEdit és a CodeWright azért odaver a VC editornak, már művészi szintre fejlesztették őket. A VC-t az IDE-be integrált Debugger-ért szerettem. Bár a tömböknél tud idegesítő lenni. Sajnos a nem Windows-os platformokon lassabb a fejlődés, de ha valaki rászokik az XEmacs is jó tud lenni esetleg az Anjuta. Én mondjuk szeretem az mc és az mcedit-et úgy hogy meg van nyitva vagy 3 konzol, bár mindenki kiröhög miatta. De legalább fut teminálon is, és általában már van mindenhol. Debuggolni meg ott a GDB/DDD, jó cuccok csak mivel nem integráltak kicsit nehézkesek.
“Perfection is attained not when there is nothing more to add, but when there is nothing more to remove” Antoine de Saint-Exupéry
-
faster
nagyúr
válasz TheVeryGuest #107 üzenetére
Én voltam olyan elvakult, hogy a VC editorját használtam HTML és Javascript szerkesztéshez is... Most mát inkább Homesite és Textpad, bár egy-két funkciót a mai napig hiányolok ami a VC-ben régóta megvan.
A Turbovision felület profi volt, a Dos Navigatort is azért szerettem, mert hasonló karakteres ablakokkal dolgozott.
[Szerkesztve] -
burgatshow
veterán
Hali! Mire utal az a hiba hogy:
parse error before `)' token
Ha kell a kód itt van de nem röhögni mert most álltam neki tanulni:
#include <stdio.h>
main () {
long sum;
int a = 1, b=10;
printf (''A szamok 1-10-ig:'');
for (a=1, a++ ; a=b);
sum a+=1;
printf(''A szamok: %d'', sum);
return 0;
}
Konkrétan a hetedik sorra mondja az pedig a for ciklus!
[Szerkesztve] -
faster
nagyúr
válasz burgatshow #109 üzenetére
a=1 után pontosvessző kell
de ez az egész el van rontva:
for (a=1, a++ ; a=b);
sum a+=1;
szvsz:
for(a=1;a<=b;a++)
sum += a;
akar lenni, és sum-nak adj kezdőértéknek nullát még a ciklus előtt. Na asszem ennyi.
[Szerkesztve] -
faster
nagyúr
válasz burgatshow #111 üzenetére
Azért, mert a ciklusban az aktuális sum értékéhez adod hozzá az a-t, és mivel nincs kezdőértéke, ezért bizonytalan értéket vehet fel ilyenkor, tehát kezdőértéket kell neki adni.
-
atee07
tag
PíTíeM.A matekok,amelyeket felvettem,elsőre mind megvolt.Most felvehettem volna az Opkut-ot,de gondoltam,inkább nem.Mondjuk a legtöbb matek kettes lett,de nem érdekel,lett ott hármas és négyes is.
Tegnap voltam Prog vizsgán,és meghúzott,de már túltettem magam rajta,kedden kell mennem újra,szerencsére nem írta be Azért nem sikerült szerintem,mert csak 4 napom volt rá,a többieket kérdeztem,1hét,2hét tanulás,ami nekem le volt írva a füzetbe,azt tudtam(volna),de az kevés.Este rájöttem,hogy átmehettem volna egy kis szerencsével,ide az is kell,de nagyon.Ha még nem voltál,akkor jótanács,hogy a fent lévő jegyzetből tanulj,ne az óraiból,mert ott nekem is kevesebb volt leírva,hiába körmöltem egész órán,pl nem volt leírva mellékhatás fogalma,amit általánosságban tudok,hogy mi,természetesen,de nem tudtam megfogalmazni.További tanácsok: C könyv alapos átnyálazása,mert sok C-t is kérdez,legalábbis tőlem kérdezett,max C+Ada szintaktika lehet,a végén lévő fejezeteket egészbe kérdezi(csomag,gen. prog.,taszkok,randevú,I/O,párhuz. prog.,kivételkezelés+ még ami arrafelé van),iletve ha azt mondod,hogy tudod a PL/1 kivételkezelését vagy a C hatáskörkezelését,akkor olyat fog belőle kérdezni,amit sehol nem találsz meg a jegyzetben,tegnap is kérdezte a haveromtól a C-s dolgot,és megjegyezte,hogy előtte se tudta senki
Na,kb ennyi.
Ja.az Adszerket csak meg mertem kérdezni a vizsga végén,ötös lett,de nem tudott feldobni Ehhez kapcsolódóan egy poénos dolog:a proghoz írta be,visszamentem szólni,mert úgyis kiderült volna,azt mondta,hogy nem javítja ki,mert még simán lehet ötös is,vagy nem bízok benne?
Keménynek kemény tanár,de bevallom nem erre számítottam,szóval nem kell félni tőle,a közmondás is ezt mondja,Amelyik kutya ugat,az nem harap,persze itt nem kutyáról van szó
[Szerkesztve]''Egyszer annyira depressziós voltam,hogy le akartam ugrani a tizedikről.Hívtak egy papot,aki ennyit mondott:Elkészülni... Vigyázz...'' - Woody Allen
-
taltos
senior tag
Hali!
Már vizsgáztam progból (mellesleg én is tegnap! ), de nekem 4-es lett. Engem is megizzasztott rendesen és annyira izgultam, hogy nem tudtam neki olyan változót mondani, aminek van hatásköre, de nincs élettartama...
Mindegy. Mellesleg a matekos tárgyaim ilyenek lettek:
első félév:
mat.log: 4 (Várterész... nem mentem az ötösért... ),
kalk.1: 2 (Losi. Akartam javítani, de Losi szerint, ha nem egyes lett, akkor nem javíthatok... ),
diszk mat 1: 5 (Bácsó Sándor),
2. félév:
kalk 2 : 3 (Losi. Ha hallottál, a mostani vizsgáról... Örülök, hogy meglett...),
Diszk mat 2: 4 (Eléggé elrontottam... , Bácsó nem dicsért meg... )
Azon gondolkodtam, hogy fel kellene vennem jövőre a bev. a geometriába 1-et. (Bácsó S.) Nem tudsz róla valamit? Azt hallottam, hogy nagyon gyilkos az a tantárgy. Állítólag komolyabb, mint a diszkrétek...
Mellesleg (hátha segít...) tőlem ezeket kérdezte:
- csomag
- ada : taszkok
- kifejezés kiértékelés + ez C-ben hogyan van
- hatáskörkezelés
- C szintaktika
- mellékhatás
.
Egyébként nem tudom minek tudható, de utánna én is rájöttem, hogy ezek a pletykák azért alaptalanok, amik róla szólnak. SZVSZ ha valaki globálisan képben van az anyaggal, és fullosan megy neki az ADA és a C szintaktikája, akkor azt átengedi egy kettessel. Persze sokszor nem a tudással van a gond, hanem a helyzettel...
Majd drukkolok, sok sikert! -
atee07
tag
Te is aznap???Hát,2 haveromnak is négyes lett,de nem hinném,hogy te valamelyik lennél közülük,mivelhogy ők másodikosok.Szerintem inkább az,aki kijött tök boldogan négyessel még olyan 12-13 óra felé.Vagy a szemüveges srác Aki legutóljára ment be,az ötöst kapott,de 40 percig volt bent.Ha jól belegondolok az enyém is lehettett volna négyes,mert nem volt olyan nehéz,csak a kérdések sem voltak egyértelműek.Mindegy,kedden azért küzdök,hogy a ''rossz'' helyre beírt ötöst ne kelljen lehúznia
''Egyszer annyira depressziós voltam,hogy le akartam ugrani a tizedikről.Hívtak egy papot,aki ennyit mondott:Elkészülni... Vigyázz...'' - Woody Allen
-
Blackmate
senior tag
Lenne egy lama kerdesem. A következö par sor mit takar? :
#define GLOBAL extern
#include ''res.h''
#undef GLOBAL
Elolvastam a ''Programozzunk C nyelven'' cimü nagysikerü best sellert, de nem igazan ertettem meg a felteteles forditas rejtelmeit. Valaki tudna segiteni? -
Kr1xX
csendes tag
Passz
-
Miracle
senior tag
válasz Blackmate #118 üzenetére
a res.h ismerete nélkül elég nehéz megmondani.
a tippem a következő.
a res.h -t úgy készítették, hogy együttműködjön sokféle rendszerrel.
És valahol valamféle globálisnak tekinthető változókat használ.
ezek valszleg így vannak deklarálva
#ifndef GLOBAL
#define GLOBAL
#endif
/*..*/
int i GLOBAL;
/*..*/
A probléma a következő: amennyiben több .cpp fileba is beincludeoljuk a res.h -t akkor minden .cpp fileból készült .o tárgykódú fileban benne lesznek ezek a globális változók.
és amikor szeretnénk összelinkelni a fileokat akkor a fordító jó esetben visszadobja, hogy (mondjuk 4 file esetén) ''multiple declaration of int i in res.h included form a.cpp : #'' és így tovább, szóval lenne 4 db globális i változód, illetve minden egyebed, ami globális a res.h-ban.
Ha nincs a GLOBAL definiálva akkor azt a res.h elején definiálja semminek, és a res.h egész területén kicseréli a semmire, azaz törli, így int i; deklaráció lesz belőle. azaz fut.
de ha elérakod a #define GLOBAL extern sort, akkor az int i; helyett int i extern; lesz azaz nem fog tárhelyet foglalni az i változónak, hanem megjegyzik, hogy van int i változó, használom, de még nem tudom, mi az és hol van, azt majd a linker megmondja nekem szépen. és akkor a 4 db .cpp fileból 3 esetén a #define GLOBAL extern -el kell a res.h-t includeolni, de az egyikbe nem kell ez a definíció. így az egyik .cpp-be includeolt res.h létre fogja hozni az int i; változót(és a társait persze, az int i csak egy példa volt), és a többi .cpp fileból fordított .o filokban szereplő hivatkozásokat i-re majd szépen a linker feloldja, azaz összelinkeli a fent említett 3 .cpp file-ból infludolt res.h-ban szereplő i-re való hivatkozásokat(amik ugye externek lettek, így nincs nekik hely foglalva) a 4. .cpp fileból includeolt (#define GLOBAL extern) nélküli res.h-ban létrehozott valós int i; -vel.
remélem érthető.értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
Cathfaern
nagyúr
Random számot géne generálnom, de úgy hogy egy adott számnál ne legyen nagyobb (és egynél ne legyen kisebb). A problémám már ott kezdődik, hogy a random generáló fgv-t sem ismerem
-
Blackmate
senior tag
Wow! Elöször is köszönöm!
Amit irtal nagyjabol ertem tanultam C-t, C++t, Java-t, Assembly-t. Tehat nagyjbol kepbe vagyok a dolgokkal.
A ''RES.H'' egy header fajl, es valoban sok mas forras hasznalja. Modularis programozasrol van szo, a programozas targya: egy specialis mikrokontroller.
De ami a lenyeg: a program nem C++ ban, hanem ''sima'' ANSI C-ben irodott
Ezert nem tudom hova tenni ezt a global-t a definicional.
Ha lenne idöd, es tudsz segiteni, akkor esetleg MSN-en, ICQ-n is elerhetö vagyok. Nagyon halas lennek! -
Miracle
senior tag
válasz Cathfaern #121 üzenetére
#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
srand((unsigned)time(0));
int random_integer;
for(int index=0; index<20; index++)
{
random_integer = (rand()%10)+1;
cout << random_integer << endl;
}
return 0;
}
ez pl. 1től 10ig csinál random számot.
''random_integer = (rand()%10)+1;''
ebben a sorban kell módosítani a 10et ha más intervallumban szeretnél random számot.értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
Blackmate
senior tag
válasz Cathfaern #121 üzenetére
#include <time.h>
#include <stdlib.h>
void randomize (void);
// A random függveny alveletlen szamot ad vissza 0 es 1 között //
Ha megvan adva, hogy milyen szamok között kell, akkor egyszerüen elöallithatod ugy, hogy szorzod a függvenyt. Pl ha 0 es 100 között kell, akkor 100-zal szorzod. Ha az also hatar nem 0, akkor if-fel kilehet zarni a szamokat sztem.
Nagy hirtelen ennyit tudok elmondani. Keremkapcsojjaki
MOD: Hopssz, lassu voltam, es gagyi
[Szerkesztve] -
-
Blackmate
senior tag
Ujra itt vagyok, egy ujabb kinommal Ezt a sort valaki elmagyarazna nekem? Egyszerüen magas, mint tyuknak az ABC.
struct _RES_GVar* gPtr=(struct _RES_GVar*)&RES_gVar;
a _RES_GVar egy globalis valtozo struktura, ami mellesleg igy nez ki:
static volatile struct _RES_GVar
{
/* ports */
UInt8 portA; /* test port */
UInt8 portB; /* test port */
UInt8 portC; /* test port */
/* 10ms timer */
void (*tenMsTimer_cbf)( void ); /* pointer to timer function */
/* serial port 0 */
void (*transmitSerPort0_cbf)( void ); /* pointer to transmit function */
void (*receiveSerPort0_cbf)( UInt8 ); /* pointer to receive function */
void (*errorSerPort0_cbf)( UInt8 ); /* pointer to error function */
} RAM_SEGMENT RES_gVar =
{
/* portA = */ 0x00,
/* portB = */ 0x00,
/* portC = */ 0x00,
/* tenMsTimer_cbf = */ NULL,
/* transmitSerPort0_cbf = */ NULL,
/* receiveSerPort0_cbf = */ NULL,
/* errorSerPort0_cbf = */ NULL,
};
Köszöntem!
[Szerkesztve] -
Akagi
tag
válasz Blackmate #129 üzenetére
HA jol tevedek:
Letrehoz egy gPtr nevu _RES_GVar stukturara mutatto pointert, aminek kezdoerteke egy _RES_GVar tipusu mutatova konvertalt, RES_gVar-ra mutato mutato.
Tehat van egy RES_gVAr valtozo aminek eloallitja a cimet, majd konvertalja _RES_GVar tipura mutato mutatova, amely a kezdoerteke a gPtr nevu _RES_GVar tipusu mutatonak.
A masodik resz gyakorlatilag definial egy _RES_GVar strukturat es letrehoz egy statikus (a volatile aszem talan az optimalizalast nyomja el ez nemtom) RES_gVar nevu valtozot es ennek kezdoerteket ad..
Remelem jol gondoltam..Segítség eltévedtem!
-
F-ECT$
titán
A volatile object is one that may be modified outside of program control. Memory-mapped I/O ports are a typical example. Declaring an object as volatile indicates that the compiler should always generate code to fetch the object's value from its actual memory location — it may have changed since the last access by the program. (This disallows optimizations which could load the value into a register and possibly return erroneous results.)
volatile char *port1 = 0x00f3; /* ptr to I/O port */
while( *port1 & DATA_FLAG ) /* needs to be volatile */
clear_io();
Bővebben: linkDive ever, work never.
-
Nickf
csendes tag
dev c++ -ban
Dos ablakban
Egy szöveges fájlt kell megnyitni.
A program kérdezze meg a fájl nevét és megnyitom.
Hogyan tudom megcsinálni?!
Köszi Feri -
Akagi
tag
#include <stdio.h>
...
FILE *file;
char *filenev;
...
filenev = (char *)calloc(filenevhossza,sizeof(char));
scanf(''%s'',filenev);
file=fopen(filenev, mod);
...
ahol filenevhossza= max mekkora filenevet akarsz beolvasni +1
mod lehet: ''r'',''w'',''a'',''r+'',''w+'',''a+'' letezo olvasasa,iras,hozzafuzes, letezo irasa/olvasasa, iras,letezo olvasas/hozzafuzes a w(w+) mod letezo filet _felulir_ nemtom ismeri-e a t, b modokat (text,binary)
jah standard c kod a c++ hoz nem ertekSegítség eltévedtem!
-
Khraath
csendes tag
Cpp-ben:
#include <iostream>
#include <fstream>
using namespace std;
//...
ifstream in;
char *filenev;
//...
filenev = new char[256];
cout << ''Add meg a file nevet! '';
cin >> filenev;
in.open(filenev,ios::in);
while (in.fail())
{
cout << ''Nincs ilyen file, ujra: '';
cin >> filenev;
in.close();
in.open(filenev,ios::in);
}
//..
in.close();
delete filenev;
}
Itt néz körül: Bővebben: link -
Fade_Away
őstag
bokmárk
-
Sianis
addikt
Sziasztok!
C-ben kell egy rekurzív függvényt írnom! Egyenlőre nem tudom, hogy hogyan kezdjek hozzá! A feladat lényege, hogy bármilyen ciklus függvény nélkül kell megoldani azt, hogy máris egy bizonyos ideig fusson a dolog, pl faktoriális program, ami ugy egytól egy adott számig minden egész számot összeszoroz. Segítenétek ebben? Elég ha az elméletet elmagyarázza valaki, vagy előáll egy konkrét pl-val, én azt sem bánom! Előre is köszi! -
Sianis
addikt
Közben megött az ''isteni'' szikra! Majd tudósítok az eredményről, de szerintem sikerülni fog.
-
Spyx
tag
A GOTO utasítást megfelelően használva gyors és jól érthető kódot lehet írni de kezdőknek semmiképpen sem ajánlott. (Ezért nem használom én sem )
KÉRDÉS? : hogyan lehet a kurzort pozicionálni a szöveges képernyőn belül.
Pascalban volt a gotoxy-n és ugyanezt az utasítást láttam borland c-ben is de az én dev-cpp -m nem ismer ilyen functiont. kérnék ajánléatokat a megoldásra.
Konkrétan annyi kéne hogy amikor dos ablakban fut a programom a legalsó sorban folyamatosan ki legyen írva hogy ki készítete és mikor. a program maimum 20-22 sort ír ki , tehát nem fordulhat elő hogy továbbgördül a képernyőGyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
Miracle
senior tag
A GOTO utasítást megfelelően használva gyors és jól érthető kódot lehet írni
EZT felejtsd el, de gyorsan, a goto SZAMODRA jol ertheto kodot ad, de megsugok egy titkot: a cegnel, ahol dolgoztam es a goto-ert jo nagy lebaszas jart jobb esetben. a Goto hihetetlen szopas, mert nem on-dokumentalo, sot, egyaltalan nem jol dokumentalhato, es a szoftver fejleszthetoseget, karbantarthatosagat komolyan rontja. a goto hasznalata CSAK extrem teljesitmenyjavitas erdekeben megengedett komolyabb projektekben. (+mikrokontrollerekben ofkoz)értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
Spyx
tag
egy haveromnál láttam hogy ő borland C -ben az stdio.h-t és a conio.h -t használja csak és így megfelően működik a gotoxy() . De devcpp -nek nem elég ez a két header hozzá. Ezt a graphics.h-t kipróbálom. Hátha.
[Szerkesztve]Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
Spyx
tag
Valaki segítsen már! Hogyan kell fokokkal számolni c-ben? Van rá valamilyen konvenció vagy valamilyen általános transzformációs formula ha float-al akarom helyetesíteni?
Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
Spyx
tag
És azt hogy kell? Mert azt sem tudom. Meg ha radiánban számolnék akkor is oda-vissza tudnom kéne a radián-fok váltást. Olyan embereknek akarok egy egyszerű felhasználói programot készíteni akiknek fogalma sincs arról mi az a radián.
Ha tudsz leírást róla hogyan kell megvalósítani nekem az is jó ( akár angol nyelvű is lehet).Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
Spyx
tag
Valamennyi fogalmam volt róla hogy mi az a radián ,de az tény hogy nem nagyon ismerem ki magam akkor ha ilyesmiről van szó.
Kössz azért a képleteket. De konkrétan nekem olyasmiről kéne egy kis eligazítás hogy hogyan tudok kivonni egymásből szögeket úgy hogy helyes legyen az eredmény. Vagyis lehetséges-e ez úgy hogy nem kell mindig átváltogatnom radiánba és vissza. Pl.: ha floattal tárolom a fokot úgy hogy 1 fok 44 perc = 1.44 akkor ha ebből kivonom a 0 fok 45 perc-et = 0.45 az eredmény ugyebár 0.99 lesz ami nekem nem tűnik jónak.
Addig értem hogy radiánban lenne célszerű számolgatni az ilyesmit de ennyire még nem vágom a dolgokat. Valami egyszerűbb kéne.Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
BaLinux
tag
Itt tényleg nagyon keversz dolgokat. A perc és másodperc 60-as számrendszerben van ugye, tehát 60 fokperc=1 fok, ezért nyilván nem teheted meg hogy TIZedes után odaírsz ilyeneket...
Vedd elő az első középiskolás matekkönyvet
Szögeket konvertálod egységes fokra vagy radiánra, és úgy persze helyes a kivonogatás.
Tehát fok=egészfok+fokperc/60+fokmásodperc/3600
Visszafelé kicsit nehezebb, amennyiben szükség van a nem-tizedes formájú értékekre.
Ha meg van adva a fok, akkor
egészfok=floor(fok)
fokperc=floor((fok-egészfok)*60)
fokmásodperc=((fok-egészfok)*60-fokperc)*60
Remélem érthető. A floor(x) a x-hez legközelebbi olyan egész szám, mely nem nagyobb mint x. -
Spyx
tag
Azt vágtam hogy egy fok az 60 fokperc. Ennyire azért ne néz gügyének. Csak azt hittem hogy van valmilyen formula rá hogy tizes számrendszerben ennyire egyszerűen le tudnám kezelni a dolgot. De már látom hogy nem fog menni. Akkor most megpróbálom az alapján megoldani ahogyte írtad az átváltásokat.
Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
BaLinux
tag
Bocsáss meg, csak megpróbáltam összefüggéseivel leírni az egészet.
Persze megteheted azt, hogy nem konvertálsz tizedfok és fok/perc/mp között, de ahhoz egy structot/osztályt kellene bevezetni, és arra műveleteket, amik bonyolultabbak ennél a megoldásnál. Így csak egy float és kész, gondolom jobb ha C-ben csinálod. -
Spyx
tag
Tudod mit? Kössz a segítséget ! A floor() -os konverzióval meg tudtam oldani a feladatomat és úgy néz ki több teszt alapján hogy helyesen számol. Egyébként annyi szerencsém még volt hogy nem kellet a másodpercekkel foglalkoznom.
Végül is a hatodik teljesen újraírt változata a programnak végre jó.Gyötrődő halálos játék: élet! Tőled én még mit kívánnék?!...
-
Krissz
csendes tag
Hi!
Régi topic,de újjat ezért nem akarok nyitni.
Sokadszorra is nekifogtam hogy legalább alapszinten megtanuljam
a c++ -t.
Mivel a c alpjaival sem vagyok tisztában,ezért a c-vel kezdtem
mivel a c++ erre épül.
Sajnos nekem már nincs lehetőségem ezt iskolában tanulni,és a
szakmám is egésszen más ezért az interneten talált (magyar) leírásokból
tanulgatok.Anno még a C64 -en programozgattam basic-ban és assembly-ben,
de be kell látnom,hogy az ott megszerzett tudás,a mai gépeknél semmit sem ér.
A problémám:
Gondoltam úgy lehet a legjobban megtanulni valamit ha használjuk,
ezért nekiáltam írni egy programot az interneten talált feladat alapján.
Elég egyszerűnek tűnt,és mivel a megoldás c++ ban volt meg hozzá,ezért
ideálisnak tűnt a számomra.Gondoltam megírom c-ben,mivel a c-t azért jobban
megértem mint a c++ -t,és utánna áttírom (a megoldás alapján) c++ -ba.
A feladat:
Egy labirintusban egerek, macskák, keresik a kijáratot. A labirintus N * M darab azonos méretű cellából
áll. Az állatok ebben a 2D térben tudnak mozogni úgy, hogy minden cellából a 4 logikailag szomszédos
(jobbra, balra, le fel) cellába léphetnek át, ha ott nincs fal és ott nincs másik állat, kivéve a macskát, aki
megeszi az egeret, ha olyan cellára lép, ahol egér van. A labirintusnak több kijárata is lehet, melyeket
speciális cellák jeleznek.
Készítsen C++ objektummodellt a feladat modellezésére. Definiálja a labirintus, egér, és macska
objektumokat! Határozza meg az objektumok felelősségét és kapcsolatát! Használjon öröklést! Röviden
írja le a publikus metódusok működését (nem kell implementálni)!
Implementálja a labirintus objektum azon metódusait, melyek a labirintus felépítésére, és „kirajzolására”
szolgálnak. A labirintust „kirajzolását” úgy oldja meg, hogy karakteres képernyőn jelenjen meg
labirintusban levő állatok és a kijáratok helyzete. A macskákat m, az egereket e, a kijáratot, pedig k
betűvel jelezze. Az üres cellák helyén pont (.) karakter legyen. Pl:
e . . . m
. . . . e
. m . k .
. . e . .
. k . . .
[link]
De sajnos még c-ben sem nagyon boldogulok.
Ugyan sikerült megírni,és működik is,de nagyon nem ''c''-ül néz ki.
(ha valaki nagyon nevetni akar bemásolhatom)
És nem találtam a megoldását annak,hogy Linux alatt(xterm) hogyan tudnám
a kurzolt pozícionálni,mert a kiíráshoz ez kellene a programban.
Ha valaki tudna segíteni azt nagyon megköszönném. -
shev7
veterán
ncurses.h ebben vannak kurzor pozicionalo fv-ek. De figylej arra hogy kilepes elott allitsd vissza a kijelzot (mar nem emlekszem a fv nevere) mert kulonben erdekesen fog kinezni a terminalod
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
Fecow
aktív tag
Szia, nem vagyok nagy programozó, de c-ből c++-ba átírni nem vmi egyszerű, már ha a c++-ba átíráson az objektum orientáltságot érted (szinte előlről kell kezdened az egészet, az leszámítva, hogy az algoritmussal kész vagy).
Egyébként van a programhoz c++ forráskód is. A csávó volt ebben a félévben a programozás előadóm, és mindig minden programjához rakott fel forrás kódot, persze mindig hibásan, vagy hiányosan, hogy dolgozzunk is vele ne csak a szánkba repüljön a sült galamb
[link]
Remélem azért vmit segít.
[Szerkesztve]Nyergeld meg a nagyot
-
Krissz
csendes tag
Hi!
Köszi a gyors válaszodat.
Ezzel próbálkoztam én is,pontosabban egy ''move'' nevű
függvénnyel.
A man mind az ncurses mind a move -re az #include <curses.h> fejállományt
írja.Ezt ezt beírva a programba:
.
.
#include <curses.h>
.
.
.
move (x , y)
.
.
Ezt a hibát adja a gcc:
/tmp/cc6CBhSm.o: In function `main':
p2.c.text+0xb6): undefined reference to `stdscr'
p2.c.text+0xbe): undefined reference to `wmove'
collect2: ld returned 1 exit status
Ez mit jelenthet? -
Krissz
csendes tag
Hi!
Én azért gondoltam erre az áttírásra,mert ennek a példának meg van a megoldása
c++ -ban.És mivel a c++ teljesen kínai a számomra,de a c lényegét sokkal jobban
értem mivel annyira nem különbözik a basic -tól és pláne nem az assembly-től.
(leszámítva hogy teljesen más az architektúra,az assembly azért olyan nagy mértékben
nem különbözik)
Gondoltam ha c-ben megírom ezt a programot,akkor egy fokkal könnyebb lessz
megérteni a a c++ mintapéldát.
Köszi a linket.
Aktív témák
- Milyen TV-t vegyek?
- Gördeszka topic
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Xbox Series X|S
- Anglia - élmények, tapasztalatok
- Konzolokról KULTURÁLT módon
- BestBuy ruhás topik
- Milyen billentyűzetet vegyek?
- 3D nyomtatás
- További aktív témák...