Tài liệu học lập trình c cho người khiếm thị
  • 1. LỜI NÓI ĐẦU
    • Lời nói đầu
  • 2. BÀI HỌC LÝ THUYẾT
    • Bài 1. Giới thiệu về ngôn ngữ lập trình C
    • Bài 2. Cài đặt môi trường và viết chương trình đầu tiên
    • Bài 3. Biến và kiểu dữ liệu
    • Bài 4. Toán tử và biểu thức
    • Bài 5. Nhập và xuất trong C
    • Bài 6. Câu lệnh điều kiện rẽ nhánh
    • Bài 7. Vòng lặp
    • Bài 8. Mảng
    • Bài 9. Con trỏ
    • Bài 10. Hàm
    • Bài 11. Chuỗi
    • Bài 12. Các kiểu dữ liệu nâng cao và thuật toán sắp xếp
    • Bài 13. Quản lý tập tin
  • Bài tập nhỏ
    • Bài tập 1: Biến và kiểu dữ liệu
    • Bài tập 2: Toán tử và biểu thức
    • Bài tập 3: Nhập và xuất trong C
    • Bài tập 4: Câu lệnh điều kiện
    • Bài tập 5: Vòng lặp
    • Bài tập 6: Mảng
    • Bài tập 7: Con trỏ
    • Bài tập 8: Hàm
    • Bài tập 9: Chuỗi
    • Bài tập 10: Dữ liệu nâng cao và sắp xếp
    • Bài tập 11: Quản lý tập tin
  • Bài tập lớn
    • Bài tập 1: Quản lý sinh viên
    • Bài tập 2: Phần mềm quản lý thư viện
    • Bài tập 3: Chương trình quản lý danh bạ
  • 4. VÍ DỤ MINH HỌA
    • Ví dụ 1: Chương trình Hello World
    • Ví dụ 2: Máy tính đơn giản
    • Ví dụ 3: Kiểm tra số nguyên tố
    • Ví dụ 4: Đọc và ghi file trong C
    • Ví dụ 5: Sử dụng con trỏ trong C
    • Ví dụ 6: Quản lý sinh viên sử dụng struct
    • Ví dụ 7: Sắp xếp mảng bằng thuật toán Bubble Sort
    • Ví dụ 8: Đọc ghi file CSV
    • Ví dụ 9: Duyệt mảng bằng con trỏ
    • Ví dụ 10: Quản lý bộ nhớ động
    • Ví dụ 11: Sử dụng vòng lặp để xử lý dữ liệu
    • Ví dụ 12: Xử lý chuỗi bằng thư viện string.h
    • Ví dụ 13: Cấu trúc dữ liệu nâng cao
  • 5. PHỤ LỤC
    • phần I. Các hàm chuẩn trong thư viện C
    • phần II. Cấu trúc dữ liệu trong C
    • Phần III: Thuật toán cơ bản
    • Phần IV: Thuật ngữ lập trình
  • 6. THÔNG TIN TÀI LIỆU
    • thông tin tài liệu
Powered by GitBook
On this page
  • I. Mục tiêu
  • II. Bài tập mẫu
  • Yêu cầu
  • Hướng dẫn
  • Ví dụ minh họa
  • III. Bài tập thực hành
  1. Bài tập lớn

Bài tập 3: Chương trình quản lý danh bạ

I. Mục tiêu

  • Xây dựng chương trình quản lý danh bạ cho phép thêm, xóa, sửa và tìm kiếm thông tin liên lạc.

  • Áp dụng kiến thức về cấu trúc dữ liệu, con trỏ, file và danh sách liên kết.

  • Rèn luyện kỹ năng xử lý chuỗi, thao tác với file và quản lý bộ nhớ động.

II. Bài tập mẫu

Yêu cầu

Viết một chương trình đơn giản giúp người dùng thêm và hiển thị danh bạ.

Hướng dẫn

  1. Sử dụng cấu trúc struct để lưu thông tin liên lạc gồm: tên, số điện thoại, email.

  2. Dùng mảng động hoặc danh sách liên kết để quản lý danh sách liên lạc.

  3. Viết hàm thêm liên lạc mới vào danh bạ.

  4. Viết hàm hiển thị danh bạ.

  5. Lưu danh bạ vào file để có thể truy xuất lại.

Ví dụ minh họa

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX 100

typedef struct {
    char name[50];
    char phone[15];
    char email[50];
} Contact;

void addContact(Contact contacts[], int *size) {
    if (*size >= MAX) {
        printf("Danh bạ đầy!\n");
        return;
    }
    printf("Nhập tên: ");
    scanf("%s", contacts[*size].name);
    printf("Nhập số điện thoại: ");
    scanf("%s", contacts[*size].phone);
    printf("Nhập email: ");
    scanf("%s", contacts[*size].email);
    (*size)++;
}

void displayContacts(Contact contacts[], int size) {
    printf("\nDanh bạ:\n");
    for (int i = 0; i < size; i++) {
        printf("%d. %s - %s - %s\n", i + 1, contacts[i].name, contacts[i].phone, contacts[i].email);
    }
}

int main() {
    Contact contacts[MAX];
    int size = 0;
    addContact(contacts, &size);
    displayContacts(contacts, size);
    return 0;
}

III. Bài tập thực hành

Phát triển chương trình quản lý danh bạ với các chức năng nâng cao:

  1. Thêm liên lạc mới: Cho phép người dùng nhập tên, số điện thoại, email và lưu vào danh bạ.

  2. Hiển thị danh bạ: Hiển thị danh sách tất cả các liên lạc.

  3. Tìm kiếm liên lạc: Tìm kiếm thông tin theo tên hoặc số điện thoại.

  4. Xóa liên lạc: Xóa một liên lạc theo số điện thoại.

  5. Cập nhật thông tin: Cho phép sửa đổi thông tin liên lạc.

  6. Lưu và đọc từ file: Lưu danh bạ vào file và đọc lại khi chạy chương trình.

  7. Sử dụng danh sách liên kết: Nếu có thể, triển khai danh sách liên kết thay vì mảng động.

  8. Giao diện thân thiện: Thiết kế menu điều khiển rõ ràng, dễ sử dụng.

  9. Kiểm tra lỗi đầu vào: Đảm bảo người dùng không nhập thông tin trùng lặp hoặc sai định dạng.

  10. Sắp xếp danh bạ: Cung cấp tùy chọn sắp xếp danh sách liên lạc theo tên hoặc số điện thoại.

Học viên cần thiết kế chương trình hoàn chỉnh, đảm bảo tính tối ưu và dễ sử dụng.

PreviousBài tập 2: Phần mềm quản lý thư việnNextVí dụ 1: Chương trình Hello World

Last updated 2 months ago