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

Đề tài: Quản lí danh bạ điện thoại

  1. #1
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Mặc định Quản lí danh bạ điện thoại

    1. Định nghĩa 1 dãy cấu trúc có thể được dùng làm danh bạ điện thoại, gồm có tên, địa
    chỉ, số điện thoại, với số mẫu tin tối đa là 40. Viết chương trình với các chức năng sau: nhập
    thông mới, tìm kiếm số điện thoại, in danh sách theo quận.


    Bài tập trên hai hàm tìm kiếm số điện thoại, in danh sách theo quận. mình cũng chưa biết làm sao cả.Các bạn có thể gợi ý giúp mình không.

  2. #2
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất nhiều sóng gió
    Bài viết
    445

    Tìm kiếm số điện thoại tức là nhập tên người vào thì nó tìm ra các số điện thoại của người ấy. Bạn hãy thử khai thác hàm chuẩn bsearch() của C để tìm kiếm.

    In danh sách theo quận tức là trong cấu trúc phải tách địa chỉ ra thành vài trường trong đó có trường "quận" và chương trình phải sắp xếp danh sách theo quận. Bạn có thể dùng hàm chuẩn qsort() của C để sắp xếp.

  3. #3
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    C Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. #include<string.h>
    4.  
    5.  
    6. typedef struct dbdt
    7. {
    8. char hoten[20];
    9. unsigned sdt;
    10. };
    11.  
    12.  
    13. void find(dbdt tb[],int n)
    14. {
    15.     char ht[8];
    16.     printf("\nNhap ten thue bao Can Tim: ");
    17.     gets(ht);
    18.     for(int i=1;i<=n;i++)
    19.        
    20. if(strcmp(ht,tb[i].hoten)==0)
    21. printf("So dien thoai can tim la:%u",tb[i].hoten);
    22. }
    23.  
    24.  
    25.  
    26. main()
    27. {
    28. dbdt tb[20];
    29.  
    30. int i,n;
    31.  
    32. clrscr();
    33.  
    34. printf("Co bao nhieu thue bao moi:");
    35. scanf("%d",&n); fflush(stdin);
    36.  
    37. for(i=0;i<n;i++)
    38. {
    39. printf("Nhap vao ten thue bao:");
    40. gets(tb[i].hoten); fflush(stdin);
    41.  
    42. printf("Nhap vao sdt:");
    43. scanf("%u",&tb[i].sdt);  fflush(stdin);
    44.  
    45.  printf("\n\n");
    46. }
    47.  
    48.  
    49.  
    50. find(tb,n);
    51.  
    52. getch();
    53. }

    Code này khi biên dich không bị lỗi.Nhưng khi nhập thì bị lỗi sau:
    Co bao nhieu thue bao moi:3
    Nhap vao ten thue bao:Nguyen Ngoc Huan
    Nhap vao sdt:888843




    Nhap vao ten thue bao:Vi Van Nam
    Nhap vao sdt:882621



    So dien thoai can tim la:65106So dien thoai can tim la:65066

    Rồi sau đó con trỏ chạy tùm lum cả.Các bạn sửa giúp mình
    Đã được chỉnh sửa lần cuối bởi kegiaumat055 : 06-06-2016 lúc 03:02 PM.

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

    printf("So dien thoai can tim la:%u",tb[i].hoten);
    mình thấy có mấy chỗ ko ổn bạn xem lại xem

  5. #5
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Mình đã sửa rôi nhưng vẫn bị lỗi:
    Co bao nhieu thue bao moi:2
    Nhap vao ten thue bao:nguyen ngoc huan
    Nhap vao sdt:887854
    Đã được chỉnh sửa lần cuối bởi kegiaumat055 : 06-06-2016 lúc 03:03 PM.

  6. #6
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Mặc định Quản lí danh bạ điện thoại

    Chú ý vòng for ở hàm main: i=0;
    Trong khi cậu sử dụng trong hàm tìm kiếm lại là i=1
    Và khi in ra kết quả lại sai
    printf("So dien thoai can tim la:%u",tb[i].hoten);
    hoten hay sdt? ->dẫn đến kết quả in ra không chính xác với yêu cầu "%u".
    Đến đây có lẽ cậu đã giải quyết xong bài của cậu.
    Không biết ghi gì luôn ...

  7. #7
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Trích dẫn Nguyên bản được gửi bởi Forlorn_hope Xem bài viết
    Chú ý vòng for ở hàm main: i=0;
    Trong khi cậu sử dụng trong hàm tìm kiếm lại là i=1
    Và khi in ra kết quả lại sai

    hoten hay sdt? ->dẫn đến kết quả in ra không chính xác với yêu cầu "%u".
    Đến đây có lẽ cậu đã giải quyết xong bài của cậu.
    Mình đã làm được rôi .Cảm oqn các bạn

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

  1. Bài tập giải thuật xuất danh bạ điện thoại không in ra số
    Gửi bởi gachip_vt trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 2
    Bài viết cuối: 28-06-2013, 06:42 PM
  2. Lập trình C++ Quản lý danh bạ điện thoại bằng C++
    Gửi bởi nobody.knows trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 25-11-2012, 11:04 AM
  3. Thêm file đọc ghi dữ liệu cho chương trình Quản lý danh bạ dùng danh sách nối đơn?
    Gửi bởi tuan_pl trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 0
    Bài viết cuối: 19-02-2012, 02:34 PM
  4. Code quản lý, tìm kiếm danh sách sử dụng danh sách liên kết đơn
    Gửi bởi anther trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-09-2010, 09:25 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