KGigi Posted May 18, 2010 Posted May 18, 2010 Őket nem ismerem. Gondolom azért, mert én B-s vagyok. Sehol nem szánnak rá többet. Nekünk laborgyakorlat sem volt. Alaposan ásd bele magad, mert az egyetem hátralévő részében enélkül nem leszel meg.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Na péntek hajnalban (3 órakor) kaptam egy levelet, hogy vasárnap éjfélig be kell adnom, vagy nem kapok gyakorlati jegyet. Aznap hajnalban eljöttem Prágába, még mindig itt vagyok, így magammal kellett hoznom a laptopom és elkezdeni a feladatot. A vonaton foglalkoztam vele, tegnap semmi idõm nem volt, ma valahogy be kell fejeznem a dolgot. Eddig jutottam vele: delt.h tartalma #ifndef DELT_H_INCLUDED #define DELT_H_INCLUDEDusing namespace std; #include <iostream> using namespace std; class deltoid { private: int atlo1; int atlo2; float arany; public: deltoid (); //deltoid (); void Beolvas(); void Kiir(); int Oldalak (int o1, int o2, float a); int Kerulet (int k); }; #endif // DELT_H_INCLUDED delt.cpp tartalma #include "delt.h" using namespace std; deltoid::deltoid(){ atlo1=0; atlo2=0; arany=0; }; void deltoid::Beolvas (){ int sv; float sv2; do{ cout <<"Kerem az e atlot: "; cin >> sv; atlo1=sv; }while (atlo1<=0); do{ cout <<"Kerem az f atlot: "; cin >> sv; atlo2=sv; }while (atlo2<=0); do{ cout <<"Kerem az aranyt: "; cin >> sv2; arany=sv2; }while (arany<=0 || arany >=1); } void deltoid::Kiir () { cout <<"\n A deltoid e atloja: " << atlo1 << endl; cout <<"\n A deltoid f atloja: " << atlo2 << endl; cout <<"\n Az atlok keresztezesenek aranya: " << arany << endl; } int deltoid::Kerulet (int k) { k=((atlo1*atlo2)/2); cout << " A deltoid kerülete: " << k << endl; return k; } int deltoid::Oldalak (int o1, int o2, float a) { a=0; a=atlo1/arany; return a; } main.cpp #include "delt.h" using namespace std; int main () { deltoid a; a.Beolvas(); a.Kiir(); return 0; }; A program ugyan helyesen lefut és kéri a 2 átlót valamint az arányt. De a feladatokat azt nem akarja kiírni. Meg tudnátok mondani, hogy mi a helyes módja ennek? Nagyon fontos lenne. Elõre is köszönöm a fáradozását annak, aki segít. Kérlek, használj ékezeteket! <KGigi>
KGigi Posted May 23, 2010 Posted May 23, 2010 Ööö ez így elég érdekes: #define DELT_H_INCLUDEDusing namespace std; Az a csoda, hogy ez így lefordult. Biztos vagy benne, hogy nem írja ki az eredményt? Nem csak bezáródik a konzol? Az oldalak és a kerület függvényed mit csinál? Milyen paramétereket kapnak? Egyébként a beolvasásod elszáll, vagy értelmetlen számokat olvas be, ha nem számot írsz be, vagy pl. 5 helyett 5.0-t. Persze, hogy nem kapsz gyakjegyet, ha nem adod le. Már a múlt hét sem szorgalmi időszak volt.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Azt a kod reszlet amit belinkeltel a codeblocks magatol rakja bele. Bocsi az ekezetekert, de cseh billentyuzeten ezt nem tudom kivitelezni. Az oldalak fuggveny az oldalakat fogja majd kiszamitani, de ott egyelore a kodban meg csak az e atlo kisebbik felet szamolom ki. Tudod kis haromszogekbol es pitagorasztetelbol megvannak a deltoid oldalai. De azt meg nem irtam oda. A kerulet fuggveny pedig a deltoid keruletet hivatott kiszamolni. Az ablak nem csak magatol zarodik be. Rendesen megadom az adatokat es aztan vissza kiratom a kepernyore. De utana nem kapom meg a Kerulet fuggveny eredmenyet.
KGigi Posted May 23, 2010 Posted May 23, 2010 #define DELT_H_INCLUDED using namespace std; Ez két utasítás, annak, ami ott van, semmi értelme. A CodeBlocks ezt biztosan nem csinálta, valószínűleg ki lett törölve egy sor, és ez lett belőle. Javítsd ki, aztán meglátjuk, hogy mit csinál. A kerulet() és oldalak() metódusoknak miért adsz paramétert? Minden ott van az osztályban, amire szükséged van. Ráadásul megint szembemész a konvenciókkal, ha egy paraméterül kapott változót meg akarsz változtatni, akkor referencia szerint add át, ha pedig nem, akkor konstansként, és ne szerepeljen értékadás bal oldalán. Ha paramétereken keresztül akarsz értéket visszaadni, és nem visszatérési értékként, akkor is referencia szerint kéne átadnod. Így nem lehet tudni, hogy mit is akarsz. Ráadásul az oldalak függvényed egészet adna vissza, a te 'a' változód viszont lebegőpontos. Figyelmeztet is rá a fordító, ezeket nem kéne figyelmen kívül hagyni. Egyébként nálam kiír mindent, nem tudom, mit csinálsz. Ha a kerület függvényre gondolsz, azt nem is hívod meg sehol. Direkt CodeBlocks-szal fordítottam.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 A floatert nalam is szolt a fordito. De a kerulet fuggvenynel nem, mig csak az volt. A Terulet() fg-t a main-ben a.Terulet() -el hivom meg es így jo. Most vettem eszre a kerulet a terulet akart lenni. Igazad volt azzal a sorral kapcsolatban. Ott veletlenul egy soran maradtak a dolgok. Azt nem is vettem eszre rogton mikor eirtad Itt van a valtoztatas most ugyan lefordul. int deltoid::Terulet () { int t; t=((atlo1*atlo2)/2); cout << " A deltoid kerülete: " << t << endl; return 0; } float deltoid::Oldalak () { float a,b,o1,o2; a=atlo1/arany; b=atlo1-a; o1 = ((a*a)+(b*b)); return a; }
KGigi Posted May 23, 2010 Posted May 23, 2010 Ezt miért így csinálod? Inkább így: int deltoid::Kerulet () { return (atlo1*atlo2)/2; } Aztán csinálsz egy ilyet: cout << "A deltoid kerülete: " << a.Kerulet() << "." << endl; Sokkal átláthatóbb, hogy mit csinálsz, és te sem őrülsz bele a hibakeresésbe. Az Oldalak függvényben mit akarsz csinálni? Az o1, o2 lokális változókat mire használod? Mert vissza nem adod őket, az o2 pedig értéket sem kap.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Az o1 lenne a rovidebbik oldala az o2 pedig a hoszabbik oldala a deltoidnak.
KGigi Posted May 23, 2010 Posted May 23, 2010 De akkor miért nem adott vissza õket? Akár visszatérési értékként, akár paraméterként.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Az e atlonak, tehat az atlo1nek megvan a ket resze ami az a es a b valtozo. Az o1-et kiiratom kepernyore, hogy lassam mit ad ertekul, csak ide nemm kerult bele a kodba. btw hogy tudom a cosinust es a sinust hasznalni a kesobbiekben a szogek kiszamitasara? Nem igazan fordult meg elo, persze biztos,hogy 1-2szer igen. de nem jut eszmbe. Az atlo2 csak siman felezve van az atlo 1el 2 egyenlo reszre, ugye?
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Tehat most így nez ki az oldalak fuggveny. Majd ha kesz van minden szamitas akkor szepitem ahogy azt az elobb ajanlottad is sinus, cosinus megvan. ugye kiszamolom pl sinusszal a szog szemkozti befogo per az atfogo erteket ez szinusz Alfa. De ebbol, hogy lesz meg nekem az alfa. Kodban, hogy hasznaljam? Az atlo1 felosztasa sem jo. Mert ugye elosztom az arannyal es abbl kijon 3 cm eseten, ha 0.75 az arany, hogy 4. Azt, hogy kellene helyesen kiszamolni, hogy az atlo1et mileyn hosszu reszekre osztja az atlo2 ? float deltoid::Oldalak () { float a,b,o1,o2, x; a=atlo1/arany; b=atlo1-a; x=atlo2/2; o1 = ((a*a)+(x*x)); o1 = sqrt(o1); o2 = ((b*b)+(x+x)); cout << "\nAz a oldal: " << o1 << endl; cout << "\nA b oldal: " << o2 << endl; return 0; }
KGigi Posted May 23, 2010 Posted May 23, 2010 #include <math.h> Ebben a fejállományban találod a trigonometrikus függvényeket. Float paramétert várnak radiánban. Egyébként Google első találat... Rajzolj már le egy deltoidot, egyből látszik. Túlbonyolítod.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Lerajzoltam a deltoidot de akkor sem vagyok benne bizos. A math-h pedig hasznalom mert ugye kell a pitagorasz tetelhez, hogy gyokotvonjak. Csak nekem az kell, hogy hogy lesz meg a sin L egyenlo b/c-bol az L.
KGigi Posted May 23, 2010 Posted May 23, 2010 Ööö 1) minek az neked, 2) tg alfa = sin alfa / cos alfa.
Fujitsu Posted May 23, 2010 Posted May 23, 2010 Csakhogy kell tan-1 t csinalni azt nem vagom. Úgy hívják, hogy arcus tangens, atan néven fut.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Ööö 1) minek az neked, 2) tg alfa = sin alfa / cos alfa. Nem tan-1et akartam irni. Azert, hogy ki tudjam szamolni a szogeket. Tudod derekszogu haromszogben. Es mivel a szoget kell kiszamolni es a szog sinuszanak az erteke a befogo meg az atofogo hanyadosa, van megadva. Es ugye nekem nem a szog szinusza hanem maga a szog kell.
KGigi Posted May 23, 2010 Posted May 23, 2010 Jah, hogy arcus tangens. Bocs, én azt hittem, hogy tg -1 kell neked... Egyébként át lehet hidalni pl. egy koszinusztétellel. Oké, hogy nincsen ékezeted, de attól még lehet normálisan írni.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Nem hiszem, hogy nem normalisan irnek Most mi ezen a nem normalis. Lehet picit erzodik, hogy kapkodok, de hat szerintem te is voltal mar ilyen szituacioban.
KGigi Posted May 23, 2010 Posted May 23, 2010 Pl. szituációban, és nem szituációba. Az egyik legnagyobb igénytelenség, amit magyarul el lehet követni. De alapvetően tele van elgépelésekkel. Egyébként nem, nem voltam hasonló helyzetben, soha nem csúsztam beadandóval. Heteket főleg nem. Szerencséd van, engem simán megvágtak volna a szorgalmi időszak végével, ha nem adom le. És jogos is lett volna, ez nem olyan nagy munka. Majd a grafikus programokra kellenek napok. Ez 1-2 óra alatt simán megírható. Amikor tanultam, akkor sem volt soha több egy délutánnál.
BearVsMan Posted May 23, 2010 Posted May 23, 2010 Jo neked, hogy így vagod a programozast. En nem az a zseni programozo vagyok. Az elgepelesert bocsanat. Netbookot hasznalok eloszor eletembe es utalom nagyon, raadasul olyan kicsik a betuk, hogy alig latom. A nyelvezetre hidd el mindig megprobalok odafigyelni.
KGigi Posted May 24, 2010 Posted May 24, 2010 Az egyetem elõtt kiírattam 1-tõl 10-ig a számokat a képernyõre, ez volt a programozás. Szóval azt tudom, amit az ELTÉ-n megtanítottak, illetve amit meg kellett volna tanítaniuk, de csak számonkérték.
payskin Posted May 24, 2010 Posted May 24, 2010 (off) Pont ma délelőtt találtam egy marha jó kis oldalt: webdevRefinery. Gyakorlatilag egy fórum, ahol fejlesztők segítenek fejlesztőknek. A regisztráció előtt van egy kis útbaigazítás a fórum 3 alapszabályáról: Rule 1: Mean Devs Suck. We're patient with folks here, and always encouraging. We hope you are too . We'll ask people to leave if they talk down to others or discourage them, but we really hate doing that. So only get involved if you can stay cool! Rule 2: Google first, ask questions later! Folks are genuinely happy to teach here, but you have to show that you're capable of helping yourself! If you have a question Google can answer, try Google first -- then tell us what you learned Rule 3: Use full words and punctuation. Some of you may be more comfortable with txt tlk, but a forum like this doesn't work unless everyone is easy to understand. No typing 'u' for 'you' or skipping the commas and periods, please Néha olyan jó viszontlátni, hogy nem vagyok egyedül ezekkel a gondolatokkal. (Lefordítsam?) (on)
BearVsMan Posted May 24, 2010 Posted May 24, 2010 Az egyetem elõtt kiírattam 1-tõl 10-ig a számokat a képernyõre, ez volt a programozás. Szóval azt tudom, amit az ELTÉ-n megtanítottak, illetve amit meg kellett volna tanítaniuk, de csak számonkérték. Na én tegnap megszenvedtem a dolgokkal. De legalább mostmár jobban értem így. Köszi a segítséget P.s: most már nem lesz gond az ékezetekkel
KGigi Posted May 24, 2010 Posted May 24, 2010 Ásd bele magad az osztályokba, ha legközelebb nem szeretnél így járni.
BearVsMan Posted May 25, 2010 Posted May 25, 2010 Muszáj leszek Még egyszer köszi az instrukciókat. Eddig mindig megcsináltam a házikat időben, csak most úgy gondoltam jobb egy 0-ás.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now