Kentnisse nach den Schritten?



  • Mal ne etwas andere frage:

    ich bin grad am üben von c++!

    Wie würdet ihr die kentnisse einschätzen,die man hat, wenn man volkards und schornboecks tutorial durch hat, und auch alles versteht(zumindest halbwegs 😉 )!
    (nebenbei noch 2-3 andere tus)
    Würde mich mal interessieren...

    Wollte danach das Buch: C++ mit dem Borland C++ Builder lesen, weil ich den BCB habe!

    Kann ich danach dann sagen, das ich c++ schon RELATIV gut beherrsche?



  • Meiner Erfahrung nach kann man C++ praktisch kaum wenn man nur Buecher und Tutorials gemacht hat, weil man da doch ein Stueck weit gefuehrt wird. Aehnlich wie bei einer Fremdsprache, du kannst nach 2-3 Sprachkursen die Aufgaben in den Uebungsbuechern perfekt, aber zum Lesen der Tageszeitung oder Schreiben eines komplexen Briefes/Artikels reichts nicht. Da machts nur die Uebung. Wenn du die Tutorials durch hast dann denk dir Programme aus, die du gerne schreiben wuerdest (z.B. ne Client-Server-Anwendung wo der server was schreibt und alle Clients es lesen und wenn ein Client was schreibt dass der Server das bekommt und an alle Clients verteilt oder irgendsowas. Allein durch die Probleme, die du dabei bekommst, lernst du C++ relativ gut. Ich Programmiere C++ jetzt seit *gruebel* ueber 5 Jahren (aber nicht jeden Tag) und wuerde sagen, jetzt kann ich es relativ gut.

    Wie gesagt, ist wie bei einer Fremdsprache, die lernst auch nicht innerhalb von 2-3 Buechern, sondern durch langes Ueben und viel Anwendung. Denn zu "gut" beherrschen gehoert auch einen sauberen Stil zu haben und sich der Probleme bewusst zu sein, die diese und jene Funktion hat etc.

    so far

    Phil



  • naja....ich such mir schon immer übungen, die nich zum tutorial gehören, also die nicht auf den grad gelernten stoff eingehen!

    Das find ich relativ gut!

    Ich habe nur probleme mir selber übungen auszudenken.... 😞



  • Schau doch mal nach Programmierpraktika an Unis, da sind oft die Aufgaben im Netz und mit verschiedenen Schwierigkeitsgraden. An sonsten wenn du ne konkrete Richtung hast in der du gerne was ueben wuerdest findet sich hier im Forum sicher der ein oder andere mit ner guten Idee 😉



  • pli schrieb:

    Schau doch mal nach Programmierpraktika an Unis, da sind oft die Aufgaben im Netz und mit verschiedenen Schwierigkeitsgraden. An sonsten wenn du ne konkrete Richtung hast in der du gerne was ueben wuerdest findet sich hier im Forum sicher der ein oder andere mit ner guten Idee 😉

    Die Uniaufgaben find ich teilweise blöd....hab aber schon paar gemacht, sind aber eben auch nicht so viele 😕

    Aber mit aufgaben ausm forum könnt ich mich anfreunden, wenn sich da jemand bereit erklärt....



  • loese die aufgaben der SOI.
    => www.soi.ch

    danach kannst du sagen, ich kann schon etwas kleines machen.
    Wenn du die Aufageb durch hast, siehst du neue Probleme und Aufgaben.

    Ein gutes Buch:
    C++ / Die professionelle Referenz
    von Herbert Schildt
    Verlag: mitp
    ISBN: 3-8266-1367-8
    Kosten: 45 SFr / 26,95 Euro



  • ok danke, werde mich dran versuchen!

    Eigentlich wollte ich mir das Buch: C++ mit dem Borland C++ Builder holen....



  • also ich hab von der Seite mal die Aufgabe mit dem Puppen gemacht (den russichen)

    kannst mal sagen ob das so i.o ist?
    Funktionieren tuts..

    class Mat
    {
    //Klasse der Puppen, zum speichern der Eigenschaften
    public:
     void SetSize(int h,int w){height=h;width=w;}
     void GetIt()const{cout<<height<<" "<<width<<endl;} //nur zur eigenen Überprüfung,wenn Fehler auftritt
     int GetHeight(){return height;}
     int GetWidth(){return width;}
    private:
     int height;
     int width;
    };
    
    void swap(int &a,int &b)   //swap
    {
    int temp=a;
    a=b;
    b=temp;
    }
    
    void Eingabe(Mat *m,int size)        //Eingabe der Eigenschaften für Objekt
    {
     int h,w;
     for(int i=0;i<size;i++)
     {
      cout<<"Bitte Hoehe eingeben: "; cin>>h;
      cout<<"Bitte Breite eingeben: "; cin>>w;
      m[i].SetSize(h,w);          //setzen der Eigenschaften
     }
    }
    
    int Auswertung(Mat *m,int size)     //Puppen überprüfen
    {
     int max;
     int j=1;
     for (int i=0;i<size-1;i++)
     {
      if((m[i].GetHeight()+5<=m[j].GetHeight())&&(m[i].GetWidth()+5<=m[j].GetWidth()))
       {
       max=m[j].GetHeight();
       }
      else
       {
       cout<<"=("<<endl;
       return 0;
       }
      j++;
    }
    return max;   //größte Puppe zurückgeben
    }
    
    int main(int argc, char* argv[])
    {
    int freunde,h,w;
    int anzahl;
    bool sortiert;
    
    cout<<"Wieviel Puppen im Geschaeft: "; cin>>anzahl;
    cout<<"Wieviele Freunde wollen Sie beschenken?"; cin>>freunde;
    
    if(anzahl<freunde+1)
      cout<<"Nicht genuegend Figuren da"<<endl;
    else if(anzahl<2||anzahl>1000)
     cout<<"Zu wenig oder zu viele Puppen"<<endl;
    else
     {
     Mat* m=new Mat[anzahl];       //Objektfeld anlegen
     Eingabe(m,anzahl);            //EIngabe der Daten
     do                            //Groeßen sortieren
     {
      sortiert=true;
      for(int i=0,j=1;i<anzahl;i++,j++)
      {
       if(m[i].GetHeight()>m[j].GetHeight())
       {
       swap(m[i],m[j]);         //wenn folgendes element kleiner, dann tauschen
       sortiert=false;
       }
      }
     }
     while(!sortiert);
     cout<<"Groesste: "<<Auswertung(m,freunde+1)<<endl;
     delete[] m;  //nicht vergessen
     }
    getch();
    return 0;
    }
    //---------------------------------------------------------------------------
    

    keine warnungen etc...



  • Fuer einfach so, ist es gut.
    Wobei an der soi brauchst etwas complexere version.

    sonst okey.
    Versuche die STL zu gebrauchen (container) die sind schnell und gut.

    meine variante braucht nur etwa haelfte des deinen... (code)
    habe deque und stack verwendet.

    Ghost



  • STL hab ich mir noch nich angeschaut, habs mit meinem jetzigen wissensstand gemacht!


Anmelden zum Antworten