C++ cin i cout
Prikazujem rezultate 1 do 6 od 6

Tema: C++ cin i cout

  1. #1
    Početnik Magog (avatar)
    Učlanjen
    04.09.2005.
    Lokacija
    u oblacima
    Poruke
    36
    Reputaciona moć
    0

    Podrazumevano C++ cin i cout

    Ovako stvari stoje, ja se ucim C++ i evo na pocetku naidjoh na jedan problemcic. Ukucam ovaj kod, koji je primer iz neke knjige, uneo sam novine s ciljem da U/I podataka izvodim preko objekata klase 'istreajm' ali nesto ne valja sa cin-om, dok je sa cout-om sve OK jer sam uneo podatke preko konstruktora. Naime, kad kompajlira fajl javlja mi gresku:
    D:\MyProjects\kompleksni brojevi\kompleks.cpp(63) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class Complex (__cdecl *)(void)' (or there is no acceptable conversion)
    i ovo pokazuje na liniju koda gde je 'cin'
    Sta moze da bude?

    include <iostream.h>

    //Klasa : Complex

    class Complex {

    public:
    Complex (float real, float imag);

    Complex add (Complex);
    Complex sub (Complex);

    float Re();
    float Im();

    void print();

    friend istream & operator>> (istream &d, Complex &t);
    friend ostream & operator<< (ostream &d, const Complex &t);

    private:
    float real, imag;
    };


    // definicija funkcija


    Complex::Complex (float r, float i) {real=r; imag=i;}


    Complex Complex::add (Complex c) {
    return Complex(real+c.real, imag+c.imag);
    }


    Complex Complex::sub (Complex c) {
    return Complex(real-c.real, imag-c.imag);
    }

    float Complex::Re() {return real;}
    float Complex::Im() {return imag;}

    void Complex:rint() {
    cout<<"real: "<<real<< "imag: "<< imag;
    }

    istream & operator>>(istream &d, Complex &t)
    { float re,im; d>>re>>im; return d;}

    ostream & operator<<(ostream &d, const Complex &t)
    { return d<<"("<<t.real<<","<<t.imag<<")\n";}


    // Glavni program

    void main () {


    Complex cx();
    cin>>cx;
    cout<<cx;


    }



  2. #2
    Primećen član
    Učlanjen
    24.11.2003.
    Poruke
    641
    Reputaciona moć
    58

    Podrazumevano Re: C++ cin i cout

    probaj unutar klase:


    istream& operator>>(istream &d, Complex &t)
    { return d>>t.real>>t.imag;}

    ostream& operator<<(ostream &d, const Complex &t)
    { return d<<"("<<t.real<<","<<t.imag<<")\n";}



    ili sa (van klase) :

    inline istream& ........
    inline ostream& ..........

    isto.

  3. #3
    Početnik sreta (avatar)
    Učlanjen
    28.03.2004.
    Lokacija
    beograd
    Poruke
    33
    Reputaciona moć
    0

    Podrazumevano Re: C++ cin i cout

    Mislim da ti fali podrazumevani konstruktor

    Complex(){ re=0;im=0; } ili Complex(double re=0,double im=0){ r=re;i=im; }

    a probaj i Complex *c=new Complex();

  4. #4
    Primećen član
    Učlanjen
    24.11.2003.
    Poruke
    641
    Reputaciona moć
    58

    Podrazumevano Re: C++ cin i cout

    najbolje sto mogu da ti preporucim ,prelistaj, naci ces klasu kompleksnih
    (mislim 3.1zadatak) i jos stosta:
    http://galeb.etf.bg.ac.yu/~kraus/knjige/programi/rzcp.zip

  5. #5
    Početnik Magog (avatar)
    Učlanjen
    04.09.2005.
    Lokacija
    u oblacima
    Poruke
    36
    Reputaciona moć
    0

    Podrazumevano Re: C++ cin i cout

    Citat Original postavio sreta
    Mislim da ti fali podrazumevani konstruktor

    Complex(){ re=0;im=0; } ili Complex(double re=0,double im=0){ r=re;i=im; }

    a probaj i Complex *c=new Complex();

    Ovo je pomoglo. Hvala!

    A kako da formatiram izlaz u C++, tj kao ono sto u C-u u okviru printf ima %f10.3 i sl.

  6. #6
    Početnik _Doctor_ (avatar)
    Učlanjen
    05.10.2005.
    Lokacija
    Novi Beograd
    Poruke
    34
    Reputaciona moć
    0

    Podrazumevano Re: C++ cin i cout

    morash da uradish "include" datoteke "iomanip" i da pozovesh funkcije setw i setprecision.

    tako da bi %10.3f bilo: cout << setw(10) << setprecision(3) << tvojBroj << endl;

    pozdrav
    "Nobody is safe from me, No' not even me !"

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •