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

Đề tài: xử lý dữ liệu từ FILE

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

    Talking xử lý dữ liệu từ FILE

    mình có sẵn 2 file dữ liệu ví dụ như la : phone.dat và customer.dat
    trong 2 file này đã có sẵn các thông tin như là tên khách hàng , số điện thoại , số phút gọi .... 2 tệp này liên hệ với nhau bằng số điện thoại . bi giờ minh có 2 thăc mắc mong các bạn chỉ giúp
    1: làm thế nào để khi duyệt 2 tệp nếu gặp số điện thoại giống nhau thi bắt đầu xử lý 1 cong viec nào đó như tính cước phí chẳng hạn
    2: tệp phone.dat của mình có dạng như sau

    stt sdt số phút gọi miền gọi

    1 8999999 20 nội hạt


    vậy khi xây dựng 1 hàm tính cước lam thế nào để mình có thể lấy dữ liệu từ file phone.dat de xử lý ???

    thank !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!

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

    1 - Bắt buộc bạn phải đọc file lên thôi. rồi duyệt dữ liệu trên file đó. Bạn nên có 1 cấu trúc dữ liệu phù hợp nếu dữ liệu của bạn khá lớn. (nếu cần thiết có thể dùng đến B-Tree).

    2 - Nếu bạn ghi file theo kiểu Binary thì vấn đề thứ 2 được xử lý gọn nhẹ.
    bằng cách bạn tạo ra một Struct tương ứng với dữ liệu của bạn rồi đọc file đó lên bằng hàm fread(....) là được.


    == chúc vui ==

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

    thank bạn nhiu` . Vấn đề thứ nhất đã ok !
    nhưng vẫn còn 1 chỗ chưa rõ , mong bạn chỉ thêm

    chẳng hạn tệp phone.dat cua minh các dòng như sau

    sdt thoi_gian_goi mien


    8999999 20 Noi_hat


    1: mình đã xây dựng 1 struct riêng , mình có thể khai báo các biến trong cùng 1 hàm fread ko : chẳng hạn : fread(&std,&thoi_gian_goi,&mien, ...........)
    2: nếu mình dùng từng hàm fread(..) 1 để gán cho từng biến thì có phải biến sẽ được gán giá trị lần lượt theo dòng không
    ví dụ như : fread(&std,..) thì biến std=8999999;
    fread(&thoi_gian_goi,....) thì biến thoi_gian_goi=20 ;


    thank!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

    C Code:
    1. fread(&std,&thoi_gian_goi,&mien, ...........)
    Thành thật khuyên bạn một câu nhé : Ctrl + F1.
    Nếu đã dùng struct và kiểu binary rồi thì bạn có thể dùng như sau:

    C Code:
    1.  
    2. typedef struct aaa{int a; int b;} Aaa;
    3. void main()
    4. {
    5.      FILE* f;
    6.      f = fopen("Tên file","rb" );
    7.      Aaa a;
    8.      fread(&a,sizeof(Aaa),1,fStream);
    9.      fclose(f);
    10.  
    11.      // in cac gia tri cua a ra
    12.      printf("%d\n",a.a);
    13.      printf("%d\n",a.b);
    14. }

    ps: chữ thank của bạn nhìn phản cảm quá
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 17-10-2008 lúc 11:39 AM.

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

    Nếu là file text thì đọc như zkday2686 ko dc.

    PHP Code:
    ...
    typedef struct
    {
       
    int sodt;
       
    int thoiGianGoi;
       
    char mien[100];
    SCuocGoi;
    ...
    SCuocGoi cuocGoi;
    fscanf (pFILE"%d %d %s", &cuocGoi.sodt, &cuocGoi.thoiGianGoicuocGoi.mien);
    ... 

  6. #6
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Mặc định xử lý dữ liệu từ FILE

    được !
    chả vấn đề gì chỉ cần chú ý cái string sao không bị overflow là được
    None!

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

    sao mình làm thế này ( như bạn zkday2686 nói lại không được nhỉ ?)
    Code:
    #include<stdio.h>
    #include<conio.h>
    typedef struct ten
    {  int stt;
       char name[25];
       long std;
    }phone;
    main()
    {
    
    FILE *p;
    phone dt;
    p=fopen("d:\\phone1.dat","rb");
    while(fread(&dt,sizeof(phone),1,p),!feof(p)){
     printf("stt%d",dt.stt); 
    printf("ten khach hang:%d",dt.name);
    printf("sdt:%d",dt.std);
    
    fclose(p);
    }
    getch();
    }

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

    Không được như thế nào vậy bạn, bạn mô tả chung chung quá.
    C Code:
    1.  
    2. #include<stdio.h>
    3. #include<conio.h>
    4. typedef struct ten
    5. {  int stt;
    6.    char name[25];
    7.    long std;
    8. }phone;
    9. main()
    10. {
    11.  
    12. FILE *p;
    13. phone dt;
    14. p=fopen("d:\\phone1.dat","rb");
    15. while(fread(&dt,sizeof(phone),1,p),!feof(p)){
    16.  printf("stt%d",dt.stt);
    17. printf("ten khach hang:%d",dt.name);
    18. printf("sdt:%d",dt.std);
    19.  
    20. //fclose(p); đưa fclose ra ngoài vòng lặp.
    21. }
    22.  
    23. fclose(p);
    24. getch();
    25. }

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

    khi chạy nó cứ đen thui chứ chả in cai ji ra màn hình cả ! (đã đưa hàm fclose ra ngoài vòng while)
    tệp dữ liệu của mình như thế này nè :
    1 nguyen van a 8999999;
    2 nguyen van b 8555555;
    .. .................. ...........;
    .. .................. ...........;
    ..

  10. #10
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    1)
    C++ Code:
    1. printf("ten khach hang:%d",dt.name); // <--- %d hay là %s

    2)
    C++ Code:
    1. typedef struct ten
    2. {  int stt;
    3.    char name[25];
    4.    long std;
    5. }phone;
    6.  
    7. while(fread(&dt,sizeof(phone),1,p),!feof(p)){

    dữ liệu
    Code:
    1 nguyen van a 8999999;
    2 nguyen van b 8555555;
    thế hỏi phát: nó đọc chuỗi name rồi kết thúc thế nào?
    ghi chú:
    C++ Code:
    1. char name[25];
    None!

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

  1. Cách add file thư viện dll vào file exe để tạo một file chạy duy nhất C#
    Gửi bởi nthung2112 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 20
    Bài viết cuối: 01-09-2012, 10:01 AM
  2. File backup .bak có dung lương lớn hơn file .mdb và file log
    Gửi bởi MYNAM trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 4
    Bài viết cuối: 27-07-2012, 12:59 PM
  3. Giới thiệu cách chuyển File Ảnh thành file Video trong download proshow gold
    Gửi bởi thuhu0900x trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 3
    Bài viết cuối: 03-07-2012, 03:54 AM
  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. Trả lời: 17
    Bài viết cuối: 23-05-2011, 11:47 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