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

Đề tài: Hỏi về cách truyền mảng cấu trúc cho hàm

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

    Mặc định Hỏi về cách truyền mảng cấu trúc cho hàm

    Có cấu trúc sau
    PHP Code:
    struct person
    {
          
    char hoten[30];
          
    int tuoi;
    }
    khai báo biến:
    person nhanvien[100];
    int a
    Bây giờ em có thể truyền cả biến a và mảng cấu trúc trên vào hàm được không, hay là chỉ truyền được 1 giá trị của nhanvien như hàm sau:
    PHP Code:
    nhap(nhanvien[i]) 

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    nhap(nhanvien[i])
    Cái đó cũng sai bạn ah, có chăng thì như nè:
    Code:
    void nhap(struct person nhanvien)
    Cũng có thể truyền vào cả mảng:
    Code:
    void nhap(struct person nhanvien[])
    VD:
    Code:
    #include <stdio.h>
    
    struct person
    {
          char hoten[30];
          int tuoi;
    };
    
    void nhap(struct person nhanvien[]);
    int main()
    {
        printf("Run OK");
    }

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

    Ý em là thế này
    Ví dụ em đã có 1 mảng struct đã lưu danh sách của các nhân viên trong 1 công ty
    PHP Code:
    struct person
    {
          
    char hoten[30];
          
    int tuoi;
    }
    main()
    {
           
    person nhanvien[100];
           
    int a=0,k,n;
           
    printf("Nhap so nguoi can them\n");
                
    scanf("%d",&n);
                for(
    k=0;k<n;k++)
                 {
                     
    them(&db[k]);//đây là hàm thêm người
                     
    a++;/* tham số a ở đây là lưu số thứ tự của mỗi   người sau khi nhập vào*/
                 
    }
    }
    /*Bây giờ em muốn truyền cả mảng cấu trúc cùng tham số a vào 1 hàm tìm kiếm theo tên*/
    void timkiem(nhanvien[],int a)
    {
            
    char ht[30];
            
    int i;
            
    printf("nhap ten muon tim\n");
            for(
    i=0;i<a;i++)
            {
                 if(
    strcmp(ht,nhanvien[i].hoten)==0)
                    {
                    
    printf("Tuoi cua %s la %d\n"ht,nhanvien[i].tuoi);
                    }
                    else
                    
    printf("Khong tim thay\n");
            }

    Đấy, dạng bài là như thế, em muốn truyền cả 1 mảng cấu trúc vào hàm như vậy, nhưng lại ko được :((

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

    PHP Code:
    void timkiem(nhanvien[],int a
    bạn truyền như vậy nó không cho là đúng rồi.
    lỗi rất sơ đẳng là bạn không khai báo gì mà lại đưa luôn vào như vậy.

    nên sửa lại thành.
    PHP Code:
    void timkiem(person nhanvien[],int a
    và chổ khai báo kiểu struct bạn đưa như sau:



    PHP Code:
    typedef struct _person
    {
          
    char hoten[30];
          
    int tuoi;
    }
    person
    chúc bạn thành công.

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

    Nhưng em gặp vấn đề ở lúc gọi hàm, vẫn ví dụ trên, em thử gọi bằng cách:

    PHP Code:
    timkiem(nhanvien[],a
    nhưng không được :(

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

    Mặc định Hỏi về cách truyền mảng cấu trúc cho hàm

    Trích dẫn Nguyên bản được gửi bởi goroshi Xem bài viết
    Nhưng em gặp vấn đề ở lúc gọi hàm, vẫn ví dụ trên, em thử gọi bằng cách:

    PHP Code:
    timkiem(nhanvien[],a
    nhưng không được :(
    khi bạn gọi hàm bạn không được để kiểu mảng như vậy
    vì trên trước khi bạn gọi bạn đã nói nhân viên là một mảng rồi.
    ở dưới bạn chỉ cần gọi lại là như này thôi:
    PHP Code:
    timkiem(nhanvien,a

    chúc bạn thành công.

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

  1. [Store Procedure] Insert vào một trong các bảng có cấu trúc giống nhau với tên bảng là tham số truyền vào!
    Gửi bởi chuoi123 trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 9
    Bài viết cuối: 21-11-2012, 02:39 PM
  2. Bài tập về cấu trúc trong c | Cấu trúc sinh viên???
    Gửi bởi dddzzzjjjiii trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 14
    Bài viết cuối: 21-07-2012, 05:06 PM
  3. Trả lời: 3
    Bài viết cuối: 19-10-2011, 12:22 AM
  4. thắc mắc về cách truyền 1 cấu trúc vào trong cây nhị phân
    Gửi bởi racingboyc4 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 19-05-2011, 03:00 PM
  5. Lỗi: Truyền tham số là mảng có kiểu dữ liệu cấu trúc
    Gửi bởi hoicuibap trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 07-04-2011, 11:59 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