Ndihme!!! Me c++

Diskutime tek 'Programimi' filluar nga shkopi, 16 Nov 2002.

  1. fitims

    fitims Primus registratum

    Re: Ndihme!!! Me c++

    Shiqo kodin me poshte:

    Code:
    // deklarimi i klases
    class x
    {
    private:
        char* ch1;
    public:
        x(char* );
        x(void) { x(""); }
    	
        char* display(void);
    };
    
    
    // implementimi i klases
    x::x(char* nm)
    {
        ch1 = new char[20];
        strcpy(ch1, nm);
    }
    
    char* x::display(void)
    {
        return ch1;
    }
    
    
    // testimi i klases
    char* t;
    x var1("fitim");
    	
    t = var1.display();
    printf(t);
     
  2. ludwig

    ludwig Primus registratum

    Re: Ndihme!!! Me c++

    x var1("fitim"); //therret menjehere contructorin x::x(char*); dhe ky punon ne rregull. var1::ch1 eshte ne rregull.

    x var1; //therret contructorin x::x() dhe ky therret contructorin x::x(char*) me vleren "". eshte ky rasti qe nuk punon.

    provo te njejtin kode qe ke shkruajtur por me implementim(beje ch1 public):

    x var1; //
    strcpy(var1.ch1, "str"); //meqenese var1::ch1 nuk eshte e vlefshme do te japi gabim ne runtime sepse strcpy() kerkon te shkruaj ne nje vend memorje jo te vlefshme.

    nqs ben debug gjat 'x var1;' thirret contructori x::x(char*) krijohet ch1 si new char[20](me adrese te rregullt) por pasi constructori kthehet var1::ch1 eshte e pavlefshme. eshte njesoj sikur ch1 = new char[20] te mos ishte ekzekutuar.
     
  3. gurax

    gurax Pan ignoramus

    Re: Ndihme!!! Me c++

    Nuk e di se cfare por kerkohet te behet, por une kompilova kete version:
    Code:
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    class x {
            private:
                    char* ch1;
            public:
                    x();
                    x(char*);
                    char* showme(void);
                    void append(char*);
                    
    };
    
    x::x() {
            printf("krijim defaultn");
            ch1 = (char*)calloc(20,sizeof(char));
            strcpy(ch1,"");
    }
    
    x::x(char* s) {
            printf("krijim me inicializimn");
            ch1 = (char*)calloc(20,sizeof(char));
            strcpy(ch1,s);
    }
    
    char* x::showme(void) {
            puts(ch1);
            return ch1;
    }
    
    void x::append(char* s) {
            strcat(ch1,s);
    }
    
    int main() {
    
            x a;
            x b("test");
            x c(b.showme());
    
            printf("nn Pas krijimit te variablave...nn");
    
            
            printf("a= ");
            a.showme();
            printf("b= ");
            b.showme();
            printf("c= ");
            c.showme();
            
            a.append(" shtesA");
            b.append(" shtesB");
            c.append(" shtesC");    
    
            printf("nnn");
    
            printf("a e re = ");
            a.showme();
            printf("b e re = ");
            b.showme();
            printf("c e re = ");
            c.showme();
            printf("nFundn");
    }
     
    Dhe output perkates me doli si me poshte:

    Code:
     
    gurax@saturn5:$ ./a.out 
    krijim default
    krijim me inicializim
    test
    krijim me inicializim
    
    
     Pas krijimit te variablave...
    
    a= 
    b= test
    c= test
    
    
    
    a e re =  shtesA
    b e re = test shtesB
    c e re = test shtesC
    
    Fund
     
    -------------
    "Have I told you lately..."
     
  4. ludwig

    ludwig Primus registratum

    Re: Ndihme!!! Me c++

    po kerkohet te bashkohen dy contruktore ne nje:

    Code:
    x::x() {
            printf("krijim defaultn");
            ch1 = (char*)calloc(20,sizeof(char));
            strcpy(ch1,"");
    }
    
    x::x(char* s) {
            printf("krijim me inicializimn");
            ch1 = (char*)calloc(20,sizeof(char));
            strcpy(ch1,s);
    }
    dy contruktoret jan afersisht te njejt prandaj mund te shkruhet (ne teori):

    Code:
     
    x::x(char* s){.......}
    x::x() {x("");}
     
    // perdorimi

    x var1; //var1::ch1 nuk eshte e vlefshme (zere se nuk ke ekzekutuar asnjehere ch1 = (char*)calloc(20,sizeof(char));

    ku version megjithse kompilohet ne rregull nuk punon
    ne kete menyre kursen ca linja kodi. jo se ben ndonje ndryshim te madh po prape...
     
  5. Enion

    Enion Primus registratum

    Re: Ndihme!!! Me c++

    O popull a ka njeri qe me ndihmon mua???
     
  6. fitims

    fitims Primus registratum

    Re: Ndihme!!! Me c++

    Shiqo kodin:

    deklarimi i klases:
    -------------------
    Code:
    class Float
    {
    private:
        float value;
    public:
        Float(void);
        Float(float f); 
    
        void Initialise(float f);
        void Initialise(Float f);
        void Add1(Float a, Float b);
        Float Add2(Float a);
        float Value();
        Float operator+(Float& b);
        Float operator-(Float& b);
        Float operator*(Float& b);
        Float operator/(Float& b);
    };
    Implementimi i klases:
    ----------------------
    Code:
      
    Float::Float(void)
    {
        value = 0.0;
    }
    
    Float::Float(float f)
    {
        Initialise(f);
    }
    
    
    void Float::Initialise(float f)
    {
        if((f < -20000.0) || (f > 19999.0))
        {
    	printf("Invalid value. Value can be between -20000 and 19999");
    	value = 0;
        }
        else
    	value = f;	
    }
    
    
    void Float::Initialise(Float f)
    {
        value = f.Value();
    }
    
    
    void Float::Add1(Float a, Float b)
    {
        value = a.Value() + b.Value();
    }
    
    
    Float Float::Add2(Float a)
    {
        return Float(value + a.Value());
    }
    
    
    float Float::Value()
    {
        return value;
    }
    
    
    Float Float::operator+(Float& b)
    {
        return Float(value + b.Value());
    }
    
    
    Float Float::operator-(Float& b)
    {
        return Float(value - b.Value());
    }
    
    Float Float::operator*(Float& b)
    {
        return Float(value * b.Value());
    }
    
    Float Float::operator/(Float& b)
    {
        return Float(value / b.Value());
    }
    Testimi i klases:
    -----------------
    Code:
      
    Float a(3.), b(5.), c, d;
    c.Add1(a,b);
    d = a.Add2(b);
    
    d = a + b;
    d = a - b;
    d = a * b;
    d = a / b;
     
  7. Enion

    Enion Primus registratum

    Re: Ndihme!!! Me c++

    Fitmis me fal me vonesen por nuk kam qene fare ne shtepi ngaqe kam qene tek nje shoke. Te falenderoj shume.
     
  8. gurax

    gurax Pan ignoramus

    Re: Ndihme!!! Me c++

    Ludwig.. ne fakt s'di te te kthej pergjigje per ate variant qe me the.
    Por nje variant mund te ishte qe:

    Code:
     
    class x {
    // ...
     private:
       initfunc(char *); //praktikisht merret ky me inicializimet
     public:
       x();
       x(char *);
    // ...
    };
    
    x:x() {
      initfunc("");
    }
    
    x:x(char* rresht) {
      initfunc(rresht);
    }
    
     
    Sec ka ca diferenca midis overload, override dhe kur njera ka precedence mbi tjetren.
    Sidoqofte une do te preferoja menyren me funksion privat inicializimi. Pjeses publike, ne te dy versionet e klases i paraqitet e njejta interface, nderkohe qe versioni i dyte eshte edhe me i lexueshem dhe me i kuptueshem nese pas nje viti do te te duhej t'i riktheheshe per revizion.


    ------------
    "Have I told you lately..."
     
  9. ludwig

    ludwig Primus registratum

    Re: Ndihme!!! Me c++

    Faleminderit Gurax, si perfundim ashtu e lashe.

    shendet
     
  10. ludwig

    ludwig Primus registratum

    Re: Ndihme!!! Me c++

    Kush me thote ku mund te gjej nje program (routine) solid per perllogaritje numerike integralesh ne C/C++? Me duhet kodi. Sa me i sakte aq me i mire.

    Nuk besoj se do gjesh nje code te tille ne ato site qe japin source code falas. Eshte e veshtire te besh nje gje te tille, megjithate varet per c'fare e do. Nqs e do me perafersi mund ta besh edhe vet nje te thjesht duke gjetur siperfaqen e funksionit prere me (x). Por per disa funksione do kesh nje rezultat teper large atij te vertetit. Po e bere keshtu perdore abs(). Me menyren si thashe une me larte integrali(sin(x))midis 0 dhe 2PI = 0 ne vend te: 2*integrali(sin(x)) midis 0 dhe PI.

    shendet
     
  11. gurax

    gurax Pan ignoramus

    Re: Ndihme!!! Me c++

    U kujtova me shume vonese per te bere nej pyetje si kjo, por sidoqofte:

    Perdor njeri Borland C++ Builder? Nese jo, ne favor te kujt e kane lene pas dore? Perfundimisht te tere jane te bindur qe C++ = MS C++ " ?

    Kuriozitet.


    ------------
    "Have I told you lately..."
     
  12. 109UV

    109UV Primus registratum

    Re: Ndihme!!! Me c++

    une personalisht kam perdorur Borland Turbo C (por jo Borland C++) ne mesjete po qe atehere perdor VS C++ per MS environment ose gcc per Linux/Solaris.
     
  13. ludwig

    ludwig Primus registratum

    Re: Ndihme!!! Me c++

    Une perdore MS VC++. Borland nuk me pelqen per shkak te dependencies edhe faktit qe eshte si MS VBASIC qe une e urrej.
     
  14. POMPACIU

    POMPACIU Forumium praecox

    Re: Ndihme!!! Me c++

    Per te apasionuarit e C++ si dhe per ata qe kane deshire te mesojne me teper mbi kete gjuhe programimi ju sugjeroj kete faqe:

    http://www.cplusplus.com
    (ne gjuhen angleze*)

    http://www.cpp-home.com
    (ne gjuhen angleze*)
     
  15. Rima

    Rima Primus registratum

    Din ndokush rreth programimit me objekte ne gjuhen C++ ?

    Une kam njohuri rreth kesaj gjuhe por nuk di te programoj me objekte, nese din ndokkush te me tregoj dicka apo te me sygjeroj dicka !!!1
    Ju faleminderit
     
  16. ladio

    ladio Primus registratum

    Re: Din ndokush rreth programimit me objekte ne gjuhen C++ ?

    Nuk e besoj qe dikush mund te te mesoje ty OOP me nje apo dy pergjigje ne kete forum. Per OOP ka shume libra, keshtu qe shko tek google edhe kerko per ndonje. Me duket se kam edhe une disa ne PDF, po i deshe me jep email te ti dergoj.

    Fat te mbare,
    cheers,
    mySteRioUs
     
  17. Rima

    Rima Primus registratum

    Re: Din ndokush rreth programimit me objekte ne gjuhen C++ ?

    Tung
    Une e di qe askush nuk mundet te me spjegoje per kete programim por vetem se desh te me udhezoje dicka te lexoj apo mos ka ndokush ndonje material
    Ju faleminderit
    Mund ti dergoni ne kete adrese:
    minci00@hotmail.com
     
  18. BomBoni

    BomBoni Primus registratum

    Re: Din ndokush rreth programimit me objekte ne gjuhen C++ ?

    Tung Rima,

    pasi ti paske njohuri nga gjuha programuse C++ te kisha preferu kete liber "the C++ programming language" nga krijusi i gjuhes Bjarne Stroustrup, kjo eshte adresa e Homepage autorit http://www.research.att.com/~bs/homepage.html. Aty ku une studioj preferohet edhe ky liber nese ti ke njohri te gjuhes "natyrore" gjermane "C++ - Lernen und professionell anwenden" nga autoret Ulla Kirch-Prinz dhe Peter Prinz. Perndryshe kerko literatur ne makinen kerkuse www.google.com aty mund te gjeshe edhe material qe ty te pershtatet me se miri. Vizito edhe forumet qe kane si teme kete gjuhe programuse.

    suksese nga bomboni
     
  19. LABI

    LABI Primus registratum

    Re: Din ndokush rreth programimit me objekte ne gjuhen C++ ?

    Nje liber i mire dhe 'free for download' eshte edhe
    Thinking in C++
    e Bruce Eckel.
    Adresa
    http://www.mindview.net/
    Eshte per te hedhur nje shingjete positive ndaj ketij autori. Eshte nga te paret qe per librat qe ka botuar mund te shkarkohen gratis nga interneti.
     
  20. Erald26

    Erald26 Primus registratum

    Mirmbrema. Pershendetje si po ja kaloni, nese mundeni pa ju bezdisur mund tme ndihmoni pak rreth kesaj detyre....

    Përcaktoni një klasë të quajtur sekuenca për të ruajtur stringje të renditur. Përcaktoni një konstruktor, një destruktor dhe funksionet anëtare të kësajt klase si më poshtë:

    1. Insert I cili shton një string të ri sipas pozicjonit në renditjen e duhur.
    2. Delete I cili fshin një string ekzistues.
    3. Find I cili kërkon një sekuenc për një string të dhënë, themi true nëse stringu gjendet në sekuenc dhe false në rast se jo.
    4. Print I cili printon sekuencën e stringjeve.
     

Shpërndajeni këtë faqe