Đề tài Chương trình hỗ trợ học tiếng Nhật

Tin học là một ngành khoa học mũi nhọn phát triển hết sức nhanh chóng trong vài chục năm trở lại đây và ngày càng mở rộng lĩnh vực nghiên cứu, ứng dụng trong mọi mặt của đời sống xã hội. Mà hơn tất cả đó là các phần mềm hữu dụng phục vụ các công việc thường ngày của con người. Ngày nay, các sản phẩm phần mềm ra đời nhằm cung cấp các chương trình ứng dụng thực hiện trên các thiết bị điện tử như máy tính, các bộ điều khiển, Điều này thực hiện được để đơn giản hoá các công đoạn trong hệ thống công việc. Ngôn ngữ lập trình là một loại công cụ giúp con người thể hiện các vấn đề của thực tế lên máy tính một cách hữu hiệu. Với sự phát triển của Tin học, các ngôn ngữ lập trình cũng dần tiến hóa để đáp ứng các thách thức mới của thực tế. Khoảng cuối những năm 1960 đầu 1970 xuất hiện nhu cầu cần có các ngôn ngữ bậc cao để hỗ trợ cho những nhà Tin học trong việc xây dựng các phần mềm hệ thống, hệ điều hành. Ngôn ngữ C ra đời từ đó, nó đã được phát triển tại phòng thí nghiệm Bell. Đến năm 1978, giáo trình “Ngôn ngữ lập trình C” do chính các tác giả của ngôn ngữ là Dennish Ritchie và B.W.Kernighan viết, đã được xuất bản và phổ biến rộng rãi. C là ngôn ngữ lập trình vạn năng. Ngoài việc C được dùng để viết hệ điều hành UNIX, người ta nhanh chóng nhận ra sức mạnh của C trong việc xử lý các vấn đề hiện đại của Tin học. C không gắn với bất kì một hệ điều hành hay máy nào, và mặc dầu nó đã được gọi là “ngôn ngữ lập trình hệ thống” vì nó được dùng cho việc viết hệ điều hành, nó cũng tiện lợi cho cả việc viết các chương trình xử lí số, xử lí văn bản và cơ sở dữ liệu. Sau một thời gian học môn Lập trình chuyên căn bản với ngôn ngữ C, chúng em đã hiểu được phần nào về phương pháp lập trình, nguyên lý hoạt động cũng như vai trò của ngôn ngữ C. Và để hiểu hơn về ngôn ngữ C, chúng em quyết định đi sâu tìm hiểu một ứng dụng của C, đó là một chương trình nhỏ gọn, tuy không mới nhưng lại rất có ích trong học tập cũng như làm việc: Từ điển Tiếng Nhật. Từ điển tiếng Nhật có rất nhiều vấn đề nên chúng em quyết định chia đề tài ra làm bốn phần như sau : + Phần 1: Giới thiệu đề tài + Phần 2: Mục tiêu đạt được của đề tài + Phần 3: Nội dung đề tài + Phần 4: Kết luận

doc38 trang | Chia sẻ: tuandn | Ngày: 23/05/2013 | Lượt xem: 1782 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Đề tài Chương trình hỗ trợ học tiếng Nhật, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC Mục lục…………………………………………………………….trang 1 Bảng phân công công việc……………………………………...trang 2 Lời mở đầu………………………………………………………..trang 3 Phần 1 : Giới thiệu đề tài…………………..……………………trang 5 Phần 2 : Mục tiêu đạt được……………………………………..trang 6 Phần 3 : Nội dung đề tài I. Một số tính năng của chương trình………………….trang 7 II. Tìm hiểu chương trình………………………………...trang 7 III. Code của chương trình……………………………….trang 8 IV. Chạy chương trình…………………………………….trang 32 Phần 4 : Kết luận I. Kết luận………………………………………………....trang 35 II. Ý nghĩa thực tiễn………………………………………trang 35 III. Ưu nhược điểm………………………………………..trang 36 IV. Hướng phát triển………………………………………trang 37 Phần 5 : Tài liệu tham khảo……….........………………….......trang 38 BẢNG PHÂN CÔNG CÔNG VIỆC Công việc Thực hiện Tìm tài liệu và tổng hợ thông tin Cả nhóm File PowerPoint - Xuân Đức - Tử Huân File Word Cả nhóm Thiết kế trang bìa Tuấn Vũ Phân tích, nhập từ điển, ghi đĩa - Tuấn Vũ - Văn Hưng Trình bày báo cáo - Xuân Đức - Tuấn Vũ Hỗ trợ báo cáo - Hoàng Vũ - Quốc Việt - Hoàng Thiện LỜI MỞ ĐẦU Tin học là một ngành khoa học mũi nhọn phát triển hết sức nhanh chóng trong vài chục năm trở lại đây và ngày càng mở rộng lĩnh vực nghiên cứu, ứng dụng trong mọi mặt của đời sống xã hội. Mà hơn tất cả đó là các phần mềm hữu dụng phục vụ các công việc thường ngày của con người. Ngày nay, các sản phẩm phần mềm ra đời nhằm cung cấp các chương trình ứng dụng thực hiện trên các thiết bị điện tử như máy tính, các bộ điều khiển,… Điều này thực hiện được để đơn giản hoá các công đoạn trong hệ thống công việc. Ngôn ngữ lập trình là một loại công cụ giúp con người thể hiện các vấn đề của thực tế lên máy tính một cách hữu hiệu. Với sự phát triển của Tin học, các ngôn ngữ lập trình cũng dần tiến hóa để đáp ứng các thách thức mới của thực tế. Khoảng cuối những năm 1960 đầu 1970 xuất hiện nhu cầu cần có các ngôn ngữ bậc cao để hỗ trợ cho những nhà Tin học trong việc xây dựng các phần mềm hệ thống, hệ điều hành. Ngôn ngữ C ra đời từ đó, nó đã được phát triển tại phòng thí nghiệm Bell. Đến năm 1978, giáo trình “Ngôn ngữ lập trình C” do chính các tác giả của ngôn ngữ là Dennish Ritchie và B.W.Kernighan viết, đã được xuất bản và phổ biến rộng rãi. C là ngôn ngữ lập trình vạn năng. Ngoài việc C được dùng để viết hệ điều hành UNIX, người ta nhanh chóng nhận ra sức mạnh của C trong việc xử lý các vấn đề hiện đại của Tin học. C không gắn với bất kì một hệ điều hành hay máy nào, và mặc dầu nó đã được gọi là “ngôn ngữ lập trình hệ thống” vì nó được dùng cho việc viết hệ điều hành, nó cũng tiện lợi cho cả việc viết các chương trình xử lí số, xử lí văn bản và cơ sở dữ liệu. Sau một thời gian học môn Lập trình chuyên căn bản với ngôn ngữ C, chúng em đã hiểu được phần nào về phương pháp lập trình, nguyên lý hoạt động cũng như vai trò của ngôn ngữ C. Và để hiểu hơn về ngôn ngữ C, chúng em quyết định đi sâu tìm hiểu một ứng dụng của C, đó là một chương trình nhỏ gọn, tuy không mới nhưng lại rất có ích trong học tập cũng như làm việc: Từ điển Tiếng Nhật. Từ điển tiếng Nhật có rất nhiều vấn đề nên chúng em quyết định chia đề tài ra làm bốn phần như sau : + Phần 1: Giới thiệu đề tài + Phần 2: Mục tiêu đạt được của đề tài + Phần 3: Nội dung đề tài + Phần 4: Kết luận Qua đề tài này, chúng em được tìm hiểu sâu hơn về môn học và ứng dụng của ngôn ngữ lập trình C trong thực tế. Trong quá trình thực hiện đề tài, tuy đã có nhiều cố gắng nhưng chắc chắn sẽ không tránh khỏi những sai sót. Chúng em rất mong nhận được sự góp ý của cô giáo và các bạn để kịp thời bổ sung, sữa chữa để đề tài hoàn thiện hơn. Đà Nẵng, tháng 10/2010 Nhóm sinh viên thực hiện PHẦN 1: GIỚI THIỆU ĐỀ TÀI Như chúng ta đã biết, hiện nay nhu cầu giao tiếp bằng ngoại ngữ rất phổ biến trên thế giới. Việt Nam cũng không phải là ngoại lệ, nước ta đã và đang bước vào thời kì hội nhâp quốc tế nên ngoại ngữ ngày càng được sử dụng nhiều. Để đáp ứng được nhu cầu đó, mỗi chúng ta đã phải bỏ ra không ít công lao để học các ngoại ngữ phổ biến trên thế giới, trong đó có tiếng Nhật. Tiếng Nhật là một ngôn ngữ được hơn 130 triệu người sử dụng ở Nhật Bản và những cộng đồng dân di cư Nhật Bản khắp thế giới. Việc học ngoại ngữ nói chung và học tiếng Nhật nói riêng là rất khó. Chính vì thế việc xây dựng một bộ từ điển ngôn ngữ là hết sức cần thiết. Nên đã có nhiều người sáng tạo ra một số phần mềm hỗ trợ chúng ta học dễ dàng và hiệu quả hơn. Có thể dựa trên nhiều cơ sở để sáng tạo ra chương trình hỗ trợ chúng ta. Trong đó, không thể không kể đến vai trò quan trọng và ứng dụng của ngôn ngữ C. Dựa trên ngôn ngữ lập trình C, chương trình hỗ trợ học Tiếng Nhật “Từ điển Mini - Version 1” đã ra đời và đến nay đã phát triển lên phiên bản Version 4, giúp cho những ai học tiếng Nhật học tốt hơn. Đây là một sản phẩm viết ra trên dos với sự cố vấn của anh Hoàng Minh Hưng, trước đây là sinh viên trường Công Nghệ Thăng Long. Đây là tác phẩm đầu tay của anh Hưng khi học tiếng Nhật ở trường. Được sự đồng ý và hướng dẫn của anh Hưng, nhóm chúng em quyết định chọn tác phẩm của anh làm đề tài để nghiên cứu và phát triển. PHẦN 2: MỤC TIÊU ĐẠT ĐƯỢC CỦA ĐỀ TÀI Khi chọn thực hiện đề tài này chúng em đã xác định một số mục tiêu phải đạt được như sau: Xây dựng một bộ từ điển tiếng Nhật với đầy đủ tính năng, tra từ nhanh chóng, có thể tra từ tiếng Nhật sang tiếng Việt và từ tiếng Việt sang tiếng Nhật. Giao diện dễ sử dụng, dễ nhìn. Thông qua chương trình nắm rõ về ngôn ngữ C, các tính năng cũng như phương pháp lập trình trên ngôn ngữ C và các ngôn ngữ khác. Tìm hiểu các thuật toán ứng dụng để sau này có thể áp dụng vào các chương trình lớn hơn. Mỗi chúng ta phải biết cách sử dụng chương trình, hiểu rõ được cấu trúc của chương trình, hiểu được các đoạn Code chương trình như thế nào, mỗi đoạn Code đó dùng để làm gì. Hỗ trợ người học tiếng Nhật có thể học dễ dàng và hiệu quả hơn. Qua đề tài này, tất cả mọi người đều biết đến một phương tiện học tâp thật tốt khi học tiếng Nhật đó là từ điển Mini-Version 4. PHẦN 3: NỘI DUNG ĐỀ TÀI I. MỘT SỐ TÍNH NĂNG CỦA CHƯƠNG TRÌNH Chương trình được chia làm 2 phần: Dành cho Admin, người lập trình: Phần này là phần dành cho người phát triển chương trình có thể thao tác trên dữ liệu, thay đổi dữ liệu của chương trình. Người phát triển có thể thêm, sửa đổi hay cập nhật thêm thông tin,… Dành cho người dùng: Phần này dành cho mọi người có thể sử dụng để tra từ, tìm kiếm,…có giao diện dễ nhìn, dễ sử dụng. II. TÌM HIỂU CHƯƠNG TRÌNH 1. Một số thuật toán sử dụng trong chương trình 1.1. Xóa một phần tử: - Tạo ra một tệp “temp.dat” làm tệp dịch của sự xáo trộn dữ liệu - Copy dữ liệu từ tệp sang tệp trừ phần tử xác định loại bỏ. - Copy ngược trở lại dữ liệu vào tệp "dictionary.dat" 1.2. Thêm vào một phần tử mới: - Tạo một đối tượng character temp - Nhập dữ liệu cho đối tượng đó - Kiểm tra xem có trùng file hay không - Nếu không trùng thì mở file có đuôi ios::app để ghi thêm vào 1.3. Chỉnh sửa đối tượng - Đề nghị nhấp vào đối tượng cần chỉnh sửa - Kiểm tra xem có phát hiện không, nếu không thì bỏ qua, nhập lại - Nếu có phát hiện thì đổi hàm thêm phần tử 2. Các chế độ của chương trình 2.1. Chế độ thực hành, luyện tập 2.2. Quản lí tài nguyên + Quản lí từ khóa - Thêm từ khóa - Sửa từ khóa - Bớt từ khóa + Backup thư viện từ khóa + Update thư viện từ khóa + Kết nối bạn bè + Thay đổi mật khẩu Admin 2.3. Exit III. CODE CỦA CHƯƠNG TRÌNH 1. Khai báo thư viện //=================Khai bao thu vien ============== #include "character.h" #include "administrator.h" #include #include #include "helpNV.h" #include "option.h" #include "extradata.h" #include "rocket.h" #define tepbackup "backup.dat" #define tepnguon "dictionary.dat" #define tepnhap "temp.dat" #define teptrunggian "temp1.dat" #define tepupdate "C:\\Documents and Settings\\Administrator\\Desktop\\update.dat" #define tepfriend "C:\\Documents and Settings\\Administrator\\Desktop\\friend.dat" #define tepfriend2 "update.dat" // 2. Tìm kiếm một từ //-------------------------- Tim kiem mot phan tu ------------------------------ template bool seek_file(T a,int k=0) { int x=wherex(),y=wherey(); _setcursortype(0); ifstream in(tepnguon,ios::binary); if(!in) { gotoxy(32,18); cout<<"Khong tim thay file du lieu nguon...."; gotoxy(x,y); return false; } else { bool co=false; character temp; int vitri=17,dem=0; if(k==0) { for(int i=vitri;i<49;i++) { gotoxy(1,i); for(int run=0;run<28;run++) cout<<" "; gotoxy(30,i); for(int run=30;run<80;run++) cout<<" "; } } while(in.read((char*)&temp,sizeof temp)) { if(temp==a) { if(k==0) { gotoxy(1,vitri); //cout<<temp; textcolor(15); cprintf("%c ",4); textcolor(14); cprintf("%s",temp.get_name()); gotoxy(30,vitri); textcolor(15); cprintf("%c ",16); textcolor(11); cprintf("%s",temp.get_itmeans()); gotoxy(x,y); vitri++; dem++; if(dem==30) break; } co=true; } } if(k==0&&co==false) { gotoxy(32,18); textcolor(10);cprintf("%s"," Khong tim thay tu khoa nao trung ...."); } gotoxy(x,y); _setcursortype(2); return co; } } 3. Tìm kiếm xác định duy nhất //-------------------------------Tim kiem xac dinh duy nhat--------------------- bool seek_word(char a[]) { int x=wherex(),y=wherey(); _setcursortype(0); ifstream in(tepnguon,ios::binary); if(!in) { gotoxy(32,18); cout<<"Khong tim thay file du lieu nguon...."; gotoxy(x,y); return false; } else { bool co=false; character temp; int vitri=17; for(int i=vitri;i<49;i++) { gotoxy(1,i); for(int run=0;run<28;run++) cout<<" "; gotoxy(30,i); for(int run=30;run<80;run++) cout<<" "; } while(in.read((char*)&temp,sizeof temp)) { if(temp.check(a)) { gotoxy(1,vitri); //cout<<temp; textcolor(15); cprintf("%c ",4); textcolor(14); cprintf("%s",temp.get_name()); gotoxy(30,vitri); textcolor(15); cprintf("%c ",16); textcolor(11); cprintf("%s",temp.get_itmeans()); gotoxy(x,y); vitri++; co=true; } } if(co==false) { gotoxy(32,18); textcolor(10);cprintf("%s"," Khong tim thay tu khoa nao trung ...."); } /* for(int i=16;i<51;i++) { gotoxy(29,i); textcolor(mau);cprintf("%c",char(-77)); } */ gotoxy(x,y); _setcursortype(2); getch(); return co; } } 4. Tìm kiếm bất kì //-------------------------------Tim kiem bat ki------------------------------- template bool searchalltype(T a) { int x=wherex(),y=wherey(); ifstream in(tepnguon,ios::binary); if(!in) { gotoxy(32,18); cout<<"Khong tim thay file du lieu nguon...."; gotoxy(x,y); return false; } else { bool co=false; character temp; int vitri=17,dem=0; _setcursortype(0); for(int i=vitri;i<49;i++) { gotoxy(1,i); for(int run=0;run<28;run++) cout<<" "; gotoxy(30,i); for(int run=30;run<80;run++) cout<<" "; } while(in.read((char*)&temp,sizeof temp)) { if(temp.checkall(a)) { co=true; gotoxy(1,vitri); //cout<<temp; textcolor(15); cprintf("%c ",4); textcolor(14); cprintf("%s",temp.get_name()); gotoxy(30,vitri); textcolor(15); cprintf("%c ",16); textcolor(11); cprintf("%s",temp.get_itmeans()); gotoxy(x,y); vitri++; dem++; if(dem==30) { _setcursortype(0); /* for(int i=16;i<51;i++) { gotoxy(29,i); textcolor(mau);cprintf("%c",char(-77)); } */ int ch; int w=wherex(),t=wherey(); gotoxy(30,47); textcolor(15); cprintf("%s","Press 'ESC' at anytime to turn back this menu !"); gotoxy(w,t); ch=getch(); if(ch==27) return co; vitri=17; for(int i=vitri;i<49;i++) { gotoxy(1,i); for(int run=0;run<28;run++) cout<<" "; gotoxy(30,i); for(int run=30;run<80;run++) cout<<" "; } dem=0; } } } /* for(int i=16;i<51;i++) { gotoxy(29,i); textcolor(mau);cprintf("%c",char(-77)); } */ if(co==false) { gotoxy(32,18); textcolor(10);cprintf("%s"," Khong tim thay tu khoa nao trung ...."); } gotoxy(30,47); textcolor(15); cprintf("%s","Press 'ESC' at anytime to turn back this menu !"); gotoxy(x,y); _setcursortype(2); getch(); return co; } } 5. Hàm copy hai tệp dữ liệu //----------------------------- Ham copy hai tep du lieu ---------------------- void copyright(char a[],char b[],character &c) // copy tu a sang b { ifstream in(b,ios::binary); ofstream out(a,ios::binary); if(!in) return; else { character temp; while(in.read((char*)&temp,sizeof temp)) { if(!(temp==c)) { out.write((char*)& temp,sizeof temp); } } in.close(); out.close(); 6. Tạo ra file lưu trữ //----------------------------- Tao ra file luu tru ---------------------------- void create_file(char a[]="No Name") { if(!strcmp(a,"No Name")) { } else { ofstream out(a,ios::binary); out.close(); } } 7. Thêm dữ liệu vào //------------------------------ Them vao mot du lieu -------------------------- void add_member() { ofstream in(tepnguon,ios::binary|ios::app); if(!in) { clrscr(); cout<<"\n\n\n\t Khong tim thay file du lieu nguon...."; cout<<"\n\n Tu dong tao file du lieu nguon....."; create_file(tepnguon); } else { char name[30],means[70]; while(1) { clrscr(); gotoxy(10,40); textcolor(15); cprintf("%s","Press 'ENTER' with no character at anytime to turn back this menu !"); gotoxy(1,1); cout<<"\n\n\n\n\t Nhap ten tu khoa : ";gets(name); if(!name[0]) {in.close();return;} ifstream ghi(tepnguon,ios::binary|ios::app); if(!ghi) { cout<<"\n\n Khong the tim thay tep nguon";getch();return; } character temp; bool co=true; while(ghi.read((char*)&temp,sizeof temp)) { char tunhap[30]; strcpy(tunhap,name); int tg=strlen(tunhap); if(tunhap[tg-1]=='*') { tunhap[tg-1]='\0'; } if(temp.check(tunhap)) {cout<<"\n\n Phat hien da co tu khoa trong thu vien..."; getch();co=false;break;} } ghi.close(); if(!co) continue; else { cout<<"\n\n\t Nhap vao nghia cua tu : ";gets(means); character temp(name,means); in.write((char*)&temp,sizeof temp); } } } } 8. Xóa đi một từ //---------------------------- Xoa di mot phan tu ------------------------------ void earse(char a[]="stop") { char name[70]; int dem=0; while(1) { clrscr(); gotoxy(10,40); textcolor(15); cprintf("%s","Press 'ENTER' with no character at anytime to turn back this menu !"); gotoxy(1,1); if(!strcmp(a,"stop")) { cout<<"\n\n\n \t Nhap vao tu khoa muon xoa bo ? ";gets(name); if(!name[0]) dem++; if(dem==2) return; } else strcpy(name,a); if(!strcmp(name,"exit")) return; if(seek_file(name,1)) { create_file(tepnhap); character temp(name,"su dung de lam doi tuong nhap"); copyright(tepnhap,tepnguon,temp); if(!rename(tepnguon,teptrunggian)) { rename(tepnhap,tepnguon); remove(teptrunggian); cout<<"\n\n Xoa doi tuong thanh cong ....."; } } else { cout<<"\n\n Khong tim thay doi tuong can xoa..."; } getch(); } } 9. Đọc file đã ghi //----------------------------- Doc file da ghi -------------------------------- int read_file(int k=-1,int n=0) { ifstream in(tepnguon,ios::binary); if(!in) cout<<"\n\n Khong lien ket duoc voi file nguon..."; else { character temp; int dem=0,dem2=0; int ch; while(in.read((char*)&temp,sizeof temp)) { if(k==-1) { cout<<temp; if(dem2==20) { int w=wherex(),t=wherey(); gotoxy(10,47); textcolor(15); cprintf("%s","Press 'ESC' at anytime to turn back this menu !"); gotoxy(w,t); ch=getch();;if(int(ch)==27){in.close();break;}dem2=0;clrscr(); } dem2++; } else { if(k==dem&&k!=-2) { clrscr(); gotoxy(15,40); textcolor(15); cprintf("%s","Press 'ESC' at anytime to turn back this menu !"); switch(n) { case 1: { gotoxy(32,15); clreol(); cout<<temp.get_name(); break; } case 2: { gotoxy(32,15);clreol(); cout<<temp.get_itmeans(); break; } default : { int d=random(100); if(d%2==0) { gotoxy(32,15);clreol(); cout<<temp.get_itmeans(); break; } else { gotoxy(32,15);clreol(); cout<<temp.get_name(); break; } } } int ch=getch();if(ch==27)return 0; } } dem++; if(dem==6) dem=0; } in.close();return dem; } return 1; } 10. Update dữ liệu //---------------------------- Update du lieu ( trao doi ) --------------------- void update() { clrscr(); ifstream in("update.dat",ios::binary); if(!in) { in.open(tepupdate,ios::binary); if(!in) { moc1: clrscr(); cout<<"\n\n Chuong trinh khong the tu dong tim thay file..."<<endl; cout<<"\n \t\t De nghi nhap vao duong linh ?"; char a[50];gets(a); if(!a[0]) return; in.open(a,ios::binary); if(!in) goto moc1; } } ofstream out(tepnguon,ios::binary|ios::app); character temp; while(in.read((char*)& temp,sizeof temp)) { if(!seek_file(temp,1)) out.write((char*)&temp,sizeof temp); } cout<<"\n\n Update thu vien thanh cong...."; in.close(); out.close(); getch(); } 11. Kết nối thư viện bạn bè //----------------------------------- Ket noi thu vien ban be ------------------ void friend_file() { clrscr(); cout<<"\n\n\n\n\t Tao tep lien ket ra ngoai man hinh nen DESKTOP"; character temp("don't use this item","khong dung doi tuong nay"); create_file(tepfriend); copyright(tepfriend,tepnguon,temp); create_file(tepfriend2); copyright(tepfriend2,tepnguon,temp); cout<<"\n\n \t\t Tao file thanh cong......"; getch(); } 12. Backup dữ liệu //------------------------------- Backup du lieu ------------------------------- void backup() { ifstream in(tepbackup,ios::binary); if(in) { character temp("don't use this item","khong tu dung doi tuong nay"); copyright(tepnguon,tepbackup,temp); cout<<"\n\n\n Backup du lieu thanh cong...."; } else { cout<<"\n\n\n Khong the tim thay du lieu nguon......"; } getch(); } 13. In ra menu chính //--------------------------------- in ra menu chinh --------------------------- void display_menu() { clrscr(); cout<<"\n\n\t\t\t "; textcolor(15); cprintf("%s","CT TRO GIUP HOC TIENG NHAT"); cout Ho tro"; cout<<"\n\n Moi chon muc quan ly du lieu :\n"; cout<<"\n\t\t 1, Che do thuc hanh, luyen tap."; cout<<"\n\t\t 2, Quan ly chuong trinh."; cout\n\n\n\t "; int w=wherex(),t=wherey(); gotoxy(58,49); cout<<"Designed by HOANG HUNG"; gotoxy(60,50); cout<<"12/6/07 - Version 4"; gotoxy(w,t); } 14. In ra menu quản lí chương trình //---------------------------------- in ra menu quan ly chuong trinh ----------- void display1_menu() { clrscr(); cout<<"\n\n\n\t\t Moi chon muc quan ly chuong trinh \n"; cout\n"; cout\n"; cout<<"\n \t\t\t 3, Update thu vien tu khoa.\n"; cout<<"\n \t\t\t 4, Ket noi thu vien ban be.\n"; cout<<"\n \t\t\t 5, Thay doi mat khau Administrator.\n"; cout<<"\n \t\t\t 0, Quay tro lai.\n\n\t\t"; int w=wherex(),t=wherey(); gotoxy(10,40); textcolor(15); cprintf("%s","Press 'ENTER' with no character at anytime to turn back this menu !"); gotoxy(w,t); } 15. Chế độ thực hành, luyện tập //-------------------------------- che do thuc hanh , luyen tap ---------------- void data1_menu() { while(1) { _setcursortype(0); clrscr(); int w=wherex(),t=wherey(); gotoxy(10,40); textcolor(15); cprintf("%s","Press 'ESC' at anytime to turn back this menu !"); gotoxy(w,t); cout<<"\n\n Moi ban chon che do luyen tap ?\n\n\t\t 1, Tieng nhat\n\n\t\t 2, Tieng viet\n\n\t\t 3, Random