Zadaci

Taj je lak :)

Daj jedan meni za Grafiku vezan. Krenuo sam da vezbam System.Drawing klase pa da vidim znam li ista. haha

neka ti nacrta trigonometrijsku kruznicu, i za dati ugao koji se unosi u textbox, da ti nacrta cos i sin od tog ugla......
ja sam nesto tako uradio, evo ovde :)
untitled.jpg


eto tako nesto
 
Ugao se ne crta, za ovo trebas malo skontat trigonometriju (minimalno).

Radis potpuno obrnuto, na osnovu datog ugla nacrtas sinus i kosinus pa tek onda krak ugla.

Povuces liniju kroz tacku kruznice koju dobijes kao presek pravih koji prolaze kroz vrednosti kosinusa i sinusa i koordinatnog pocetka (0,0)......Jednostavno.....
 
Ugao se ne crta, za ovo trebas malo skontat trigonometriju (minimalno).

Radis potpuno obrnuto, na osnovu datog ugla nacrtas sinus i kosinus pa tek onda krak ugla.

Povuces liniju kroz tacku kruznice koju dobijes kao presek pravih koji prolaze kroz vrednosti kosinusa i sinusa i koordinatnog pocetka (0,0)......Jednostavno.....

Uf moram se pozabaviti malo vise sa Drawing klasama, mnogo sam vukao na ADO.NET. :/
 
Ajde da napravi neko program za obradu aritmetickih izraza.

Dakle da ti izracuna ovo
5+2*3+6/2-1+2
Ako se ne varam ovo je 15.
Bez zagrada, pa kad uradite to, moze i zagrade :D
Kad postavite rjesenje postavicu i ja moje pa da uporedimo.

Jel si mislio da mi se zada izraz, a ja da izracunam? Ako je tako, mislim da nije puno tesko, samo ne mogu sad da radim :D

A evo resenja za ovu trigonometriju, mozda ima malo vise koda, ali mislim da je to to :D

Untitled.png

Kod:
private void button1_Click(object sender, EventArgs e)
        {          
            if (textBox1.Text != "") 
            {
                pictureBox1.Refresh();

                Graphics g = pictureBox1.CreateGraphics();
                Pen olovka = new Pen(Color.Red, 1);
                Point A, B;
                A = new Point(150, 0);
                B = new Point(150, 300);
                g.DrawLine(olovka, A, B);

                A = new Point(0, 150);
                B = new Point(300, 150);
                g.DrawLine(olovka, A, B);

                olovka = new Pen(Color.Blue, 1);

                g.DrawEllipse(olovka, 20, 20, 260, 260);


                double ugao = Convert.ToInt32(textBox1.Text);
                ugao = ugao*(Math.PI/180);
                double sin = Math.Sin(ugao);
                double cos = Math.Cos(ugao);

                double x = 150 + cos*130/*na x osi*/, y = 150 - sin*130/*na y osi*/, a = 150 - sin*130/*na krugu x*/, b = 150 + cos*130/*na krugu y*/;

                olovka = new Pen(Color.Black, 2);

                g.DrawLine(olovka, (int)x, 150, (int)b, (int)a);
                g.DrawLine(olovka, 150, (int)y, (int)b, (int)a);
                g.DrawLine(olovka, 150, 150, (int)b, (int)a);

                g.Dispose();
                olovka.Dispose();
            }

            else
                MessageBox.Show("Insert value!");
        }
 
Jel si mislio da mi se zada izraz, a ja da izracunam? Ako je tako, mislim da nije puno tesko, samo ne mogu sad da radim :D

A evo resenja za ovu trigonometriju, mozda ima malo vise koda, ali mislim da je to to :D

Pogledajte prilog 242221

taj zonfa brt :)


evo mog koda (doduse WPF)
Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace CosSin_Drawing
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        Point center;
        Path trianglePath,cosPath,sinPath;
        

        public MainWindow()
        {
            InitializeComponent();
            center = new Point(canvas.Width / 2, canvas.Height / 2);

            LineGeometry cosGeom = new LineGeometry(new Point(0, center.Y), new Point(canvas.Width, center.Y));
            Path cosPath1 = new Path();
            cosPath1.Stroke = Brushes.RoyalBlue;
            cosPath1.StrokeThickness = 1;
            cosPath1.Data = cosGeom;
            canvas.Children.Add(cosPath1);

            LineGeometry sinGeom = new LineGeometry(new Point(center.X, 0), new Point(center.X, canvas.Height));
            Path sinPath1 = new Path();
            sinPath1.Stroke = Brushes.Red;
            sinPath1.StrokeThickness = 1;
            sinPath1.Data = sinGeom;
            canvas.Children.Add(sinPath1);

            EllipseGeometry trigCircleGeom = new EllipseGeometry(new Rect(center.X - 100, center.Y - 100, 200, 200));
            Path trigCirclePath = new Path();
            trigCirclePath.Stroke = Brushes.Pink;
            trigCirclePath.StrokeThickness = 1;
            trigCirclePath.Data = trigCircleGeom;
            canvas.Children.Add(trigCirclePath);

            DrawAngle(Math.Cos(Math.PI / 4), Math.Sin(Math.PI / 4));
            
        }

        private void btn1_Click(object sender, RoutedEventArgs e)
        {
            double angle = 0;
            if (double.TryParse(textBox1.Text, out angle))
            {
                if (this.textBlock2.Visibility == System.Windows.Visibility.Visible)
                    this.textBlock2.Visibility = System.Windows.Visibility.Hidden;
                double angleInRadians = DegreeToRadian(angle);
                DrawAngle(Math.Cos(angleInRadians), Math.Sin(angleInRadians));
            }
            else
                this.textBlock2.Visibility = System.Windows.Visibility.Visible;
        }

        public void DrawAngle(double cos,double sin)
        {
            canvas.Children.Remove(trianglePath);
            Vector sinVector = new Vector(center.X, center.Y - sin * 100);
            Vector cosVector = new Vector(center.X + cos * 100, center.Y);
            LineGeometry sincos = new LineGeometry(new Point(center.X, center.Y), new Point(cosVector.X, sinVector.Y));
            trianglePath = new Path();
            trianglePath.Stroke = Brushes.Black;
            trianglePath.StrokeThickness = 1.5;
            trianglePath.Data = sincos;
            canvas.Children.Add(trianglePath);
            DrawSinAndCos(new Vector(cosVector.X,sinVector.Y));
        }


        public void DrawSinAndCos(Vector dot)
        {
            canvas.Children.Remove(cosPath);
            canvas.Children.Remove(sinPath);
            LineGeometry cosLineGeo = new LineGeometry(new Point(center.X, dot.Y), new Point(dot.X, dot.Y));
            cosPath = new Path();
            cosPath.Stroke = Brushes.Green;
            cosPath.StrokeThickness = 0.5;
            cosPath.Data = cosLineGeo;
            canvas.Children.Add(cosPath);

            LineGeometry sinLineGeo = new LineGeometry(new Point(dot.X, center.Y), new Point(dot.X, dot.Y));
            sinPath = new Path();
            sinPath.Stroke = Brushes.Orange;
            sinPath.StrokeThickness = 0.5;
            sinPath.Data = sinLineGeo;
            canvas.Children.Add(sinPath);
        }

        private double DegreeToRadian(double angle)
        {
            return Math.PI * angle / 180.0;
        }
    }
}

ovo za izraze, samo furaj stek kao strukturu podataka (mada cu ja sada pokusati sa binarnim drvetom), infiksni izraz u post ili pre fixni i cao :)
 
Poslednja izmena:
taj zonfa brt :)


evo mog koda (doduse WPF)
Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace CosSin_Drawing
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        Point center;
        Path trianglePath,cosPath,sinPath;
        

        public MainWindow()
        {
            InitializeComponent();
            center = new Point(canvas.Width / 2, canvas.Height / 2);

            LineGeometry cosGeom = new LineGeometry(new Point(0, center.Y), new Point(canvas.Width, center.Y));
            Path cosPath1 = new Path();
            cosPath1.Stroke = Brushes.RoyalBlue;
            cosPath1.StrokeThickness = 1;
            cosPath1.Data = cosGeom;
            canvas.Children.Add(cosPath1);

            LineGeometry sinGeom = new LineGeometry(new Point(center.X, 0), new Point(center.X, canvas.Height));
            Path sinPath1 = new Path();
            sinPath1.Stroke = Brushes.Red;
            sinPath1.StrokeThickness = 1;
            sinPath1.Data = sinGeom;
            canvas.Children.Add(sinPath1);

            EllipseGeometry trigCircleGeom = new EllipseGeometry(new Rect(center.X - 100, center.Y - 100, 200, 200));
            Path trigCirclePath = new Path();
            trigCirclePath.Stroke = Brushes.Pink;
            trigCirclePath.StrokeThickness = 1;
            trigCirclePath.Data = trigCircleGeom;
            canvas.Children.Add(trigCirclePath);

            DrawAngle(Math.Cos(Math.PI / 4), Math.Sin(Math.PI / 4));
            
        }

        private void btn1_Click(object sender, RoutedEventArgs e)
        {
            double angle = 0;
            if (double.TryParse(textBox1.Text, out angle))
            {
                if (this.textBlock2.Visibility == System.Windows.Visibility.Visible)
                    this.textBlock2.Visibility = System.Windows.Visibility.Hidden;
                double angleInRadians = DegreeToRadian(angle);
                DrawAngle(Math.Cos(angleInRadians), Math.Sin(angleInRadians));
            }
            else
                this.textBlock2.Visibility = System.Windows.Visibility.Visible;
        }

        public void DrawAngle(double cos,double sin)
        {
            canvas.Children.Remove(trianglePath);
            Vector sinVector = new Vector(center.X, center.Y - sin * 100);
            Vector cosVector = new Vector(center.X + cos * 100, center.Y);
            LineGeometry sincos = new LineGeometry(new Point(center.X, center.Y), new Point(cosVector.X, sinVector.Y));
            trianglePath = new Path();
            trianglePath.Stroke = Brushes.Black;
            trianglePath.StrokeThickness = 1.5;
            trianglePath.Data = sincos;
            canvas.Children.Add(trianglePath);
            DrawSinAndCos(new Vector(cosVector.X,sinVector.Y));
        }


        public void DrawSinAndCos(Vector dot)
        {
            canvas.Children.Remove(cosPath);
            canvas.Children.Remove(sinPath);
            LineGeometry cosLineGeo = new LineGeometry(new Point(center.X, dot.Y), new Point(dot.X, dot.Y));
            cosPath = new Path();
            cosPath.Stroke = Brushes.Green;
            cosPath.StrokeThickness = 0.5;
            cosPath.Data = cosLineGeo;
            canvas.Children.Add(cosPath);

            LineGeometry sinLineGeo = new LineGeometry(new Point(dot.X, center.Y), new Point(dot.X, dot.Y));
            sinPath = new Path();
            sinPath.Stroke = Brushes.Orange;
            sinPath.StrokeThickness = 0.5;
            sinPath.Data = sinLineGeo;
            canvas.Children.Add(sinPath);
        }

        private double DegreeToRadian(double angle)
        {
            return Math.PI * angle / 180.0;
        }
    }
}

ovo za izraze, samo furaj stek kao strukturu podataka (mada cu ja sada pokusati sa binarnim drvetom), infiksni izraz u post ili pre fixni i cao :)

Jao deco pa koliki je vama mozak :lol:
Odmah na fakultet vas poslati majke mi, evo ja imam sve desetke iz Osnova,Objektnog Programiranja, a ovo nikad ne bih resio. Mozda zato sto sam Matematiku zaboravio, nemam je u drugoj.. :lol:

Juce sam 'pokusao' praviti neku igricu u XNA, *** koja je ono bolest :OTri sata sam samo kopirao kod, onda se zamislim kako li tek izgleda kod u Direcx3d :lol:

Ajde odajte mi tajnu, ne mogu da verujem da ste sve preko knjige naucili :/
 
Poslednja izmena:
Aaa XNA mi se svidjao nekad......realno, za 2d igrice i ne treba nesto mnogo......
evo moje najvece pameti nakon 2-3 sedmice sa XNA.
http://www.crocko.com/153D33CA41484F5F96415A9C77ADE92D/Debug.rar
@Wt
Koji si ti faks ?

Managed D3d (to ti je onaj koji koristis iz C#) jednim dijelom lici na xna, bar koliko se ja sjecam.
Naravno, stvari koje su cas posla u XNA, nisu lagane u Managed D3d.
Xna ima content pipeline, a to ti omogucava da 3d model loadujes jednom linijom koda.
Sto se tice native D3d, radio sam malo, vrlo malo, i to stvarno jeste malo komplikovano, treba da se udje u stos sa svim tim typedef-ovima, define-ovima i ostalim.
Mada, i to bi se dalo nauciti samo da imam zelju da se specijalizujem kao game developer (sto nemam).

Ako hoces mogu ja da ti napisem jedan mali uvod u XNA, kako stvari funkcionisu i to, cisto onako povrsinski da te uvedem.
 
Poslednja izmena:
Aaa XNA mi se svidjao nekad......realno, za 2d igrice i ne treba nesto mnogo......
evo moje najvece pameti nakon 2-3 sedmice sa XNA.
http://www.crocko.com/153D33CA41484F5F96415A9C77ADE92D/Debug.rar
@Wt
Koji si ti faks ?

Managed D3d (to ti je onaj koji koristis iz C#) jednim dijelom lici na xna, bar koliko se ja sjecam.
Naravno, stvari koje su cas posla u XNA, nisu lagane u Managed D3d.
Xna ima content pipeline, a to ti omogucava da 3d model loadujes jednom linijom koda.
Sto se tice native D3d, radio sam malo, vrlo malo, i to stvarno jeste malo komplikovano, treba da se udje u stos sa svim tim typedef-ovima, define-ovima i ostalim.
Mada, i to bi se dalo nauciti samo da imam zelju da se specijalizujem kao game developer (sto nemam).

Ako hoces mogu ja da ti napisem jedan mali uvod u XNA, kako stvari funkcionisu i to, cisto onako povrsinski da te uvedem.

Na Beogradsku Poslovnu Skolu, Informaticki smer. Imamo totalno ista predavanja/vezbe kao na fon-u, i knjige su nam njihove. Uglavnom cela druga godina je skoncetrisana na C# i SQL Server.

Sto se tice XNA, na prvi pogled mi izgleda neverovatno zeznut, mada mi je tako i C# izgledao kad sam ga prvi put video. :lol:
Ni ja ne zelim da budem game developer, ali hteo bih neke osnove da znam, a i zanimljivo je.
Ajde napisi ako ti nije problem, malo je tutorijala po netu.


P.S: Igrica ne radi, neki problem u System.IO File Not Foun Exception. Verovatno nesto sto si ubacivao u program ne postoji na mom racunaru, verovatno slika. :)
 
ovo za izraze, samo furaj stek kao strukturu podataka (mada cu ja sada pokusati sa binarnim drvetom), infiksni izraz u post ili pre fixni i cao :)

hahaha :D
ma ok je to, ali ja nemam pojma kako se koristi. Znam ja sta je stek i sta je binarno drvo, ali nikad nisam radio i nemam pojma kako bi to sve islo u kodu :D
naucicu sve to polako, ima vremena :)
 
Na Beogradsku Poslovnu Skolu, Informaticki smer. Imamo totalno ista predavanja/vezbe kao na fon-u, i knjige su nam njihove. Uglavnom cela druga godina je skoncetrisana na C# i SQL Server.

Sto se tice XNA, na prvi pogled mi izgleda neverovatno zeznut, mada mi je tako i C# izgledao kad sam ga prvi put video. :lol:
Ni ja ne zelim da budem game developer, ali hteo bih neke osnove da znam, a i zanimljivo je.
Ajde napisi ako ti nije problem, malo je tutorijala po netu.


P.S: Igrica ne radi, neki problem u System.IO File Not Foun Exception. Verovatno nesto sto si ubacivao u program ne postoji na mom racunaru, verovatno slika. :)

Nzm sta je problem.
Igrica je kao space shooter sa dosta particle sistema.

Sto se tice tog xna 'tutorijala' napisacu kad stignem, ne obecavam nista.
Riemers je imao najbolje tutorijale za D3d, evo ima i za XNA ovde.
Ja sam dosta odatle naucio.......
 
Evo graficki
Zadatak:
U textbox-u uneti neki broj (moze real) koji oznacava poluprecnik kruznice.
Jedan button koji pri kliku otvara colordialog i potom korisnik bira boju.
Zatim biranom bojom ispuniti nacrtanu kruznicu datog poluprecnika r. (centar kruznice=centar picturebox-a

E da vas pitam sad nesto. Sad zavrsavam drugu godinu gimn. (vec razmisljam) Koji fax za programiranje da upisem. Koji je najprikladniji? Cuo sam za pmf i elektronski.
 
Kod:
        private void button1_Click(object sender, EventArgs e)
        {
            pictureBox1.Refresh();
            Graphics g = pictureBox1.CreateGraphics();
            SolidBrush sb = new SolidBrush(colorDialog1.Color);
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                sb.Color = colorDialog1.Color;   
            }
            int r = Convert.ToInt32(textBox1.Text);

            g.FillEllipse(sb, 25,30,2*r,2*r);

        }


evo od mene jedan:
2) Napraviti Klasu Osoba. Ona treba da ima osobine ime, prezime, pol (napraviti enumeracijom). Napraviti klasu student, koja ima dodatne osobine broj indeksa, broj_polozenih_ispita. Napraviti klasu Profesor koja ima sem osobina osobe jos I predmet _koji_predaje. Klasa student I klasa professor treba da naslede klasu Osoba. Klasa osoba treba da ima metodu Prikazi_informacije koja stampa sve informacije. Istu metodu imaju I klasa student I profesor koje stampaju I dodatne informacije o njima. U glavnom programu kreirati objekte sve tri klase I pozvati metodu za prikaz informacija.
 
Poslednja izmena:
Evo graficki


E da vas pitam sad nesto. Sad zavrsavam drugu godinu gimn. (vec razmisljam) Koji fax za programiranje da upisem. Koji je najprikladniji? Cuo sam za pmf i elektronski.

Sve je to druze manje-vise isto. Sa zavrsenim ETF-om i programerskim znanjem mozes cuda praviti. Takodje FON, PMF, elektronski nisu los izbor.

Mozes i da ti bude lakse kao sto sam ja krenuo, Visa poslovna pa FON. Ja sa mojim smerom imam zvanje Inzenjer Informacionih tehnologija.
 
Kod:
        private void button1_Click(object sender, EventArgs e)
        {
            pictureBox1.Refresh();
            Graphics g = pictureBox1.CreateGraphics();
            SolidBrush sb = new SolidBrush(colorDialog1.Color);
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                sb.Color = colorDialog1.Color;   
            }
            int r = Convert.ToInt32(textBox1.Text);

            g.FillEllipse(sb, 25,30,2*r,2*r);

        }


evo od mene jedan:

Najsmoreniji tip zadataka, ORS sa pmf-a, -.-''

evo

Kod:
#include <iostream>
#include <cstdlib>
#include <string>

using namespace std;

class Osoba
{
public:
    enum Pol
    {
        Muski = 0,
        Zenski
    };

    Osoba(string ime="", string prezime="", Pol pol = Osoba::Muski)
        : _ime(ime), _prezime(prezime), _pol(pol)
    {}

    string ime() const { return this->_ime; }
    string prezime() const { return this->_prezime; }
    Pol pol() const { return this->_pol; }
    string polStr() const
    {
        if (this->_pol == Osoba::Muski) return "Muski";
        return "Zenski";
    }

    ostream& pisi(ostream &out)
    {
        return out << "Ime :\n\t" << this->_ime << "\nPrezime :\n\t" << this->_prezime << "\nPol :\n\t" << this->polStr();
    }

    // Preklopljen operator za upisivanje u tok, nije trazeno ali je fino imati
    friend ostream& operator<< (ostream &out,Osoba &o)
    {
        return o.pisi(out);
    }

private:
    Pol _pol;
    string _ime,_prezime;
};

class Student : public Osoba
{
public:
    Student(string ime="", string prezime="", Pol pol=Osoba::Muski,string brojIndexa="", int brojPolozenihIspita=0)
        : Osoba(ime,prezime,pol), _brojIndexa(brojIndexa), _brojPolozenihIspita(brojPolozenihIspita)
    {}

    int brojPolozenihIspita() const { return this->_brojPolozenihIspita; }
    string brojIndexa() const { return this->_brojIndexa; }

    ostream& pisi(ostream &out)
    {
        this->Osoba::pisi(out);
        return out << "Broj indeksa :\n\t" << this->brojIndexa() << "\nBroj polozenih ispita :\n\t" << this->brojPolozenihIspita();
    }

    friend ostream& operator<< (ostream &out,Student &s)
    {
        return s.pisi(out);
    }
private:
    int _brojPolozenihIspita;
    string _brojIndexa;
};

class Profesor : public Osoba
{
public:
    Profesor(string ime="", string prezime="", Pol pol=Osoba::Muski,string predmet="")
        : Osoba(ime,prezime,pol), _predmet(predmet)
    {}

    string predmet() const { return this->_predmet; }

    ostream& pisi(ostream &out)
    {
        this->Osoba::pisi(out);
        return out << "Predmet :\n\t" << this->predmet();
    }

    friend ostream& operator<< (ostream &out, Profesor &p)
    {
        return p.pisi(out);
    }

private:
    string _predmet;
};

int main(){
    Osoba o("nikola","ninkovic",Osoba::Muski);
    cout << o;

    Student s("pero","perovic",Student::Muski,"123",3);
    cout << s;

    Profesor p("neko","neki",Osoba::Zenski,"Srpski");
    cout << p;
    return 0;
}

Ja cu ETF odsek za softversko inzenjerstvo ako uspijem da upadnem :)
 
Najsmoreniji tip zadataka, ORS sa pmf-a, -.-''

evo

Kod:
#include <iostream>
#include <cstdlib>
#include <string>

using namespace std;

class Osoba
{
public:
    enum Pol
    {
        Muski = 0,
        Zenski
    };

    Osoba(string ime="", string prezime="", Pol pol = Osoba::Muski)
        : _ime(ime), _prezime(prezime), _pol(pol)
    {}

    string ime() const { return this->_ime; }
    string prezime() const { return this->_prezime; }
    Pol pol() const { return this->_pol; }
    string polStr() const
    {
        if (this->_pol == Osoba::Muski) return "Muski";
        return "Zenski";
    }

    ostream& pisi(ostream &out)
    {
        return out << "Ime :\n\t" << this->_ime << "\nPrezime :\n\t" << this->_prezime << "\nPol :\n\t" << this->polStr();
    }

    // Preklopljen operator za upisivanje u tok, nije trazeno ali je fino imati
    friend ostream& operator<< (ostream &out,Osoba &o)
    {
        return o.pisi(out);
    }

private:
    Pol _pol;
    string _ime,_prezime;
};

class Student : public Osoba
{
public:
    Student(string ime="", string prezime="", Pol pol=Osoba::Muski,string brojIndexa="", int brojPolozenihIspita=0)
        : Osoba(ime,prezime,pol), _brojIndexa(brojIndexa), _brojPolozenihIspita(brojPolozenihIspita)
    {}

    int brojPolozenihIspita() const { return this->_brojPolozenihIspita; }
    string brojIndexa() const { return this->_brojIndexa; }

    ostream& pisi(ostream &out)
    {
        this->Osoba::pisi(out);
        return out << "Broj indeksa :\n\t" << this->brojIndexa() << "\nBroj polozenih ispita :\n\t" << this->brojPolozenihIspita();
    }

    friend ostream& operator<< (ostream &out,Student &s)
    {
        return s.pisi(out);
    }
private:
    int _brojPolozenihIspita;
    string _brojIndexa;
};

class Profesor : public Osoba
{
public:
    Profesor(string ime="", string prezime="", Pol pol=Osoba::Muski,string predmet="")
        : Osoba(ime,prezime,pol), _predmet(predmet)
    {}

    string predmet() const { return this->_predmet; }

    ostream& pisi(ostream &out)
    {
        this->Osoba::pisi(out);
        return out << "Predmet :\n\t" << this->predmet();
    }

    friend ostream& operator<< (ostream &out, Profesor &p)
    {
        return p.pisi(out);
    }

private:
    string _predmet;
};

int main(){
    Osoba o("nikola","ninkovic",Osoba::Muski);
    cout << o;

    Student s("pero","perovic",Student::Muski,"123",3);
    cout << s;

    Profesor p("neko","neki",Osoba::Zenski,"Srpski");
    cout << p;
    return 0;
}

Ja cu ETF odsek za softversko inzenjerstvo ako uspijem da upadnem :)

To sto si uradio je bio drugi zadatak na kolokvijumu iz C# kod nas :)
 
Evo jos jedan graficki

Kod:
namespace DakleTrougao
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        List<Point> _points;
        public Window1 ()
        {
            InitializeComponent();
            _points = new List<Point>();
            
            canvas.AddHandler(InkCanvas.MouseLeftButtonDownEvent, new MouseButtonEventHandler(canvas_MouseLeftButtonDownEvent),true);
        }

        void DrawLine ( Point a, Point b )
        {
            LineGeometry line = new LineGeometry(a, b);
            Path path = new Path();
            path.Data = line;
            path.Stroke = Brushes.RoyalBlue;
            path.StrokeThickness = 2.5;
            canvas.Children.Add(path);
        }

        void canvas_MouseLeftButtonDownEvent ( object sender, MouseButtonEventArgs e )
        {
            if (_points.Count < 3)
            {
                _points.Add(e.GetPosition(canvas));
                if (_points.Count == 3)
                {
                    DrawLine(_points[0], _points[1]);
                    DrawLine(_points[1], _points[2]);
                    DrawLine(_points[2], _points[0]);
                }
            }
        }
    }
}
 
Kod:
namespace DakleTrougao
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        List<Point> _points;
        public Window1 ()
        {
            InitializeComponent();
            _points = new List<Point>();
            
            canvas.AddHandler(InkCanvas.MouseLeftButtonDownEvent, new MouseButtonEventHandler(canvas_MouseLeftButtonDownEvent),true);
        }

        void DrawLine ( Point a, Point b )
        {
            LineGeometry line = new LineGeometry(a, b);
            Path path = new Path();
            path.Data = line;
            path.Stroke = Brushes.RoyalBlue;
            path.StrokeThickness = 2.5;
            canvas.Children.Add(path);
        }

        void canvas_MouseLeftButtonDownEvent ( object sender, MouseButtonEventArgs e )
        {
            if (_points.Count < 3)
            {
                _points.Add(e.GetPosition(canvas));
                if (_points.Count == 3)
                {
                    DrawLine(_points[0], _points[1]);
                    DrawLine(_points[1], _points[2]);
                    DrawLine(_points[2], _points[0]);
                }
            }
        }
    }
}

To u WPF-u a?
Je l' mozes da mi kazes da li ima negde bas velikih razlika izedju klasicnih formi i wpf-a sto se tice koda?
Imam nekih 20tak aplikacija napravljenih u WPF-u i stvarno ne primecujem neku razliku sto se tice kodiranja. :)
 
Razlika izmedju WPF i Wf je velika, iako je to i dalje C#, WPF aplikacije je prave postujucu MVVM pattern (obrazac) koji je veoma slican MVC obrascu.
WPF se renderuje drugacije, koristi drugi dio .NET framework-a, kontrole su potpuno drugacije, UI se dizajnira drugacije i definitivno ima razlike.
WPF je bolji, dokaz je to sto je Win8 daleko vise okrenut ka WPF (XAML metro app) nego tradicionalnim WinFormama....................
XAML ima takvu strukturu da mozes dugme staviti u listbox koji ces staviti u GridView.........
Stajlovi i templejti su najjaca stvar.....

Probaj, to je najbolja MS tehnologija ikada.......
Evo ti ScreenShot moje jedne applikacije u WPF radjene, sa kojom sam osvojio par nagrada po RS
http://imageshack.us/photo/my-images/266/87769014.jpg/

Sve je bolje nego u WinForms, radio sam mnogo sa obe tehnologije, tako da mogu da kazem neko misljenje........
 
Razlika izmedju WPF i Wf je velika, iako je to i dalje C#, WPF aplikacije je prave postujucu MVVM pattern (obrazac) koji je veoma slican MVC obrascu.
WPF se renderuje drugacije, koristi drugi dio .NET framework-a, kontrole su potpuno drugacije, UI se dizajnira drugacije i definitivno ima razlike.
WPF je bolji, dokaz je to sto je Win8 daleko vise okrenut ka WPF (XAML metro app) nego tradicionalnim WinFormama....................
XAML ima takvu strukturu da mozes dugme staviti u listbox koji ces staviti u GridView.........
Stajlovi i templejti su najjaca stvar.....

Probaj, to je najbolja MS tehnologija ikada.......
Evo ti ScreenShot moje jedne applikacije u WPF radjene, sa kojom sam osvojio par nagrada po RS
http://imageshack.us/photo/my-images/266/87769014.jpg/

Sve je bolje nego u WinForms, radio sam mnogo sa obe tehnologije, tako da mogu da kazem neko misljenje........

Pa da, znam za dizajn, ali sto se tice kodiranja nema neke velike razlike, a i ako ima to je zanemarljivo. E je l' imas download ovog programa vrh je. :) Jesi li ovo spajao program sa SQL Serverom?

Mislio sam kad budem imao vise vremena da sve ove aplikacije sto sam pravio u Formama prebacim u WPF da vidim razliku kodinga. :)
 
Poslednja izmena:
Razlika izmedju WPF i Wf je velika, iako je to i dalje C#, WPF aplikacije je prave postujucu MVVM pattern (obrazac) koji je veoma slican MVC obrascu.
WPF se renderuje drugacije, koristi drugi dio .NET framework-a, kontrole su potpuno drugacije, UI se dizajnira drugacije i definitivno ima razlike.
WPF je bolji, dokaz je to sto je Win8 daleko vise okrenut ka WPF (XAML metro app) nego tradicionalnim WinFormama....................
XAML ima takvu strukturu da mozes dugme staviti u listbox koji ces staviti u GridView.........
Stajlovi i templejti su najjaca stvar.....

Probaj, to je najbolja MS tehnologija ikada.......
Evo ti ScreenShot moje jedne applikacije u WPF radjene, sa kojom sam osvojio par nagrada po RS
http://imageshack.us/photo/my-images/266/87769014.jpg/

Sve je bolje nego u WinForms, radio sam mnogo sa obe tehnologije, tako da mogu da kazem neko misljenje........

Ekstra ti je taj program :) A kako da koristim WPF? Samo sam koristio obicne WinForms.
 

Back
Top