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

Đề tài: Lớp hình chữ nhật trên C++. Lỗi in ra hình chữ nhật, giúp mình sửa lỗi???

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    6

    Mặc định Lớp hình chữ nhật trên C++. Lỗi in ra hình chữ nhật, giúp mình sửa lỗi???

    bài này mình làm mà nó cho ra kết quả linh ta linh tinh chả biết nó sai kiểu gì mong các anh chị em giúp mình.thanks!

    Code:
    #include<iostream.h>
    #include<stdio.h>
    #include<string.h>
    #include<fstream.h>
    #include<conio.h>
    
    class hcn{
               
                private:
                        float a,b;
                public:
                        void nhap();
                        float dt();
                        void in();
                };
    void hcn::nhap(){
    		  cout<<"\nnhap vao chieu dai: "<<a;
                      cin>>a;
                      cout<<"\nnhap vao chieu rong: "<<b;
    		  cin>> b;
    		  }
    float hcn::dt(){
                   return(a*b);
                   }
    void hcn::in(){
                   cout<<"\nchieu dai hinh chu nhat la: "<<a;
                   cout<<"\nchieu rong cua hinh chu nhat la: "<<b;
                   cout<<"\ndien tic cua hinh chu nhat la: "<<dt();
    	      }
    void hcn1(){
    
       int n;
       hcn hcn1;
       cout<<"Nhap vao so hinh chu nhat: ";cin>>n;
       ofstream file("hcn2.dat",ios::app);  //mo file de ghi
       for (int i=0;i<=n;i++) //lap di lap lai de ghi het so hcn
       {
         cout<<"Nhap hinh chu nhat thu "<<i+1<<":\n";
         hcn1.nhap(); //goi ham nhap vao ban doc cua class BanDoc
         hcn1.dt();
         file.write((char *)(&hcn1),sizeof(hcn));//ghi hcn vua nhap vao file
       }
       file.close();
    }
    
    void inra()
    {
      int i=0;
      hcn hcn1;
      ifstream file("hcn2.dat");  //mo file de doc
        // doc cho den khi het file, neu chua het thi cu doc mai
        //doc duoc ban doc nao thi in ra man hinh hcn
      while (file.read((char*)(&hcn1),sizeof(hcn)),!file.eof())   //eof = end of file
      {
        i++;
        cout<<"\n\nHinh chu nhat thu "<<i<<":";
        hcn1.in();//in ban doc ra man hinh
        getch();
      }
      file.close();
    
    }
    
    void main()
    {
      clrscr();
      hcn1();
      clrscr();
      inra();
    }

  2. #2
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Lỗi ở hàm này
    C++ Code:
    1. void hcn::nhap(){
    2.           cout<<"\nnhap vao chieu dai: "; //không dc cout<<a vì a chưa có giá trị ji
    3.           cin>>a;
    4.           cout<<"\nnhap vao chieu rong: ";//không dc cout<<b vì b chưa có giá trị ji
    5.           cin>> b;
    và hàm này nữa
    C++ Code:
    1. void hcn1(){
    2.    
    3.     int n;
    4.     hcn hcn1;
    5.     cout<<"Nhap vao so hinh chu nhat: ";cin>>n;
    6.     ofstream file("hcn2.dat",ios::app);  //mo file de ghi
    7.     for (int i=0;i<n;i++) //lap di lap lai de ghi het so hcn//i<n chứ k phải i<=n
    8.     {
    9.         cout<<"Nhap hinh chu nhat thu "<<i+1<<":\n";
    10.         hcn1.nhap(); //goi ham nhap vao ban doc cua class BanDoc
    11.         hcn1.dt();
    12.         file.write((char *)(&hcn1),sizeof(hcn));//ghi hcn vua nhap vao file
    13.     }
    14.     file.close();
    15. }
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

  3. #3
    Ngày gia nhập
    02 2009
    Bài viết
    6

    Mình cảm ơn bạn nhiều lắm. Tiện cho mình hỏi luôn bạn có cách nào để xóa tất cả dữ liệu có trong file hcn2.dat sau mỗi lần chạy không,vì cứ mỗi lần mình cho chạy xong lần 1 thì dữ liệu có ở trong file sau lần chạy 1 đó vẫn còn tồn tại .nên lúc mình cho chạy lần 2 dữ liệu đó cũng được in ra luôn.

  4. #4
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Hàm hc1 của bạn có nhập dữ liệu và ghi file. Nên tách ra làm 2 hàm khác nhau
    Cả hàm inra cũng thế. Lúc nào cần chức năng gì thì mới gọi.
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

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

  1. Mong nhận được sự giúp đỡ của mọi người về cách đặt chỗ trên web viết bằng ASP.NET
    Gửi bởi kunkun1991 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 15-04-2013, 12:37 AM
  2. Bài tập C Lỗi không cho nhập tiếp trên BC 5.02! Giúp mình
    Gửi bởi votrungchi_108 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 26-10-2010, 03:57 PM
  3. Nhập xuất cấu trúc trên C++ | Giúp mình sửa lỗi?
    Gửi bởi anticafe 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: 20-06-2009, 06:04 PM
  4. cần giúp bài giải PT bậc nhất trên winform
    Gửi bởi C_moi_hoc trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 9
    Bài viết cuối: 09-06-2009, 04:26 PM
  5. Tài liệu nhận dạng kí tự trên C, ai có giúp mình với?
    Gửi bởi annie trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 1
    Bài viết cuối: 08-05-2009, 08:02 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