Anonymní profil Roman – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Roman – Programujte.comAnonymní profil Roman – Programujte.com

 

Příspěvky odeslané z IP adresy 158.193.98.–

juraj
C / C++ › program
24. 5. 2018   #221106

#include <iostream>
#include <vector>
#include <string>   /// potrebujes pre pracu s vectormi

using namespace std;

class Doska
{
  private:
      string Drevo;
      int RozmerX;
      int RozmerY;
      int Cena;
      int Obsah;

  public:
    Doska(){};
    Doska(string Drevo,int RozmerX,int RozmerY,int Cena,int Obsah=0)
    {
        this->Drevo=Drevo;
        this->RozmerX=RozmerX;
        this->RozmerY=RozmerY;
        this->Cena=Cena;
        this->Obsah=Obsah;
    }
    ~Doska(){};

    string vratDrevo()
    {
        return Drevo;
    }

    int vratRozmerX()
    {
        return RozmerX;
    }

    int vratRozmerY()
    {
        return RozmerY;
    }

    int vratCena()
    {
        return Cena;
    }

    int vratObsah()
    {
        return Obsah;
    }

    void nastavDrevo(string Drevo)
    {
        this->Drevo=Drevo;
    }

    void nastavCena(int Cena)
    {
        this->Cena=Cena;
    }

    void vypis()
    {
        cout<<Drevo<<"\t"<<RozmerX<<"\t"<<RozmerY<<"\t"<<Cena<<"\t"<<Obsah<<endl;
    }

    void vypocetObsahu()
    {
        Obsah=RozmerX*RozmerY;

    }

     void zmenCenu()
        {
            if(Cena < 20)
                {
                    Cena = Cena;

                }
            else
            {
                Cena=(Cena/100)*100;

            }

        }
};

int main()
{
  Doska *Doska1 =new Doska("Buk",5,10,20);
  Doska1-> vypis();  //dynamicky

  Doska Doska2 ("Dub",20,20,40);
  Doska2.vypis();

  vector <Doska> doska;

  doska.push_back(Doska2);

  doska.push_back(Doska("Jedla",11,12,25));
  doska.push_back(Doska("lipa",21,14,45));
  doska.push_back(Doska("pes",16,15,72));
  doska.push_back(Doska("macka",19,12,15));
  doska.push_back(Doska("audi",17,54,47));

cout<<"**********************************************"<<endl;

int velkost_vektora = doska.size();
for(int i = 0; i < velkost_vektora; i++)
    {
            doska[i].vypis();
    }
    cout<<"**********************************************"<<endl;
///  NEVIEM CO TO JE ALE MAS TAM CHYBU V TEJ PODMIENKE TI NIECO CHYBA
for(int i=0; i < velkost_vektora; i++)
{
    if(doska[i].vratCena() == 72)
    {
        doska[i].vypis();
    }
}


cout<<"**********************************************"<<endl;
/// HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEELP
    for(int i = 0; i < velkost_vektora; i++)
    {
        doska[i].vypocetObsahu();
        doska[i].zmenCenu();
        doska[i].vypis();
    }


    return 0;
}

Roman
C / C++ › Opravný zápočet
24. 5. 2018   #221104

#include <iostream>
#include <vector>   /// potrebujes pre pracu s vectormi

using namespace std;

class NovaTrieda    /// vytvorenie novej tried
{
private:    /// sukromne premenne
    string nazov;
    string typ;
    int pocet;
public:     /// verejna cast
    NovaTrieda(){};     /// bezparametricky konstruktor
    NovaTrieda(string nazov, string typ, int pocet)     /// parametricky konstruktor
    {
        this->nazov = nazov;
        this->typ = typ;
        this->pocet = pocet;
    }
    ~NovaTrieda(){};    /// destruktor

    ///  GET Metody

    string vratNazov()
    {
        return nazov;   /// vracia sukromnu premennu nazov
    }

    string vratTyp()
    {
        return typ;   /// vracia sukromnu premennu typ
    }

    int vratPocet()
    {
        return pocet;   /// vracia sukromnu premennu pocet
    }

    ///   SET Metody

    void nastavNazov(string nazov)
    {
        this->nazov = nazov;   /// nastavi novu hodnotu do premennej nazov
    }

    void nastavTyp(string typ)
    {
        this->typ = typ;   /// nastavi novu hodnotu do premennej nazov
    }

    void nastavPocet(int pocet)
    {
        this->pocet = pocet;   /// nastavi novu hodnotu do premennej nazov
    }

    /// Metoda VYPIS

    void vypis()
    {
        cout << nazov << "\t" << typ << "\t" << pocet << endl;  /// vypise vsetky sukromne premenne do jedneho riadku a vlozi medzi ne tabulator a na konci vypisu odriadkuje
    }
};

int main()
{
    cout << "********************** 1.cast **********************" << endl;
    NovaTrieda *objekt1 = new NovaTrieda("objekt c.1", "objekt", 10);   /// vytvori novy dynamicky objekt v triede NovaTrieda a vola parametricky konstruktor
    objekt1->vypis();   /// vypise dynamicky objekt objekt1 vytvoreny o riadok vyssie

    NovaTrieda objekt2("objekt c.2", "objekt", 55);     /// vytvori staticky objekt v triede NovaTrieda a vola parametricky konstruktor
    objekt2.vypis();

    /// vsimni si ze pri dynamickych objektoch pouzivas pre volanie metody -> a pri statickych .

    /// VECTORY

    vector <NovaTrieda> novyVektor;     /// vytvori novy vektor triedy NovaTrieda s nazvom novyVektor

    novyVektor.push_back(objekt2);      /// vlozis do vektora novyVektor na koniec vektora novy objekt

    novyVektor.push_back(NovaTrieda("objekt c.3","objekt",75));     /// vytvoris na konci vektora novyVektor novy objekt a volas parametricky konstruktor
    novyVektor.push_back(NovaTrieda("objekt c.4","objekt",84));     /// vytvoris na konci vektora novyVektor novy objekt a volas parametricky konstruktor
    novyVektor.push_back(NovaTrieda("objekt c.5","objekt",75));     /// vytvoris na konci vektora novyVektor novy objekt a volas parametricky konstruktor
    novyVektor.push_back(NovaTrieda("objekt c.6","objekt",95));     /// vytvoris na konci vektora novyVektor novy objekt a volas parametricky konstruktor

    cout << "********************** 2.cast **********************" << endl;

    /// Hladanie objektu s premennou pocet nastavenou na 95, ked ho najde program ho vypise

    int velkost_vektora = novyVektor.size();    /// nacitas do premennej velkost_vektora aktualnu velkost vektora novyVektor

    for(int i = 0; i < velkost_vektora; i++)    /// prejde cely vektor
    {
        if(novyVektor[i].vratPocet() == 95)     /// kazdy objekt vo vektore porovna metodou vratPocet() ci sa pocet zhoduje s 95
        {
            novyVektor[i].vypis();              /// ak zisti že sa zhoduje s 95 vypise dany objekt pomocou metody vypis()
        }
    }

    cout << "********************** 3.cast **********************" << endl;

    /// Vypise cely vektor na obrazovku

    for(int i = 0; i < velkost_vektora; i++)    /// prejde cely vektor, v tomto for pouzivas premennu velkost vektora ktora bola nacitana vysiie ak si ale medzi tymto for a deklaraciou tej premennej 
        ///hore pridal nejak prvok tak musis znova nacitat velkost vektora do tej premennej a to takto : velkost_vektora = novyVektor.size();
    {
            novyVektor[i].vypis();              /// kazdy objekt vypise metodou vypis()
    }

    cout << "********************** 4.cast **********************" << endl;

    /// Hladanie objektu s premennou pocet nastavenou na 55, ked ho najde program ho vymaze a cely vektor vypise

    for(int i = 0; i < velkost_vektora; i++)    /// prejde cely vektor
    {
        if(novyVektor[i].vratPocet() == 55)     /// kazdy objekt vo vektore porovna metodou vratPocet() ci sa pocet zhoduje s 55
        {
            novyVektor.erase(novyVektor.begin()+i);            /// ak zisti že sa zhoduje objekt odstrani z vektora
        }
    }

    for(int i = 0; i < velkost_vektora; i++)    /// prejde cely vektor
    {
            novyVektor[i].vypis();              /// kazdy objekt vypise metodou vypis()
    }

    return 0;
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý