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

Đề tài: Đọc file và ghi file trong lập trình C++. Giúp em sửa

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    54

    Wink Đọc file và ghi file trong lập trình C++. Giúp em sửa

    Đề bài : chỉ là nhập dữ lieu từ bàn phím và ghi vào file , sau đó đọc file và in ra màn hình .Chú ý em muốn nó in ra có dạng
    10
    9
    Tại sao khi mà in ra 10 nó chỉ in ra dạng:
    1
    0
    Có phải là file text nên nó đọc từ kí tự một ko vậy
    PHP Code:
    # include<iostream.h>
    # include<stdlib.h>
    # include<fstream.h>
    # include<iomanip.h>
    # include<stdio.h>
    class point
    {            int hoanh,tung;
            public:

                     
    void ghi_tep(char *ten_tep);
                     
    void doc_tep (char *ten_tep);
    };
    void point::ghi_tep(char *filename)
    {           
    ofstream ouput filename,ios::out);
                    if ( ! 
    ouput )

                    {   
    cout<<"Ko tao duoc file"<<filename<<endl;
                         exit(
    1);
                    }

                    do
                    {   
    cin>>hoanh;
                         
    ouput<<hoanh;
                         
    cin>>tung;
                         
    ouput<<tung;
                    }
                    while ( 
    ouput );
                    
    ouput.close();

    }
    void point::doc_tep (char *filename)
    {            
    ifstream input filename,ios::in);
                     if ( ! 
    input )

                     {
                         
    cout<<"ko mo duoc file"<<filename<<endl;
                         exit(
    1);
                     }

                     do
                     {   
    input>>hoanh;   cout<<hoanh<<endl;
                          
    input>>tung;    cout<<tung<<endl;
                     }
                     while ( 
    input );
                     
    input.close();
    }
    void main()
    {           
    char *filename;
                    
    cout<<"Nhap ten file:";
                    
    gets(filename);
                    
    point a;
                    
    a.ghi_tep(filename);
                    
    a.doc_tep(filename);

    Mong mọi ngưoi sửa giúp
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

  2. #2
    Ngày gia nhập
    09 2007
    Bài viết
    724

    mình xin nhận xét về bài của cậu như sau:
    1 -
    C++ Code:
    1. char *filename;
    2. cout<<"Nhap ten file:";
    3. gets(filename);

    2 - dùng con trỏ quá bừa bãi. tại sao dùng nó mà không new.
    xong rùi không delete nữa
    3 - lúc đọc tập tin dùng while() chứ sao lại dùng do... while nhỉ

    class viết thiếu nhiều quá. nên bổ sung thêm các operator, các constructor, destructor.


    cuối cùng: đã test bài của bạn, chạy ra đúng kết quả.
    đây là kết quả:





    ps: lần sau không được post 2 bài cùng lúc nhé. Không thì Mod box này sẽ cho bạn lên thớt đó
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 19-10-2008 lúc 08:00 PM.

  3. #3
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    2 - dùng con trỏ quá bừa bãi. tại sao dùng nó mà không new.
    xong rùi không delete nữa
    Hỏi kiểu giả nai . Cái mảng char chứ cái gì mà cần new với delete . Nhưng mà nhiều lúc dùng char* ghét lắm. Sao không std::string cho tiện?.

    Ghét nhất cái gì không nằm trong namespace std, động tới là lại phải đi gg.
    http://www.cplusplus.com/reference/c...tdio/gets.html

    Mà OOP chả ra OOP, Function chả ra Function.
    Đã được chỉnh sửa lần cuối bởi NamVoDang : 19-10-2008 lúc 08:16 PM.
    Phá toái hư không - Bạch nhật thăng thiên.

  4. #4
    Ngày gia nhập
    12 2007
    Bài viết
    54

    cuối cùng: đã test bài của bạn, chạy ra đúng kết quả.
    đây là kết quả:

    ps: lần sau không được post 2 bài cùng lúc nhé. Không thì Mod box này sẽ cho bạn lên thớt đó
    Tớ test bị sai mới nhờ mọi người giúp chứ . Tớ dùng Turbo C++ 4.5
    - dùng con trỏ quá bừa bãi. tại sao dùng nó mà không new.
    xong rùi không delete nữa
    Tớ dùng char * mảng kí tự thì cần gì mà new và delete chứ
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

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

    Code sai cơ bản : char *filename;
    - file_name chỉ là con trỏ tới char ! That's it !
    - Hàm gets() không có tự cấp phát ! Tui gặp cái lỗi này ở Cviet chắc cũng 1 tá lần !

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

  1. Lập trình C Giúp em bài tập về FILE trong C !!!!
    Gửi bởi sonhabetat1 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 28-12-2013, 05:41 PM
  2. Bài tập C++ giúp e bài nối nội dung từ file này sang file khác vs
    Gửi bởi acer5750 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 08-09-2012, 01:51 AM
  3. Mã nguồn C Lỗi move data từ file to new file qua stack,các bạn giúp mình nha.
    Gửi bởi manta trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 08-10-2011, 05:16 PM
  4. Đọc dữ liệu file midi dạng số HEX và lấy lời nhạc trong file ra file text
    Gửi bởi kimngockhtn_2007 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 29-06-2011, 04:40 PM
  5. Giúp em hàm ghi dữ liệu trong dslkd vào file và đọc dữ liệu từ file
    Gửi bởi chuong01 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 18-10-2009, 09:42 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