40
C++ HELP !!!
  • Dodo55
    #40
    Na igen, ez a float-int dolog nagyon gonosz a C/C++-ban, 3/2 ha így leírod az 1 lesz. Ellenben 3.0/2.0 az 1.5 ahogy kell.
  • kl24h
    #39
    Én ezt másképp tudnám megírni, mert ilyen formában idegennek tűnik, de azért amit látnék hibát benne, az az lenne hogy a T = a*a*sqrt(0.75), ez mit hogy hibás a képlet és a második, hogy az "a" értékének ha nem azdsz egész számot, akkor gond lehet, ezért jobb ha "float" lenne az "int" helyett, hasonlóképpen float T = a*a*sqrt(0.75)

    Én meg így írnám meg (DevC++ esetében):
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>

    int main()
    {
    float a, T;
    printf("A haromszog oldala: "); scanf("%f",&a);
    T = a*a*sqrt(0.75);
    printf("A haromszog terulete: %g",T);
    getch();
    }
  • Lord Magnus
    #38
    Sziasztok, lenne egy egyszerű kérdésem. Az lenne a program feladata, hogy egy egyenlő oldalú háromszög oldalát megadva kiszámítsa annak területét (m=gyök3/2*a, és ebből T=(a*m)/2. Nem tudom azonban, hogyan kéne (CodeBlocks, C++ természetesen) megírni azt, hogy gyök3/2*a.
    Így néz ki most a program, de nem működik.

    #include <iostream>
    #include <math.h>

    using namespace std;

    int main()
    {
    int a;
    cout <<"Add meg a haromszog egy oldalat!"<<endl;
    cin >> a ;
    int T=a*(sqrt 3/2) ;
    cout << T ;
    return 0;
    }

    Mi lehet a probléma?
  • vaczak
    #37
    pedig működik gyakorlatban is, effelől biztosithatlak.

    // valami.h :
    class Valami{
    // adattag és tagfüggvény deklarációk
    public:
    void Fuggveny();
    };

    // valami.cpp :
    #include "valami.h"
    void Valami::Fuggveny(){
    // függvénytözs def.
    }
  • Desiderata #36
    elvileg igen, de gyakorlatban nem akar működni
  • vaczak
    #35
    .h -ba teszed az osztály deklarációt, a .cpp -be pedig a függvény definiciókat (+ inculde)
  • Desiderata #34
    készítettem egy osztályt (valami.h), ezt szeretném két fordítási egységgé szétszedni (valami.h és valami.cpp) de sehogy nem jön össze
    tudna valaki segíteni?
  • zero_cool51
    #33
    Üdv mindenki. Lenne egy kis problémám.
    Hamarosan ZH-t írok programozásból, de egy-két kérdésre nem tudom a választ, a tanár meg semmilyen írott anyagot nem adott, amiből meg lehetne keresni a választ.
    A kérdések a következők:
    Honnan tudják egy osztály tagfüggvényei, hogy éppen melyik példány adattagjain dolgoznak?

    Hol helyezkedik el a formális paraméterlistában a this mutató és milyen a típusa?

    Mit helyettesít a this az alábbi értékadásban?
    gomb = new TSpeedButton( this ) ;

    Milyen használati előnye van az alapértelmezett paraméterek használatának?

    Az alapértelmezett paramétereket (is) tartalmazó formális paraméterlista tervezésekor, hol célszerű szerepel-tetni az alapértelmezettnek szánt paramétereket?

    Melyik tagfüggvény végzi a konstans adattagok kezdőérték beállítását?

    Milyen a konstans adattagok esetén használt taginicializáló lista szintaxisa?

    Kösz előre is.
  • Palinko
    #32
    értem. a pdf re nincs ráírva :(
  • CAD
    #31
    "Változók deklarálás mindig a fügvény elején(vagy program elején) történik és nem közbe!!"

    Ez teljesen hulyeseg. Annyi megkotes van C++-ban, hogy a neveket az elso hasznalat elott be kell vezetni, azaz deklaralni kell. Bizonyos esetekben pedig definialni is.

    "És fontos hogy a változó tipusa azonos legyen a bele helyezendő adat tipusával(vagyis char answer = 0, helytelen mert azt mondod karakter tipusu a változó, és egy egésszel töltöd fel"

    Ez sem teljesen igy van. Vannak C++-ban un. implicit konverziok, pl a fenti pelda teljesen helyes, mert a nulla implicit konvertalodik karakterre.

    Palinko: azt a konyvet ne hasznald. Ra is van irva, hogy halado / kozephaladoknak szol. A mellekelt abra pedig azt mutatja, hogy te egyiksegm vagy. Hasznalj olyat ami kezdoknek keszult, az inkabb egy referencia konyv.
  • Palinko
    #30
    útközben rájöttem,hogy akönyv 90 oldala felé lesznek jobban az alapok,most az elején még ilyen kis példák vannak.

    ezt a könyvet hasnzálom,nagy bírkózás ezzel kezdeni,de ha előtte már van az embernek egy icipici előtudása és egy barátja aki már előrébb van akkor ezzel is tanulható. remélem majd ahldok vele és valószínőleg még írok ide gondjaimről :)
  • Falabu #29
    Változók deklarálás mindig a fügvény elején(vagy program elején) történik és nem közbe!! És fontos hogy a változó tipusa azonos legyen a bele helyezendő adat tipusával(vagyis char answer = 0, helytelen mert azt mondod karakter tipusu a változó, és egy egésszel töltöd fel). Jahh és ez csak egy függvény a program a main függvényt hívja meg elsőnek ha nincs nemfog működni. Lentebb leírtam az általam helyesnek vélt kódot(bár lehet van benne hiba, rég nemcsináltam ilyet:D, de a tematika ez, a szabályokat bekell tartani)

    #include <string>
    #include <iostream.h>

    bool accept()
    {
    char answer;

    cout <<"Do you want to proceed(y or n)?\n"<<endl;

    cin >> answer;

    if(answer == 'y')
    return 1;
    else
    return 0;
    }

    int main()
    {
    bool valasz;

    //a valasz valtozoba toltjuk az accpet függvény vissztérési értékét(0 vagy 1)
    valasz = accept();

    return 0;
    }
  • Palinko
    #28
    using namespace std;
    ez a sor kellett az #include k alá,hogy működjön. én egy könyvből tanulok és onnan másoltam be a példákat,szóval fogalmam nincs,hogy miért nincs az a lezárás és a min fügvény...
    és most jön a klasszikus kérdés amit eddig csak c re találtam meg a megoldást. szóval hova illeszem be és milyen kódot,hogy ne csukódjon mindjárt be az alakalmazás? monsjuk ctrl+q val lehessen becsukni a programot azty jó lenne megcsinálni :)
  • Evin
    #27
    Ja és hol a Main függvény, annak mindig kell lennie.
    Én úgy tanultam, hogy mindig az fordítódik le először.
  • Evin
    #26
    Már rég használtam a c++-t, de a cout-ot nem kellene lezárni?
    És van 1 Return. Ok, de minek adja vissza, és milyen típusú?

    Talán így jó lesz:
    #include <iostream>
    #include<string>

    bool accept()
    {
    cout<<"Do you want to proceed(y or n)?\n"<<endl;

    char answer=0;
    cin>>answer;

    if(answer=='y')
    answer="true";
    else answer="false";

    }
  • Palinko
    #25
    Dev -C++ t használok,de nem értsük egymást... mondjuk itt ez a kód:
    #include <iostream>
    #include<string>

    bool accept()
    {
    cout<<"Do you want to proceed(y or n)?\n";

    char answer=0;
    cin>>answer;

    if(answer=='y')return true;
    return false;

    }

    és nem fordítsa le,mert:

    C:\Documents and Settings\Sly Thug\Desktop\ford\main.cpp In function `bool accept()':
    6 C:\Documents and Settings\Sly Thug\Desktop\ford\main.cpp `cout' undeclared (first use this function)
    (Each undeclared identifier is reported only once for each function it appears in.)
    9 C:\Documents and Settings\Sly Thug\Desktop\ford\main.cpp `cin' undeclared (first use this function)
    C:\Documents and Settings\Sly Thug\Desktop\ford\Makefile.win [Build Error] [main.o] Error 1
  • Fityfirity
    #24
    Át lehet állítani:
    Eszközök / Gyorsbillentyűk Konfigurálása:
    itt megkeresed, hogy hol van az AltGr+, nyomsz egy ESC-et és ezt megcsinálod az AltGr+. - ra is.
    És kész. Ennyi.
  • CAD
    #23
    Ez latod pont nem DC topic, hanem C++...
  • Dewyd
    #22
    Hi all!Ki az aki strong dc-t használ?
  • CAD
    #21
    Vagy allj at angol kiosztasra (en ezt javaslom), vagy definiald at a gyorsbillenytuket (oda ugyanis pont egy gyorsbill. van kiosztva).
  • Loogan
    #20
    Kösz. De én vmi ilyesmire gondoltam, mint ami a DEV-C++, kicsi, free, egyszerű, csak működjön benne a ;. Kb 2 nap míg megszerzem az MS VS.Net-et. :(((
    Az ALTGR+, kombináció nem műxik DEVC++ alatt nálam. :(((
    Baromi zavaró, hogy nem az ALTGR+,-vel kell a pontosvesszőt. Benne van az ember kezében. Most CTRL+V-zek. :-))))
  • Admiral
    #19
    Én a Microsoft Visual Studio .NET 2003-at javaslom.

    A pontosvesszőről: próbáld ki az ALTGR-, kombinációt, én úgy szoktam írni a pontosvesszőt.
  • Loogan
    #18
    Szevasztok!
    Tud nekem Vki mondani egy értelmes C++ fejlesztői környezetet Windows alatt? A DEV-C++ -t próbáltam ki, de nem enged ; (pontosvesszőt) írni. Az meg azért mégiscsak kéne :-)))) (Illetve engedi, ha egy üres lapon az a legelső karakter, de aztán semmit.)
    Linux alatt nem lenne ilyen problémám, csak most nincs fél napom telepítgetni. :-|
    Előre is kösz.
  • drob
    #17
    Köszi!
    átadtam a feleségemnek az infót (Ő tanulja), ha gondja lenne még zavarnálak majd.
  • Admiral
    #16
    Hmm az okos forum engine kiszedte az [ i] -ket...

    if ( T( Sorozat[ i]) )
    printf( "%d", Sorozat[ i]);
  • Admiral
    #15
    void Csere( int *a, int *b)
    {
    int c;

    c = *a;
    *a = *b;
    *b = c;
    }

    #include <stdio.h>

    void Kivalaszt( int *Sorozat, int Count)
    {
    int i;

    for (i=0; i<Count; i++)
    {
    if ( T( Sorozat[i]) )
    printf( "%d", Sorozat[i]);
    }
    }
  • drob
    #14
    Sziasztok!
    Tudna valaki segíteni nekem kettő apró (számomra nem) feladat megoldásában?
    Az egyik a következő lenne: 2 elem cseréje
    Második: Van egy számsorozat. Van egy T nevű tulajdonság, és azokat az elemeket válassza ki a sorozatból, amik rendelkeznek a T tulajdonságaival
    Fontos lenne, előre is köszi!
  • CAD
    #13
    Olvass el eloszor egy konyvet... mert ha nem ismered az eszkozoket, akkor nem meglepo, hogy lovesed nincs, hogy kellene elindulni!

    Ha van valami konkret kerdesed, akkor abban szivesen segitunk szerintem... de ez igy nem fairplay.
  • ffxi
    #12
    Ne legyetek már ilyenek! De nem is konkrét kódolásról van szó, de még jó jönne a pszeudókód is. Az a helyzet, hogy meló mellett csinálom ezt és nincs sok időm, de ha vki tudna segíteni pszeudókóddal. Még az is kihívás nekem, de már lenne kiinduló pontom és azon elmélkedem és meg fogom látni a logikáját. Köszi a megértést
  • CAD
    #11
    ffxi: altalaba nem szoktak dijazni, amikor masokkal akarja valaki a hazijat megoldatni. Ha valami konkret kerdesed van, akkor szivesen segit szerintem barki, de megoldani nem fogja senki... az a te dolgod.

    ui: Olvass el valami Cpp konyvet, valami osszefoglalo szeru stuffot, mondjuk osztalyokig. Aztan kezdj el gondolkozni az alabbi probleman.
  • bunkolaja
    #10
    Tessék gondolkodni. Egy ciklusba kell a beolvasás-ellenőrzés-számolást beletenni.
  • ffxi
    #9
    A köv. feladat lenne a gond köszi előre:
    Olvassunk be 5 db pozitív egyjegyű számot a billentyűzetről! Ellenőrizzük,
    hogy csak pozitív egyjegyű számot fogadjunk el! Ha hibás számot ad meg, kérjük be
    újra! A program végén, írjuk ki hány számot olvastunk be összesen!

  • CAD
    #8
    En kezdesnek megis a DevCpp egyik valtozatat ajanlanam, mert egyszeru atlathato... A VS2003 sztem teljesen felesleges elso, de meg masodik nekifutasra is.

    Konyvet... hmm, hat egyik fejleszokornyezethez, a Borland stuffjahoz van egy kivallo kis konyv, amely a C++ ANSI/ISO `98 szabvany szerinti "referenciat" tartalmazza... kb 130 oldalba osszefoglalva a nyelv minden aspektusat, termeszetesen csak az alapok alapjai :) - de indulasnak kivallo, ha mar ezeket elsajatitottad, akkor mar nagyon konnyeden tudsz barmerre nyitni!

    Keress meg emailben...
  • repvez
    #7
    Az MS visual studio 6 proffessional megvan, de még azt nem használtam tul sok menüje volt a devc-hez képest nem nagyon igazodtam ki rajt.Egyébként azzal könnyebb lenne a problémámat megoldani?Egy kis kiindulási segitség jol jönne,mert eddig mindenki csak a leirásokkal kapcsolatba szolt hozzá más forumokon is,ami nem baj(mindig jol jön egy plusz irás), csak attol a problémám nem oldodik meg.Szoval a lenti probléma az egy kicsit fontosabb.
  • DrDebreceniL
    #6
    Eredetileg igen, fizetős, de a Magyar állam és a Microsoft közötti ún. Campus-szerződés keretében a magyar felsőoktatásban résztvevő hallgatók és tanárok hozzájuthatnak egy sok CD-s csomaghoz gyakorlatilag ingyen (5000 Ft, és ebben van jogtiszta Windows XP, Visual Studio .NET 2003, MSDN 2003, Office 2003, FrontPage, stb.).

    Bővebb információ:
    Campus szerződés

    Innen egyetemi IP-címmel (vagy megfelelő egyetemi proxy-kiszolgálón keresztül) ingyen is letölthetőek a kívánt szoftvercsomagok.
  • nemcsakfeel
    #5
    a dotnet véletlenül nem fizetős fejlesztő környezet?
  • DrDebreceniL
    #4
    Én DevC++ 4 helyett Visual Studio .NET 2003-at javaslok.

    Magyar nyelvü leirások leginkább az egyetemek portáljain találhatóak, például http://aut.bme.hu, vagy http://iit.bme.hu
  • repvez
    #3
    Üdv!Van egy hatalmas problémám, hogy készitettem egy egyszerü programot ami képleteket számol ki és ezt szeretném kiböviteni ugy , hogy az eredményeket grafikusan is ábrázolja egy koordináta rendszerben.Az egyik képlet eredménye lenne az X, a másiké pedig az Y tengely.És mindezt olyan formán kéne velem közölni hogy megértsem, mert nem tudok angolul és az összes parancs amit c++ bol ismerek az a "cin", " cout" és az "if" ((! Ja egyébként ha valaki tudna ajánlani olyan leirást ill. könyvet amiböl egy egyszerü halando minden elöképzettség nélkül eltudná sajátitani a c++ nyelvet azt megköszönném.Egyébként DevC++4-et probálok használni.