Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
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
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    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ông cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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