Kiểu dữ liệu struct về danh bạ điện thoại

Đề ra: Đị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 tin mới
  • tìm kiếm số điện thoại
  • in danh sách theo quận

em làm thế này mà nó cứ lỗi

/*Danh ba dien thoai*/
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define MAX 5
void main(void)
{
    struct danhba
    {
        char ten[20];
        int diachi;
        int sdt;
    };
    struct danhba db[MAX];
    for (int i=0;i<MAX;i++)
    {
        clear_bff();
        printf("Nhap nguoi thu %d :\n",i+1);
        gets(db[i].ten);
        printf("Nhap dia chi nguoi thu %d :\n",i+1);
        scanf("%d",&db[i].diachi);
        printf("Nhap so dien thoai nguoi thu %d :\n",i+1);
        scanf("%d",&db[i].sdt);
    }
    //tim so dien thoai
    int sdt_cantim;
    printf("Nhap so dien thoai can tim:");
    scanf("%d",&sdt_cantim);
    int index = MAX;
    for (int i=0;i<MAX;i++)
    {
        if (sdt_cantim==db[i].sdt)
        {
            index=i;
            break;
        }
    }
    if (index==MAX)
        printf("khong co so dien thoai can tim.");
    else
    {
        printf("so dien thoai can tim co thong tin sau: ");
        printf("quan %d\n",db[index].diachi);
        puts(db[index].ten);
    }
    //sap xep theo dia chi tang dan
    printf("Danh sach sau sap xep la: \n");
    for (int i=0;i<MAX;i++)
    {
        puts(db[i].ten);
        printf("\n");
    }
}

định dạng lại code đi bạn :smiley:

Lỗi gì thế bạn?

2 Likes


vòng đầu thì được nhưng sang vòng 2 trở đi thì không cho nhập tên vào nữa

  1. Bạn nên phân từng chức năng thành các hàm khác nhau. Nằm ngoài main(). Khai báo struct cũng vậy.
  2. Đề có nói là “số mẩu tin tối đa là 40”. Bạn đang để nó là 5 đấy.
  3. clear_bff; là gì thế? “Clear Buffer”? Là tên hàm hay tên biến?
    Đúng, chỗ này phải xóa bộ đệm thì mới nhập tiếp được, nhưng lệnh bạn gọi khó hiểu quá!
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?