Tải bản đầy đủ (.doc) (39 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (184.59 KB, 39 trang )

Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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
________________________________________________________________________
Khoa Tin học Trang 1
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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
________________________________________________________________________
Khoa Tin học Trang 2
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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.

________________________________________________________________________
Khoa Tin học Trang 3
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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

________________________________________________________________________
Khoa Tin học Trang 4
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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.
________________________________________________________________________
Khoa Tin học Trang 5
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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.
________________________________________________________________________
Khoa Tin học Trang 6
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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
________________________________________________________________________
Khoa Tin học Trang 7
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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
________________________________________________________________________

Khoa Tin học Trang 8
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT

2. Tìm kiếm một từ
//-------------------------- Tim kiem mot phan tu ------------------------------
template <class T>
bool seek_file(T a,int k=0)
{
int x=wherex(),y=wherey(); _setcursortype(0);
________________________________________________________________________
Khoa Tin học Trang 9
//=================Khai bao thu vien ==============
#include "character.h"
#include "administrator.h"
#include <fstream.h>
#include <stdio.h>
#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" //
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT

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)
________________________________________________________________________
Khoa Tin học Trang 10

Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
{
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 ....");
}
________________________________________________________________________
Khoa Tin học Trang 11

Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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++)
________________________________________________________________________
Khoa Tin học Trang 12

Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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 ....");
________________________________________________________________________

Khoa Tin học Trang 13
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
}
/* 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 <class T>
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++)
________________________________________________________________________
Khoa Tin học Trang 14
Chương trình hỗ trợ học tiếng Nhật Nhóm 5 – Lớp 09SPT
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++)
________________________________________________________________________
Khoa Tin học Trang 15

×