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

Đề tài: [C] Làm thế nào để nhập số báo danh không trùng nhau?

  1. #1
    No Avatar
    leorio Khách

    Mặc định [C] Làm thế nào để nhập số báo danh không trùng nhau?

    em muốn viết một đoạn chương trình ý tưởng là như thế này
    nhập vào số báo danh của n học sinh nhưng các số báo danh này không được trùng nhau(nếu người nhập vào sbd trùng thì phải nhập lại) ai đó viết hộ em đoạn function này được không em viết hoài mà không đạt hichic

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

    Cũng không đến nỗi khó lắm đâu, muốn làm được việc này trước tiên bạn cần xây dựng cho mình một hàm tìm kiếm số báo danh trong hồ sơ học sinh của bạn (trong bài của bạn là mảng chăng??). Mình chỉ ghi mã giả, bạn tự làm nhé:
    Code:
    int TimKiem(char *s,HoSo hs,int n) //n: số học sinh
    {
        for(int i=0;i<n;i++)
            if (strcmp(hs[i].SoBD,s)==0) return 0; //tìm thấy
        return 1; //không tìm thấy
    }
    void NhapSoBaoDanh(...)
    {
        laplai:
           nhập số báo danh; //đặt là tên biến này là sbd nhé
           result=TimKiem(sbd,hs,n);
           if (result==1) lưu lại số báo danh này;
           else goto laplai; //nhảy về nhãn laplai
    }

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

    Bài toán ở đây đơn thuần chỉ có liên quan đến số báo danh vậy thì chỉ cần làm một con trỏ tới mảng. Chia thành các module nhỏ :
    1. Yêu cầu user nhập vào số báo danh.
    2. Lưu giá trị nhập vào mảng
    3. Viết một hàm tìm kiếm số báo danh trong mảng ( scan từ đầu đến giá trị vừa nhập nếu trùng thì bắt nhập lại tức là quay lại 1. )
    4. In kết quả.

    * Giả sử như có đi kèm luôn một danh sách tức là có tên thí sinh , số báo danh hay gì đó thì hàm tìm kiếm chỉ cần làm việc với giá trị cần làm, ở đây cụ thể là số báo danh.
    None!

  4. #4
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    uhm nếu nhập quá nhiều thì tìm kiếm sẽ mệt đấy nên dùng quicksort + strcmp để tìm kiếm cho nhanh !

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

  1. Nhập mảng, các phần tử không trùng nhau
    Gửi bởi dibo_ngaodu94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 06-07-2013, 01:55 PM
  2. Truy vấn lấy dữ liệu không trùng nhau như thế nào?
    Gửi bởi laodaika trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 2
    Bài viết cuối: 07-11-2012, 08:47 PM
  3. Bài tập C++ Nhập mảng 1 chiều, nếu phần tử nhập trùng nhau thì bắt nhập lại
    Gửi bởi danielh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 09-07-2011, 03:35 PM
  4. Lập trình C Làm Thế Nào Để Nhập Mã Số Sinh Viên Không Được Trùng nhau?
    Gửi bởi giacmo1612 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 02-06-2011, 08:31 PM
  5. [ Solved ]Loại bỏ những số trùng nhau, làm cách nào dễ hiểu nhất?
    Gửi bởi ilovebeckham trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 22
    Bài viết cuối: 27-03-2008, 12:58 PM

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