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

Đề tài: Em mới tự học lập trình C theo giáo trình lập trình C căn bản. Mn giúp em bài này với ạ, không biết code sai ở đâu mà k run đc.

  1. #1
    Ngày gia nhập
    08 2017
    Nơi ở
    Hà Nội
    Bài viết
    0

    Mặc định Em mới tự học lập trình C theo giáo trình lập trình C căn bản. Mn giúp em bài này với ạ, không biết code sai ở đâu mà k run đc.

    Đị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.

    /* định nghĩa 1 dãy cấu trúc có thể làm danh bạ điện thoại (tên, địa chỉ, sdt, mẫu tin tối đa 40).
    Chức năng của ctr: nhập thông mới, tìm kiếm sdt, in ds theo quận*/
    #include <stdio.h>
    #define MAX 100

    struct diachi
    {
    char phuong, quan, to;
    };

    struct danhbadienthoai
    {
    char ten [30];
    char diachi [30];
    char sdt [30];
    char mautin [40];

    };

    int main()
    {
    char sdt_tk, quan_tk;
    int N=0,i;
    struct danhbadienthoai dbdt[MAX];
    while((N<1)||(N>100))
    {
    printf("So luong hoc sinh la (0<N<=100):");
    scanf("%d",&N);
    }
    for(i=0;i<N;i++)
    {
    printf("\nNhap vao thong tin nguoi thu %d\n",i+1);
    printf("Nhap ten:");
    gets(dbdt[i].ten);
    printf("Nhap dia chi:");
    gets(dbdt[i].diachi);
    printf("Nhap so dien thoai:");
    gets(dbdt[i].sdt);
    printf("Nhap mau tin: ");
    gets(dbdt[i].mautin);
    }
    printf ("Nhap so dien thoai can tim kiem: ");
    gets(sdt_tk);
    for(i=0;i<N;i++)
    if (dbdt[i].sdt == sdt_tk)
    {
    printf("Ten Dia chi So dien thoai Mau tin \n");
    printf("%-5s%-30s%-15s%-30s\n",dbdt[i].ten,dbdt[i].diachi,dbdt[i].sdt,dbdt[i].mautin);
    }

    printf ("Nhap ten quan can in danh sach: ");
    gets(quan_tk);
    for(i=0;i<N;i++)
    if (dbdt[i].dc.quan == quan_tk)
    {
    printf("Ten Dia chi So dien thoai Mau tin \n");
    printf("%-5s%-30s%-15s%-30s\n",dbdt[i].ten,dbdt[i].diachi,dbdt[i].sdt,dbdt[i].mautin);
    }
    return 0;
    }

  2. #2
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    730

    Xem sơ qua thì
    1. Tên biến bạn khai báo khác với khi dùng (diachi != dc)
    2. Không thể so sánh 2 kiểu dữ liệu khác nhau (chuỗi != ký tự) trong:
    if (dbdt[i].sdt == sdt_tk)...
    if (dbdt[i].dc.quan == quan_tk)...

    Chưa để ý các lệnh khác.
    Yêu mã hơn yêu em !!!

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