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

Đề tài: Giúp sửa lỗi về file . Hay đấy !

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

    Angry Giúp sửa lỗi về file . Hay đấy !

    bác nào chạy thử , xem lỗi giùm nhé , mình chạy thử mãi ruồi mà không phát hiện lỗi . DOAN CODE :
    Code:
    #include <iostream.h> 
    #include <iomanip.h> 
    #include <fstream.h> 
    #include <stdlib.h> 
    #include <stdio.h> 
    #include <conio.h> 
    #include <ctype.h> 
    
    int main() 
    { 
      int stt ; 
      char *hoten, *fname, traloi; 
      int tuoi; 
      float diem; 
      fstream f; 
      cout << "Nhap ten file: "; cin >> fname; 
      f.open(fname, ios::in | ios::out ) ;
       
      if (f.bad()) 
      { 
        cout << "Tep da co. Ghi de (C/K)?" ; 
        cin.get(traloi) ; 
        if (toupper(traloi) == 'C') 
           { 
             f.close() ; 
             f.open(fname, ios::in | ios::out | ios::trunc) ; 
           }
        else exit(1); 
      } 
       stt = 0; 
       f << setprecision(1) << setiosflags(ios::showpoint) ; 
     // nhap danh sach 
     cout<<"\nNhap so sinh vien: ";int sosv;cin>>sosv;
    while (1) { 
          stt++; 
        cout << "\nNhap sinh vien thu " << stt ; 
        cout << "\nHo ten: "; cin.ignore() ; cin.getline(hoten, 25); 
        if (strcmp(hoten,"$$$" )==0)  break; 
        cout << "\nTuoi: "; cin >> tuoi; 
        cout << "\nDiem: "; cin >> diem; 
        f << setw(24) << hoten << endl; 
        f << setw(4) << tuoi << setw(8) << diem ; 
     } 
      // in danh sách 
    f.seekg(0) ;    // quay ve dau danh sach 
    stt = 0; 
    
    cout << "Danh sach sinh vien da nhap\n" ; 
    cout << setprecision(1) << setiosflags(ios::showpoint) ; 
    while (1) { 
        //f.getline(hoten,25); 
        if (f.eof()) break; 
        stt++; 
        f >> tuoi >> diem; 
        f.ignore(); 
        cout << "\nSinh vien thu " << stt ; 
        cout << "\nHo ten: " << hoten; 
        cout << "\nTuoi: " << setw(4) << tuoi; 
        cout << "\nDiem: " << setw(8) << diem; 
     } 
     f.close();
     cout<<"\nHoan thanh"; 
     getch(); 
    }
    Đã được chỉnh sửa lần cuối bởi vantau : 05-12-2008 lúc 11:35 AM. Lý do: wen chưa đánh dấu đoạn code

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

    Lỗi cơ bản ! Cho tui hỏi cậu char* fname nó là cái gì nhỉ ?

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

    char *fname : dung de nhap ten file ?

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

    Trích dẫn Nguyên bản được gửi bởi vantau Xem bài viết
    char *fname : dung de nhap ten file ?
    Anh rr ko phải hỏi bạn ý đó đâu , nhìn vào ai cũng biết nó có ý nghĩa là thế mà. Ý của anh ấy là nếu bạn mà khai báo con trỏ file thì phải cấp phát bộ nhớ ko thì dùng mảng tĩnh ( thường thì người ta hay làm theo kiểu này ) . nếu dùng con trỏ file thường dùng trong tham số của các hàm theo .
    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 2008
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi vantau Xem bài viết
    bác nào chạy thử , xem lỗi giùm nhé , mình chạy thử mãi ruồi mà không phát hiện lỗi . DOAN CODE :
    Code:
    #include <iostream.h> 
    #include <iomanip.h> 
    #include <fstream.h> 
    #include <stdlib.h> 
    #include <stdio.h> 
    #include <conio.h> 
    #include <ctype.h> 
    
    int main() 
    { 
      int stt ; 
      char *hoten, *fname, traloi; 
      int tuoi; 
      float diem; 
      fstream f; 
      cout << "Nhap ten file: "; cin >> fname; 
      f.open(fname, ios::in | ios::out ) ;
       
      if (f.bad()) 
      { 
        cout << "Tep da co. Ghi de (C/K)?" ; 
        cin.get(traloi) ; 
        if (toupper(traloi) == 'C') 
           { 
             f.close() ; 
             f.open(fname, ios::in | ios::out | ios::trunc) ; 
           }
        else exit(1); 
      } 
       stt = 0; 
       f << setprecision(1) << setiosflags(ios::showpoint) ; 
     // nhap danh sach 
     cout<<"\nNhap so sinh vien: ";int sosv;cin>>sosv;
    while (1) { 
          stt++; 
        cout << "\nNhap sinh vien thu " << stt ; 
        cout << "\nHo ten: "; cin.ignore() ; cin.getline(hoten, 25); 
        if (strcmp(hoten,"$$$" )==0)  break; 
        cout << "\nTuoi: "; cin >> tuoi; 
        cout << "\nDiem: "; cin >> diem; 
        f << setw(24) << hoten << endl; 
        f << setw(4) << tuoi << setw(8) << diem ; 
     } 
      // in danh sách 
    f.seekg(0) ;    // quay ve dau danh sach 
    stt = 0; 
    
    cout << "Danh sach sinh vien da nhap\n" ; 
    cout << setprecision(1) << setiosflags(ios::showpoint) ; 
    while (1) { 
        //f.getline(hoten,25); 
        if (f.eof()) break; 
        stt++; 
        f >> tuoi >> diem; 
        f.ignore(); 
        cout << "\nSinh vien thu " << stt ; 
        cout << "\nHo ten: " << hoten; 
        cout << "\nTuoi: " << setw(4) << tuoi; 
        cout << "\nDiem: " << setw(8) << diem; 
     } 
     f.close();
     cout<<"\nHoan thanh"; 
     getch(); 
    }
    chỗ đầu bạn nên sửa lại thành thế này:
    Code:
    #include <iostream>
    #include <iomanip>
    #include <fstream>
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    #include <ctype>
    
    using namespace std;
    bạn có một số lỗi nhỏ về #include, lỗi nhỏ này chỉ tạo warning nhưng ko sửa thì ko thể phát hiện ra lỗi lớn. Khi biên dịch tốt nhất nên thêm -Wall và loại bỏ sạch warning
    Tôi đẫ chạy thử nhưng ko có file nhập nên ko test tiếp đc

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

    Mặc định Giúp sửa lỗi về file . Hay đấy !

    mình nghĩ là nó nằm ở phần nhập tên file của bạn đó, nếu bạn bỏ phần đó,thay bằng việc thao tác với một file xác định( tạo mới hoặc mở ở trong ổ ) thì sẽ ok

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

  1. 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
  2. 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
  3. lỗi đọc dữ liệu từ file! Giúp mình sửa?
    Gửi bởi Sayuri0903 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 18-09-2010, 09:25 AM
  4. 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
  5. Lập trình C++ Đọc file và ghi file trong lập trình C++. Giúp em sửa
    Gửi bởi thangit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 20-10-2008, 09:57 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