QUẢN LÍ ĐOÀN VIÊN

13 264 0
Tài liệu đã được kiểm tra trùng lặp
QUẢN LÍ ĐOÀN VIÊN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mô tả và phân tích chưng trình quản lí đoàn viên

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CNTT & TT — { – Bài tập nhóm Q Q U U Ả Ả N N L L Ý Ý Đ Đ O O À À N N V V I I Ê Ê N N Giáo Viên Hướng Dẫn: Thầy THÁI MINH TUẤN Nhóm Thực Hiện: BÀNH HUỲNH HUY (1063271) TRƯƠNG CAO HỒNG VẬN (1063322) - 04/2008 - QUẢNĐOÀN VIÊN 1 1 L L Ờ Ờ I I N N Ó Ó I I Đ Đ Ầ Ầ U U Lập trình hướng đối tượng - OOP - là một phương pháp mới trên bước đường tiến hóa của lập trình máy tính, nó làm cho chương trình linh hoạt, dễ phát triển hơn. Với những lợi thế của lập trình hướng đối tượng mang lại ta dễ dàng thấy được tính ưu việt của nó so với phương pháp lập trình cấu trúc cổ điển. Hầu hết các ngôn ngữ lập trình hiện nay được giới chuyên môn sử dụng đều hổ trợ hướng đối tượng, ví dụ: C++, C#, Java, Visual Basic, Delphi… Trong đó ngôn ngữ đáng quan tâm là C++ vì hiện nay nó là ngôn ngữ rất phổ thông và thịnh hành bởi đặc điểm mềm dẻo vốn có. Đó cũng chính là ngôn ngữ mà nhóm chúng tôi sử dụng để thực hiện đề tài của mình. Do đây là lần đầu tiên tiếp cận với phương pháp lập trình hướng đối tượng nên không tránh khỏi những sai xót, và vẫn còn nhiều kiến thức mơ hồ. Chương trình chỉ mang tính tập sự, chưa thể sử dụng trong thực tế do giao diện chưa được đẹp và chưa xử lý được các ngoại lệ. Mong các bạn có thể đóng góp ý kiến quý báu của mình để nhóm của chúng tôi có thể hoàn thiện chương trình hơn. Cần Thơ, ngày 15 tháng 04 năm 2008 Nhóm thực hiện QUẢN LÝ ĐỒN VIÊN 2 2 M M Ụ Ụ C C L L Ụ Ụ C C LỜI NĨI ĐẦU 1 MỤC LỤC 2 CHƯƠNG I: MƠ TẢ & PHÂN TÍCH 3 I. MƠ TẢ BÀI TỐN . 3 II. PHÂN TÍCH BÀI TỐN . 3 1. Các đối tượng trong hệ thống . 3 2. Các chức năng cần đạt của hệ thống . 3 3. Phân chia cơng việc . 3 CHƯƠNG II: THIẾT KẾ CHƯƠNG TRÌNH . 4 I. SƠ ĐỒ LỚP . 4 II. MƠ TẢ CÁC LỚP . 5 III. CẤU TRÚC FILE 8 CHƯƠNG III: GIỚI THIỆU DEMO . 9 I. MƠI TRƯỜNG CÀI ĐẶT: . 9 1. Ngơn ngữ sử dụng: C++ 9 2. IDE: Visual C++ 6.0 9 II. CÁC FILES NGUỒN: 9 III. GIỚI THIỆU MỘT VÀI GIAO DIỆN 9 1. Main menu: . 9 2. Liệt kê tồn bộ các Chi Đồn: 10 3. Tìm kiếm theo mã số: 10 IV. CÁCH THỰC THI DEMO: 11 1. Liệt kê tồn bộ: 11 2. Liệt kê một Chi Đồn: . 11 3. Liệt kê cán bộ Đồn: 11 4. Liệt kê Chi Đồn còn thiếu phí: . 11 5. Tìm theo mã số: . 11 6. Tìm theo họ tên: 11 7. Thêm Đồn viên: . 11 8. Xóa Đồn viên: . 11 9. Sửa Đồn viên: 11 CHƯƠNG IV: KẾT QUẢ ĐẠT ĐƯỢC 12 I. TÍNH NĂNG - HẠN CHẾ - NGUN NHÂN 12 1. Tính năng: . 12 2. Hạn chế: 12 3. Ngun nhân: 12 II. HƯỚNG PHÁT TRIỂN – THAY CHO LỜI KẾT . 12 QUẢN LÝ ĐỒN VIÊN 3 3 CHƯƠNG I: MƠ TẢ & PHÂN TÍCH I. MƠ TẢ BÀI TỐN Trong tất cả các tổ chức, Đồn viên là một lực lượng nồng cốt khơng thể thiếu. Bên cạnh đó, do số lượng Đồn viên là một con số khơng nhỏ, đòi hỏi phải có sự quản lý chặt chẽ. Mặt khác, lĩnh vực CNTT ngày càng phát triển và con người đã từng bước áp dụng vào cuộc sống, cơng việc, đặc biệt là trong vấn đề lưu trữ và quản lý thơng tin. Vì thế, để giải quyết được vấn đề nan giải đó là làm sao để quản lý Đồn viên được chặt chẽ và dễ dàng, nhóm của chúng tơi đã thực hiện một đề án quản lý Đồn viên và các Chi Đồn trực thuộc của một tổ chức và cụ thể đó là Đồn Khoa CNTT&TT- ĐH Cần Thơ. II. PHÂN TÍCH BÀI TỐN 1. Các đối tượng trong hệ thống Trong q trình phân tích, hệ thống quản lý Đồn viên xuất hiện các đối tượng sau: - Đối tượng là ngày tháng - Đối tượng là Đồn viên: Có sử dụng đối tượng ngày tháng như là thành viên - Đối tượng là Chi Đồn: Có sử dụng đối tượng Đồn viên như là thành viên - Đối tượng là Đồn Khoa: Có sử dụng đối tượng Chi Đồn như là thành viên 2. Các chức năng cần đạt của hệ thống Chia là ba phần lớn: - Phần 1: Liệt kê danh sách o Phải liệt kê được một số danh sách cơ bản như § Danh sách một Chi Đồn § Danh sách tất cả Chi Đồn § Danh sách các Cán bộ Đồn § Danh sách các Chi Đồn còn thiếu Đồn phí o Phải cho người dùng xuất thơng tin của Chi Đồn và Đồn Khoa ra tập tin - Phần 2: Tìm kiếm thơng tin Đồn viên o Phải tìm kiếm được thơng tin Đồn viên dưới một vài dạng thức cơ bản như § Theo mã số § Theo họ tên o Phải cho người dùng xuất thơng tin của Đồn viên được tìm thấy ra tập tin - Phần 3: Thay đổi thơng tin Đồn viên o Phải có đủ các chức năng cơ bản để thay đổi nội dung của Đồn viên như § Thêm Đồn viên vào một Chi Đồn § Xóa Đồn viên khỏi một Chi Đồn § Sửa thơng tin của một Đồn viên 3. Phân chia cơng việc 1. Bành Huỳnh Huy Thiết kế lớp ngày tháng, lớp Đồn viên 2. Trương Cao Hồng Vận Thiết kế lớp Chi Đồn, lớp Đồn Khoa và Demo QUẢNĐOÀN VIÊN 4 4 CHƯƠNG II: THIẾT KẾ CHƯƠNG TRÌNH I. SƠ ĐỒ LỚP doanvien -name: char -sex: esex -birthday: dmy -home: char -joindate: dmy -joinplace: char -post: char -code: long -offcode: char -offname: char -course: int -staff: int <<create>>-doanvien() <<destroy>>-doanvien() +setName(: char): void +getName(): char +setBirday(: dmy): void +setBirday(: char): void +getBirday(): dmy +setSex(: char): void +setSex(: char): void +getSex(): char +setHome(: char): void +getHome(): char +setJoinDate(: dmy): void +setJoinDate(: char): void +getJoinDate(): dmy +setJoinPlace(: char): void +getJoinPlace(): char +setPost(: char): void +getPost(): char +setCode(: long): void +setCode(: char): void +getCode(): long +setCourse(: int): void +setCourse(: char): void +getCourse(): int +setOffName(: char): void +setOffCode(: char): void +newdoanvien(: char): void +repair(): void +showinfo(): void +save(: ofstream): void +out(): void <<CppOperator>>+=(: doanvien): doanvien <<CppFriend>>+<<(: ostream, : doanvien): ostream <<CppFriend>>+>>(: istream, : doanvien): istream dmy -date: int -month: int -year: int <<create>>-dmy() <<create>>-dmy(: char) +setdmy(: char): void <<CppOperator>>+>(: dmy): bool <<CppFriend>>+<<(: ostream, : dmy): ostream chidoan -list: doanvien -num: int -course: int -initnum: int -name: char -code: char -expire: dmy <<create>>-chidoan() <<destroy>>-chidoan() +showinfo(): void +load(: ifstream): void +save(: ofstream): void +sort(): void +swapdoanvien(: int, : int): void +add(): void +sub(): void +repair(): void +out(): void +size(): int +getExp(): dmy +getName(): char <<CppOperator>>+[](: int): doanvien <<CppFriend>>+<<(os: ostream, : chidoan): ostream doankhoa -num: int -data: chidoan -filename: char <<create>>-doankhoa(: char) <<destroy>>-doankhoa() +size(): int +out(): void +print(: char, : int): bool <<CppOperator>>+[](: int): chidoan +timtheoten(): void +timtheomaso(): void +showStaff(): void +printMoney(): void <<CppFriend>>+<<(: ostream, : doankhoa): ostream <uses> <uses> <uses> QUẢNĐOÀN VIÊN 5 5 II. MÔ TẢ CÁC LỚP Lớp ngày tháng classDMY Kiểu Tên Mô tả Biến int date, month, year Biến thành viên lưu ngày, tháng, năm dmy() dmy(char*) Hàm khởi tạo không đối số Hàm khởi tạo ngày từ chuổi (dd/mm/yyyy) void setdmy(char*) Hàm thay đổi ngày từ chuổi (dd/mm/yyyy) bool operator > So sánh "lớn hơn" giữa 2 ngày Phương thức ostream& operator << Xuất ra luồng xuất Lớp Đoàn viên classDoanVien Kiểu Tên Mô tả char * name Tên Đoàn viên esex sex Giới tính dmy birthday Ngày sinh char * home Quê quán dmy joindate Ngày vào Đoàn char * joinplace Nơi vào Đoàn char * post Chức vụ long code Mã số char* offcode Mã đơn vị char* offname Tên đơn vị int course Khóa học Biến thành viên int staff Có phải là cán bộ không doanvien() Hàm khởi tạo ~doanvien() Hàm hủy void setName(char*) Đặt tên qua tham số truyền vào char* getName() Nhận lại tên void setBirday(dmy) Đặt ngày sinh qua ngày tháng truyền vào void setBirday(char*) Đặt ngày sinh qua chuỗi truyền vào (dd/mm/yyyy) dmy getBirday() Nhận lại ngày sinh void setSex(char) Đặt giới tính bằng ký tự M hoặc F void setSex(char*) Đặt giới tính bằng chuỗi "Nam" hoặc "Nu" char getSex() Nhận lại giới tính void setHome(char*) Đặt quê quán qua chuỗi truyền vào char* getHome() Nhận lại quê quán Phương Thức void setJoinDate(dmy) Đặt ngày vào Đoàn bằng ngày tháng truyền vào QUẢN LÝ ĐỒN VIÊN 6 6 void setJoinDate(char*) Đặt ngày vào Đồn bằng chuỗi (dd/mm/yyyy) dmy getJoinDate() Nhận lại ngày vào Đồn void setJoinPlace(char*) Đặt nơi vào Đồn bằng chuỗi char* getJoinPlace() Nhận lại nơi vào Đồn void setPost(char*) Đặt chức vụ bằng chũi truyền vào char* getPost() Nhận lại chức vụ void setCode(long) Đặt mã số bằng số truyền vào void setCode(char*) Đặt mã số bằng chuỗi truyền vào long getCode() Nhận lại mã số void setCourse(int) Đặt Khóa học bằng số truyền vào void setCourse(char*) Đặt Khóa học bằng chuỗi truyền vào int getCourse() Nhận lại Khóa học void setOffName(char*) Đặt tên đơn vị bằng chuỗi truyền vào void setOffCode(char*) Đặt mã đơn vị bằng chuỗi truyền vào void newdoanvien(char*) Cập nhật lại thơng tin bằng chuỗi truyền vào có định dạng như sau: <tên>+<ngày sinh>+<giới>+<q>+<ngày vào Đồn>+<nơi vào Đồn>+<chức vụ>+<mã số>+ void repair() Sửa nội dung void showinfo() Hiển thị mọi thơng tin chi tiết void save(ofstream&) Lưu thơng tin ra file void out() Hỏi người dùng muốn xuất thơng tin ra file khơng doanvien& operator = Gán một Đồn viên cho một Đồn viên ostream& operator << Xuất ra luồng xuất istream& operator >> Nhận vào từ luồng nhập Lớp Chi Đồn classChiDoan Kiểu Tên Mơ tả doanvien * list Con trỏ lưu thơng tin các Đồn viên int num Số lượng Đồn viên trong chi Đồn int course Khóa học char * name Tên Chi Đồn char * code Mã Chi Đồn Biến thành viên dmy expire Đã đóng Đồn phí đến ngày này chidoan() Hàm khởi tạo ~chidoan() Hàm hủy void showinfo() Xuất thơng tin Chi Đồn ra màn hình void load(ifstream &) Nạp một Chi Đồn từ file void save(ofstream &) Xuất một Chi Đồn ra file void sort() Sắp xếp các Đồn viên theo thứ tự Mã số Phương Thức void swapdoanvien(int,int) Đổi chỗ 2 Đồn viên với nhau QUẢNĐOÀN VIÊN 7 7 void add() Thêm một Đoàn viên void sub() Xóa một Đoàn viên void repair() Sửa một Đoàn viên void out() Hỏi người dùng có muốn xuất thông tin Chi Đoàn này ra file không int size() Trả về số lượng Đoàn viên dmy getExp() Trả về ngày hết hạn Đoàn phí char* getName() Trả về tên Chi Đoàn doanvien& operator [](int) Trả về Đoàn viên thứ i trong danh sách ostream& operator << Xuất Chi Đoàn ra luồng xuất Lớp Đoàn Khoa classDoanKhoa Kiểu Tên Mô tả int num Số Chi Đoàn trong Đoàn Khoa chidoan* data Dữ liệu về các Chi Đoàn Biến char filename[30] Tên file lưu dữ liệu doankhoa(char*) Hàm khởi tạo ~doankhoa() Hàm hủy int size() Trả về số Chi Đoàn void out() Hỏi người dùng muốn xuất thông tin ra file không bool print(char*,int&) In chuỗi truyền vào như là lời nhắn (message). Tham chiếu kiểu int truyền vào đề nhận về chỉ số của Chi Đoàn cần in. Hàm trả về kết quả người dùng có muốn xuất thông tin không chidoan& operator[](int) Trả về Chi Đoàn thứ i trong danh sách void timtheoten() Tìm một Đoàn viên theo tên void timtheomaso() Tìm một Đoàn viên theo mã số void showStaff() Tìm kiếm và hiển thị các cán bộ Đoàn void printMoney() Tìm kiếm và hiển thị Chi Đoàn còn thiếu Đoàn phí Phương Thức ostream& operator << Xuất Đoàn Khoa ra luồng xuất QUẢNĐOÀN VIÊN 8 8 III. CẤU TRÚC FILE Dòng đầu tiên là số n lưu số Chi Đoàn Sau đó là n khối tiếp theo, mỗi khối có cấu trúc sau: - Dòng đầu tiên của khối là header, sau mỗi thông tin là một dấu CỘNG (+) : o Tên Chi Đoàn o Khóa học o Mã Chi Đòan o Ngày hết hạn Đoàn phí (dd/mm/yyyy) o Số m lưu số lượng thành viên trong Chi Đoàn - Sau đó là m dòng, mỗi dòng lưu thông tin của một Đoàn viên, sau mỗi thông tin là một dấu CỘNG (+): o Họ và tên o Ngày sinh (dd/mm/yyyy) o Giới tính (M/F) o Quê quán o Ngày vào Đoàn (dd/mm/yyyy) o Nơi vào Đoàn o Chức vụ (là khoảng trống nếu như không có) o Mã số (một số nguyên dương) Ví dụ: Cách lấy dữ liệu: + Đọc từng dòng, gán vào một chuỗi + Chuyễn chuỗi trên vào hàm gán (phương thức newdoanvien) + Dùng các hàm đặt để gán các thuộc tính tương ứng (set) QUẢNĐOÀN VIÊN 9 9 CHƯƠNG III: GIỚI THIỆU DEMO I. MÔI TRƯỜNG CÀI ĐẶT: 1. Ngôn ngữ sử dụng: C++ 2. IDE: Visual C++ 6.0 II. CÁC FILES NGUỒN: STT Tên file Mô tả 1. Header.h Khai báo các tiền xử lý #include Khái báo thủ tục clrscr() và panel() Kiểu liệt kê sex và các tác tử nhập xuất của nó 2. classDMY.hpp Khai báo lớp Ngày tháng 3. classDMY.cpp Cài đặt lớp Ngày tháng 4. classDoanVien.hpp Khai báo lớp Đoàn viên 5. classDoanVien.cpp Cài đặt lớp Đoàn viên 6. classChiDoan.hpp Khai báo lớp Chi Đoàn 7. classChiDoan.cpp Cài đặt lớp Chi Đoàn 8. classDoanKhoa.hpp Khai báo lớp Đoàn Khoa 9. classDoanKhoa.cpp Cài đặt lớp Đoàn Khoa 10. Demo.cpp Chương trình chạy Demo các lớp đã cài đặt III. GIỚI THIỆU MỘT VÀI GIAO DIỆN 1. Main menu: [...]... c a Đoàn viên có h tên c n tìm Chương trình s li t kê t t c các Đoàn viên có h tên ch a chu i h tên v a nh p 7 Thêm Đoàn viên: Thêm m t Đoàn viên vào m t Chi Đoàn đư c ch đ nh, nh p t t c các thông tin c a Đoàn viên c n thêm 8 Xóa Đoàn viên: Xóa m t Đoàn viên trong Chi Đoàn đư c ch đ nh v i cách xác đ nh là ch s c a Đoàn viên đó trong Chi Đoàn 9 S a Đoàn viên: C p nh t l i thông tin c a m t Đoàn viên. .. Li t kê t t c các Đoàn viên đư c phân chia rõ ràng theo t ng Chi Đoàn 2 Li t kê m t Chi Đoàn: Mu n li t kê Chi Đoàn nào thì nh n phím s tương ng v i ch s c a Chi Đoàn đó 3 Li t kê cán b Đoàn: Li t kê t t c các Đoàn viên là cán b 4 Li t kê Chi Đoàn còn thi u phí: Li t kê t t c các Chi Đoàn chưa đóng đ phí Đoàn tính đ n th i đi m đang xét 5 Tìm theo mã s : Hi n th thông tin c a Đoàn viên có mã s c n... viên trong Chi Đoàn đư c ch đ nh v i cách xác đ nh là s th t c a Đoàn viên đó trong Chi Đoàn Lưu ý chung: khi đư c h i là có mu n xu t thông tin ra file không, nh n 'C' đ ch p nh n ho c phím b t kỳ đ h y N u ch p nh n xu t thông tin, s có dòng nh c nh p tên file mu n xu t ra ho c nh n Enter đ ch p nh n tên m c đ nh Tên m c đ nh là tên c a Chi Đoàn ho c tên Đoàn viên tương ng QU N LÝ ĐOÀN VIÊN ...QU N LÝ ĐOÀN VIÊN 10 2 Li t kê toàn b các Chi Đoàn: 3 Tìm ki m theo mã s : QU N LÝ ĐOÀN VIÊN 11 IV CÁCH TH C THI DEMO: Các menu đư c đánh s t 1 -> 9, l a ch n b ng cách nh n phím s tương ng v i ch s c a menu Nh n ESC đ thoát, chương... c a Chi Đoàn ho c tên Đoàn viên tương ng QU N LÝ ĐOÀN VIÊN 12 CHƯƠNG IV: K T QU Đ T ĐƯ C I TÍNH NĂNG - H N CH - NGUYÊN NHÂN 1 Tính năng: Hoàn thành cơ b n yêu c u c a h th ng qu n lý Đoàn viên Demo có giao di n đơn gi n d s d ng 2 H n ch : Giao di n còn thô sơ Có th s còn nhi u l i phát sinh trong quá trình nh p li u do không x hu ng ngo i l 3 lý các tình Nguyên nhân: Do đây là l n... giai đo n t p s đ hình dung ra vi c thi t k m t chương trình l n v i s h tr c a hư ng đ i tư ng là như th nào và đó là đi u ki n tiên quy t trong con đư ng ti n b c a th gi i nói chung và toàn th sinh viên nghiên c u chuyên ngành tin h c nói riêng —™—™—™—™—™—™—™—™—™—™—™—™—™—™—™—™—™—™—™—™

Ngày đăng: 25/04/2013, 08:38