Thứ Năm, 27 tháng 2, 2014

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

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

Không có nhận xét nào:

Đăng nhận xét