Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: [ Solved ]Class đơn thức,đa thức.ai biết chỉ đệ cái

  1. #1
    Ngày gia nhập
    10 2008
    Bài viết
    0

    Mặc định [ Solved ]Class đơn thức,đa thức.ai biết chỉ đệ cái

    Code:
    #include<iostream.h>
    class donthuc
    {
    private:
    	int heso;
    	int somu;
    public:
    	donthuc()
    	{
    		heso=0;
    		somu=0;
    	}
    	friend istream &operator>>(istream &is,donthuc &x);
    	friend ostream &operator <<(ostream &os,donthuc &x);
    	friend dathuc();
    };
    class dathuc
    {
    private:
    	int n;
    	donthuc *p;
    public:
    	dathuc()
    	{
    		p=new donthuc [n];
    	}
    	friend istream &operator >>(istream &is,dathuc &x);
    	friend ostream &operator <<(ostream &os,dathuc &x);
    
    };
    void main(){}
    istream &operator>>(istream &is,donthuc &x)
    {
    	cout<<"nhap vao heso";
    	is>>x.heso;
    	cout<<"nhap vao mu";
    	is>>x.somu;
    	return is;
    }
    ostream &operator <<(ostream &os,donthuc &x)
    {
    	os<<x.heso<<"/"<<x.somu;
    	return os;
    }
    ostream &operator <<(ostream &os,dathuc &x)
    {
    	for(int i=0;i<x.n;i++)
    	{
    		os<<x.p[i];
    	}
    	return os;
    }
    istream &operator >>(ostream &is,dathuc &x)
    {
    	cout<<"nhap vao so phan tu";
    	is>>x.n;
    	x.p=new donthuc [x.n];
    	for(int i=0;i<x.n;i++)
    	{
    		is>>x.p[i];
    	}
    	return is;
    }
    ai giỏi xin giúp đệ cái.hàm nhập này khó chịu quá.không biết sai chỗ nào

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Cơ bản bạn còn chưa ổn mà bạn làm hướng đối tượng làm gì vội chứ, chưa cần biết nhập xuất sai đúng chỗ nào, hàm main bạn để thế kia thì nó chạy được mới là lạ. Ít nhât là bạn vứt nó xuống cuối chứ.

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    178

    ai nói cậu là để hàm main ở đó thì không chạy dươc chứ chỉ can khai báo dưới lớp là nó chạy gùi(không tin thì code thử dii )

  4. #4
    Ngày gia nhập
    10 2008
    Bài viết
    178

    còn bạn newcommer bạn nhìn sach viêt ra thì phải bài của ban không có khó đâu bạn cố nhìn kĩ lại đi lỗi cỏ bản nhìu lám

  5. #5
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    - Chạy được thì sao ? Style code kiểu đó ai mà viết ! Tui chưa thấy ai code để main giữa class declaration và class definition cả. Hơn nữa void main() và iostream.h không phải C++.
    @newcommer : Code sai chỗ nào ? Compiler gì ? Compiler báo lỗi gì ? Đọc nội qui trước khi post bài chưa cậu ?

  6. #6
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mặc định [ Solved ]Class đơn thức,đa thức.ai biết chỉ đệ cái

    Trích dẫn Nguyên bản được gửi bởi rox_rook Xem bài viết
    - Chạy được thì sao ? Style code kiểu đó ai mà viết ! Tui chưa thấy ai code để main giữa class declaration và class definition cả.
    Úi chết, mèo code lúc nào cũng nhét hàm main vô giữa khai báo và cài đặt cả. Nguy quá, về phải sửa lại xì tai thôi. Sorry vì đã spam .
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  7. #7
    Ngày gia nhập
    10 2008
    Bài viết
    0

    em học thầy em.ông băt phải làm theo programing style của ổng.ổng nói kỉ thuật ko = phong cách.

  8. #8
    Ngày gia nhập
    03 2008
    Bài viết
    12

    Tui cũng đồng ý với newcommer. Style của bạn không sai. Mà các bạn khác cũng không sai.
    Nhưng nếu đúng Style chuẩn của lập trình viên, bạn nên chia đoạn code kia thành 3 file: donthuc.h, donthuc.cpp, và main.cpp
    Thầy của bạn đưa ra style như vậy có lẽ bạn chỉ mới học lập trình. Bạn nên nghe lời thầy, thầy không sai đâu.

    Style của bạn chuẩn hơn các bạn khác, (nhưng vẫn chưa chuẩn lắm), sau này bạn còn sẽ thấy code của mình tuy chạy đúng nhưng vẫn còn nhiều vấn đề sai xót (Style không đúng, tên hàm, biến đặt không đúng quy cách, cài đặt gây khó hiểu, hay hiểu nhầm).

    Ví dụ 1 cái nè:
    for(int i = -1; i++ < 1025; putchar("\n #"[(i%32<31)+((i/32&i)==i%32)]));

    Đây là 1 lỗi bị đánh giá sai trầm trọng. Code gây khó hiểu.
    Ở lập trình càng thống nhất càng tốt, tránh các phong các riêng.

    Chúc bạn học tốt.
    Đã được chỉnh sửa lần cuối bởi dragon111989 : 03-11-2008 lúc 11:46 PM. Lý do: Sai sót

  9. #9
    Ngày gia nhập
    03 2008
    Bài viết
    12

    Bạn viết code không phải cho bạn đọc ngay lúc này, mà còn cho người khác đọc, và cả cho bạn đọc lại nữa.
    Nếu viết code không đúng quy cách, bạn sẽ bị thất bại khi viết chương trình có cả hàng ngàn đoạn code, khi cấu trúc chương trình đã phức tạp.

  10. #10
    Ngày gia nhập
    10 2008
    Bài viết
    5

    mình có đoạn code này ban tham khảo thử xem:
    Code:
    #include<iostream.h>
    #include<iomanip.h>
    #include<conio.h>
    class dathuc
    {
      int bac,*heso;
      public:
        void nhap();
        {
             cout<<"\nNhap bac cua da thuc:\n";
             cin>>bac;
             cout<<"\nNhap he so cua da thuc:\n";
             heso=new int[bac+1];
             for(int i=0;i<=bac;i++)
                cin>>heso[i];
        }
        void xuat()
        {
             cout<<"\nF(x)=";
             for(int i=0,k=bac;i<bac;++i,--k)
             {
                if(heso[i]!=0)
                  cout<<heso[i]<<"X^";
                if(k!=0)
                  cout<<k;
                if((heso[i+1]>0)&&(i+1)<bac)
                     cout<<"+";
             }
             if(heso[bac]>0)
                 cout<<"+"<<heso[bac];
             else
                 if(heso[bac]<0)
                     cout<<heso[bac];  //heso[bac]=0 thì không in ra ;
             cout<<"\n";
             getch();
        }
        dathuc operator +(dathuc ob1)
        {
             dathuc ob=(bac>ob1.bac)?*this:ob1;
             int j=(bac>ob1.bac)?(bac-ob1.bac):(ob1.bac-bac);
             if(bac>ob1.bac)
                  for(int i=ob1.bac;i>=0;--i)
                       ob.heso[i+j]+=ob1.heso[i];
             else 
                  for(int i=bac;i>=0;--i)
                       ob.heso[i+j]+=heso[i];
             return ob;
        }
    };
    void main()
    {
       dathuc ob,ob1,ob2;
       ob1.nhap();
       ob1.xuat();
       ob2.nhap();
       ob2.xuat();
       ob=ob1+ob2;
       ob.xuat();
    }
    bài tập này thầy giáo mình ra mình làm có chạy thử rồi.
    Luôn muốn hỏi

Các đề tài tương tự

  1. Cách lấy giá trị biến từ class này sang class khác trong lập trình C#
    Gửi bởi phongk20 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 13-03-2011, 05:19 PM
  2. Truy cập biến từ class này sang class kia xin giúp
    Gửi bởi baotran trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 02-12-2010, 09:20 AM
  3. [ Solved ]Class hàng bán
    Gửi bởi luxiphe89 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 26
    Bài viết cuối: 09-11-2008, 10:04 AM
  4. [ Solved ]Hỏi về phương thức trong lớp (class )!
    Gửi bởi camping29 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 07-10-2008, 03:31 PM
  5. [ Solved ]Hỏi về class?
    Gửi bởi khanh_0507 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 12-09-2008, 10:54 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn