User Tag List

+ Trả lời chủ đề
Trang 1/2 12 CuốiCuối
Hiện kết quả từ 1 tới 10 của 14

Chủ đề: Tặng các bạn cái từ điển

  1. #1
    nguyenthanhtungtinbk
    Guest
    Không biết các bạn khối D có học C++ không chứ mình biết Genetic thì có. Genetic là một phần của Bách Khoa nhưng học bằng tiếng Anh. Trong quá trình học C++, mình có viết chương trình Translate từ tiếng Anh qua tiếng Indo (chương trình nhỏ thôi), post lên đây chơi. Các bạn có thể tự sửa tiếng Indo thành tiếng Việt và cũng có thể sửa mã nguồn để thành chương trình của riêng bạn
    ( Nghịch tí chơi <_< ).

    Mã:
    #include &#60;iostream.h&#62;
    #include &#60;fstream.h&#62;
    #include &#60;cstring&#62;
    
    class EITran10
    {
    private&#58;
    	ifstream fdic;
    	ifstream fin;
    	ofstream fout;
    
    	char *pDic;
    public&#58;
     &nbsp; &nbsp;EITran10&#40;&#41;
    	{
     &nbsp;pDic=new char&#91;strlen&#40;&#34;Dictionary.txt&#34;&#41;&#93;;
     &nbsp;strcpy&#40;pDic,&#34;Dictionary.txt&#34;&#41;;
    	}
    
    	bool EnglishToIndo&#40;char * FileSource, char * FileTarget&#41;;
    	bool IndoToEnglish&#40;char * FileSource, char * FileTarget&#41;;
    };
    
    bool EITran10&#58;&#58;EnglishToIndo&#40;char * FileSource, char * FileTarget&#41;
    {
    	char Word&#91;20&#93;;
    	char dicWord&#91;20&#93;;
    	bool Found = false;
    
    	fin.open&#40;FileSource, ios&#58;&#58;in&#41;;
    	fdic.open&#40;pDic, ios&#58;&#58;in&#41;;
    	fout.open&#40;FileTarget, ios&#58;&#58;out&#41;;
    
    	if &#40;&#33;fin || &#33;fdic || &#33;fout&#41;
    	{
     &nbsp;cout&#60;&#60;&#34;Files can not be openned&#092;n&#34;;
     &nbsp;return false;
    	}
    
    	while &#40;&#33;fin.eof&#40;&#41; &#41;
    	{
     &nbsp;fin&#62;&#62;Word;
     &nbsp;while &#40;&#33;fdic.eof&#40;&#41; &#41;
     &nbsp;{
     &nbsp;	fdic&#62;&#62;dicWord;
     &nbsp;	if &#40;strcmp&#40;dicWord, Word&#41;==0 &#41;
     &nbsp;	{
     &nbsp; &nbsp;fdic&#62;&#62;dicWord;
     &nbsp; &nbsp;Found = true;
     &nbsp; &nbsp;break;
     &nbsp;	}
     &nbsp;}
    
     &nbsp;if &#40;Found==false&#41; fout&#60;&#60;Word&#60;&#60;&#34; &#34;;
     &nbsp;else &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fout&#60;&#60;dicWord&#60;&#60;&#34; &#34;;
     &nbsp;Found = false;
    	}
    
    	fin.close&#40;&#41;;	
    	fdic.close&#40;&#41;;
     &nbsp; &nbsp;fout.close&#40;&#41;;
    	cout&#60;&#60;&#34;Complete translation&#092;n&#34;;
    	return true;
    }
    
    void main&#40;&#41;
    {
    	EITran10 ei;
    
    	ei.EnglishToIndo&#40;&#34;English.txt&#34;, &#34;Indo.txt&#34;&#41;;	
    }

  2. #2
    nguyenthanhtungtinbk
    Guest
    Còn đây là file Dictionary.txt mẫu

    Mã:
    I saya
    want mau
    go pergi
    eat makan
    banana pisang
    now

  3. #3
    Libra
    Guest

    Mặc định

    Chào Tùng&#33;
    Chắc Tùng cũng biết khá về C++ và cách xử lý các file text từ điển nhỉ? Mình cũng có một số kế hoạch về các từ điển điện tử. Rất cần sự hợp tác. Nếu được, Tùng có thể liên hệ với mình: Kienvu@hn.vnn.vn
    Cám ơn nhiều...

  4. #4
    nguyenthanhtungtinbk
    Guest
    Cám ơn vì lời đề nghị của Libra. Thực ra trong quá trình học C++ em nghịch ngợm chút thôi còn nói là giúp được thì sợ trình độ không đủ. Em mới học năm thứ nhất chuyên ngành, lại không học ở Việt Nam nên liên hệ rất khó. Khoa IT của trường mình có rất nhiều cao thủ hiểu biết sâu sắc về cấu trúc file và CSDL, Libra có thể liên hệ trực tiếp với họ hoặc nhờ các thầy cô khoa IT giúp đỡ.
    Tuy nhiên về mặt tư vấn góp ý thì chắc em cũng giúp được chút ít. Nếu giúp được xin sẵn sàng.
    À quên trang www.vietdic.com là một trang khá hay về từ điển trên mạng. Nếu liên hệ được với những nhà làm trang này để có được mã nguồn hoặc nhờ họ giúp đỡ em cho rằng cũng là ý kiến hay.

    Trang chủ của Libra toàn về IT, Libra có phải dân khoa Ngoại ngữ không vậy?

  5. #5
    nguyenthanhtungtinbk
    Guest
    Mình mới nâng cấp chương trình trên, mời các bạn tham khảo:

    Mã:
    #include &#60;iostream.h&#62;
    #include &#60;fstream.h&#62;
    #include &#60;cstring&#62;
    
    unsigned charFind&#40;char *Str, char c&#41;
    {
    	for &#40;unsigned i=0; i&#60;strlen&#40;Str&#41;; i++&#41;
    	{
     &nbsp;if &#40;c==Str&#91;i&#93;&#41; return i;
    	}
    	return -1;
    }
    void deleteLastSpaces&#40;char *Str&#41;
    {
    	for &#40;unsigned i=strlen&#40;Str&#41;-1; i&#62;=0; i--&#41;
    	{
     &nbsp;if &#40;Str&#91;i&#93;==32&#41; Str&#91;i&#93;=&#39;&#092;0&#39;;
     &nbsp;else break;
    	}
    }
    
    class EITran10
    {
    private&#58;
    	ifstream fdic;
    	ifstream fin;
    	ofstream fout;
    
    	char *pDic;
    public&#58;
     &nbsp; &nbsp;EITran10&#40;&#41;
    	{
     &nbsp;pDic=new char&#91;strlen&#40;&#34;Dictionary.txt&#34;&#41;&#93;;
     &nbsp;strcpy&#40;pDic,&#34;Dictionary.txt&#34;&#41;;
    	}
    
    	bool EnglishToIndo&#40;char * FileSource, char * FileTarget&#41;;
    	bool IndoToEnglish&#40;char * FileSource, char * FileTarget&#41;;
    };
    
    bool EITran10&#58;&#58;EnglishToIndo&#40;char * FileSource, char * FileTarget&#41;
    {
    	char Word&#91;20&#93;;
    	char dicWord&#91;20&#93;;	
    	char dicLine&#91;255&#93;;
    	char *dicPtr;
    	int pos=-1;
    	bool Found = false;
    
    	fin.open&#40;FileSource, ios&#58;&#58;in&#41;;	
    	fout.open&#40;FileTarget, ios&#58;&#58;out&#41;;
    
    	if &#40;&#33;fin || &#33;fdic || &#33;fout&#41;
    	{
     &nbsp;cout&#60;&#60;&#34;Files can not be openned&#092;n&#34;;
     &nbsp;return false;
    	}
    
    	while &#40;&#33;fin.eof&#40;&#41; &#41;
    	{
     &nbsp;fin&#62;&#62;Word;
     &nbsp;//cout&#60;&#60;Word&#60;&#60;endl;
     &nbsp; &nbsp; fdic.open&#40;pDic, ios&#58;&#58;in&#41;;
     &nbsp;while &#40;&#33;fdic.eof&#40;&#41; &#41;
     &nbsp;{
    
     &nbsp;	fdic.getline&#40;dicLine, 255&#41;; &nbsp;	
     &nbsp;	pos = charFind&#40;dicLine, &#39;&#036;&#39;&#41;;
     &nbsp;	//cout&#60;&#60;dicLine&#60;&#60;&#34; &#34;&#60;&#60;pos&#60;&#60;endl;
     &nbsp;	if &#40;pos &#33;= -1&#41;
     &nbsp;	{ &nbsp; &nbsp;
     &nbsp; &nbsp;strncpy&#40;dicWord, dicLine, pos&#41;;
     &nbsp; &nbsp;dicWord&#91;pos&#93;=&#39;&#092;0&#39;;
     &nbsp; &nbsp;deleteLastSpaces&#40;dicWord&#41;;
     &nbsp; &nbsp;//cout&#60;&#60;&#34;dicWord=&#34;&#60;&#60;dicWord&#60;&#60;&#34;|&#34;&#60;&#60;endl;
     &nbsp;	}
     &nbsp;	else dicWord&#91;0&#93;=&#39;&#092;0&#39;;
    
     &nbsp;	if &#40;strcmp&#40;dicWord, Word&#41;==0 &#41;
     &nbsp;	{
     &nbsp; &nbsp;dicPtr=dicLine+pos+1;
     &nbsp; &nbsp;strcpy&#40;dicWord, dicPtr&#41;;
     &nbsp; &nbsp;deleteLastSpaces&#40;dicWord&#41;;
     &nbsp; &nbsp;//cout&#60;&#60;&#34;dicWord=&#34;&#60;&#60;dicWord&#60;&#60;&#34;|&#34;&#60;&#60;endl;
    
     &nbsp; &nbsp;Found = true;
     &nbsp; &nbsp;break;
     &nbsp;	}
     &nbsp;}
     &nbsp; &nbsp; fdic.close&#40;&#41;;
    
     &nbsp;if &#40;Found==false&#41; fout&#60;&#60;Word&#60;&#60;&#34; &#34;;
     &nbsp;else &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fout&#60;&#60;dicWord&#60;&#60;&#34; &#34;;
     &nbsp;Found = false;
    	}
    
    	fin.close&#40;&#41;;	
     &nbsp; &nbsp;fout.close&#40;&#41;;
    	cout&#60;&#60;&#34;Complete translation&#092;n&#34;;
    	return true;
    }
    
    void main&#40;&#41;
    {
    	EITran10 ei;
    
    	ei.EnglishToIndo&#40;&#34;English.txt&#34;, &#34;Indo.txt&#34;&#41;;	
    }

  6. #6
    nguyenthanhtungtinbk
    Guest
    Còn đây là file Dictionary.txt mới:

    Cú pháp
    <Từ tiếng Anh(phải là từ đơn)> <Dấu &#036;> <Từ tiếng Indo (dài tùy ý)> <Xuống dòng>

    Mã:
    I &#036; saya
    want &#036; mau
    go &#036; pergi
    eat &#036; makan
    banana &#036; pisang
    today &#036; hari ini
    welcome &#036; selamat datang
    now
    File English.txt làm ví dụ:
    Mã:
    I want to eat banana today

  7. #7
    quai_vat_C13
    Guest

    Mặc định

    Mấy tên này vào cái box của mình bốc phét cái gì thế nhảy???

  8. #8
    Dkqdiep
    Guest

    Mặc định

    Khoa NN thì chỉ dùng từ điển ăn sẵn thôi, ngồi với mấy cái trò lập trình này thì đến tết Công-gô vẫn chưa xong. Mà các giáo viên khoa NN đều dạy rằng, đừng có tin bất cứ loại từ điển nào hết, và đặc biệt là đừng có thử sử dụng bất kỳ phần mềm dịch thuật nào hết nếu như không muốn... té ngửa ra vì chất lượng dịch, hehe.
    Để mình move cái này sang box "chia sẻ kinh nghiệm" nhẩy?

  9. #9
    Libra
    Guest

    Mặc định

    Chào bà con BKF&#33; Lâu lắm tớ không có vào. Hì hì, vừa vào đã lạc đề thì bà con đừng giận nhá. Xin có lời hỏi thăm QV, Diệp, Owlmain, Nobita, và nhiều người nữa ;-)...
    To Tùng: Không sao Tùng ạ, mình cũng không phải dân IT, nhưng rất thích ứng dụng nó vào công việc của mình. Thấy Tùng cũng có hứng thú với việc làm từ điển điện tử nên mình cũng có một số kế hoạch. Tùng có thể xem qua trang Web của mình và mấy người bạn, tất nhiên, từ điển trong đó chỉ là một mảng thôi, nhưng cũng rất cần sự hợp tác.
    Http://www.vietpalm.com
    Chào thân ái

  10. #10
    nguyenthanhtungtinbk
    Guest

    Mặc định

    Ơ kìa bà con, tui chỉ nghịch cho vui thôi, làm khoa Ngoại Ngữ sống động đôi chút thôi chứ có ý gì đâu. Ngày nay bao nhiêu phần mềm từ điển chuyên nghiệp, tui đâu có ý định thay thế họ. Bà con đừng giận nhé.
    Với lại dân ngoại ngữ biết dùng net thì co vài bạn quan tâm tới IT cũng đâu phải chuyện lạ.

+ Trả lời chủ đề
Trang 1/2 12 CuốiCuối

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube