Cài đặt Từ điển Anh - Việt Bằng Bảng Băm

Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn PhícloseBạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn Phí

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG

Cài đặt từ điển Anh - Việt bằng bảng bămpower_settings_newLogin to replyhome Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn Phí :: Công nghệ thông tin :: Cấu trúc dữ liệu :: Tập hợp

descriptionCài đặt từ điển Anh - Việt bằng bảng băm EmptyCài đặt từ điển Anh - Việt bằng bảng bămTue Apr 10, 2012 7:32 pm

more_horizA. Yêu cầu bài tập: Thiết kế và cài đặt từ điển bằng bảng băm , khối lượng khoảng 1000 từ có các chức năng tra cứu , thêm , loại 1 từ trên từ điển đó.B. Ý tưởng thực hiện chương trình:1. chương trình thực hiện việc cài đặt 1 từ điển Anh – Việt bằng bảng băm2. chương trình được viết bằng ngôn ngữ C/C++. 3. chương trình sử dụng giao diện Console ( màn hình DOS)4. dữ liệu của chương trình được lưu trữ bằng các file văn bản có phần mở rộng *.txt5. chương trình có các chức năng sau:- xem từ điển theo các mục từ+ chỉ xem từ+ xem cả từ và nghĩa- tra cứu từ điển : tìm xem 1 từ có ở trong từ điển hay không, nếu có xuất từ và nghĩa ra màn hình.- thêm 1 từ vào từ điển.-xóa 1 từ ra khỏi từ điển.-thay đổi nghĩa của 1 từ.6. chương trình phải bảo đảm tính đóng gói dữ liệu : nghĩa là tính đóng đối với thay đổi( xóa, sửa ) và mở với bổ sung.(EM ko biết cách post code vào, THẦY ƠI? EM CODE KO LỖIMÀ NÓ KO CHẠY, THẦY GIÚP EM)

Code:

[#include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> #define M 26 // so Buckets #define TenFile "E:\\CTDL\\TU_DIEN.txt"void DocFile(int **A, int &n){ FILE*f=fopen(TenFile, "rb"); fscanf(f, "%d", &n);}// dinh nghia cau truc tu dien typedef struct TuDien { char tu[12]; char nghia[100]; }; // dinh nghia cau truc nut cua buckets typedef struct node { TuDien key; struct node *next; } Nodetype; //dinh nghia nut con tro kieu Nodetype typedef Nodetype *Nodeptr; //mang con tro Bucket gom M bucket Nodeptr Bucket[M]; // khoi tao bang bamvoid Initialize() { for(int i=0;i<M;i++) Bucket[i]=NULL; } //hàm bam int HashFunc(char c) { if (c>=97) c=c-32; return (c%65); } //hàm này de tao nút có chua khóa k,tra ve kieu con tro Nodeptr Nodeptr MakeNode(TuDien k) { Nodeptr p; p=(Nodeptr) malloc(sizeof(Nodetype)); p->key=k; p->next=NULL; return p; } // hàm này dùng de chèn tu vào Bucket, sau dó sap xep theo thu tu tang void InsertListOrder(Nodeptr &Head,Nodeptr G) { Nodeptr P, Q; P = Head; while (P != NULL) { if (strcmp(P->key.tu,G->key.tu)>0) break; Q = P; P = Q->next; } if (P == Head) { G->next = Head; Head = G; } else { G->next = Q->next; Q->next = G; } } //hàm này dùng de chèn khóa k vào Bucket th? b void Place(int b,TuDien k) { Nodeptr p,t; p=Bucket[b]; t=MakeNode(k); if (p==NULL) Bucket[b]=t; else InsertListOrder(Bucket[b],t); } //hàm này dùng d? chèn khóa k vào b?ng bam void Insert(TuDien k) { int b=HashFunc(k.tu[0]); Place(b,k); } //duy?t Bucket void TraverseBucket(int b) { Nodeptr p; p=Bucket[b]; while (p!=NULL) { printf("%3s,",p->key.tu); p=p->next; } } //duy?t toàn b? b?ng bam void Traverse() { for(int b=0;b<M;b++) { printf("\nBucket[%d]:",b); TraverseBucket(b); } } //hàm này dùng d? tra nghia c?a 1 t? trong t? di?n void TraNghia(char *s) { int b=HashFunc(s[0]); Nodeptr p = Bucket[b]; while (p!=NULL && strcmp(p->key.tu,s)!=0) p=p->next; if (p==NULL) printf("\n\nKhong tim thay \"%s\" trong tu dien",s); else printf("\n\nNghia cua tu \"%s\":%s",s,p->key.nghia); } //hàm này dùng d? c?p nh?t nghia cho 1 t? void CapNhatTu(char *s,char *s1) { fflush(stdin); int b= HashFunc(s[0]); Nodeptr p=Bucket[b]; while (p!=NULL && strcmp(p->key.tu,s)!=0) p=p->next; if (p==NULL) printf("\n\nKhong tim thay \"%s\" trong tu dien",s); else { strcat(p->key.nghia,","); strcat(p->key.nghia,s1); } } void Pop(Nodeptr &p) // lay phan tu dau xau { TuDien k; Nodeptr q; q=p; p=p->next; q->next=NULL; k=q->key; free(q); } void DelAfter(Nodeptr &q) //xoa nut sau q { Nodeptr p; p=q->next; q->next=p->next; p->next=NULL; free(p); } //xóa 1 t? trong t? di?n void XoaTu(char *s) { int b=HashFunc(s[0]); Nodeptr p,q; p=Bucket[b]; while (p!=NULL && strcmp(p->key.tu,s)!=0) { q=p; p=p->next; } if (p==NULL) printf("\n\nKhong tim thay \"%s\" trong tu dien",s); if (p==Bucket[b]) Pop(Bucket[b]); else DelAfter(q); } //menu c?a chuong trình void MENU() { printf("\n\n\t\t\t\tTU DIEN ANH-VIET"); printf("\n\nCac chuc nang chinh cua tu dien:"); printf("\n\n1.Them tu moi vao tu dien"); printf("\n\n2.Xoa mot tu khoi tu dien"); printf("\n\n3.Cap nhat tu"); printf("\n\n4.Tra nghia cua tu"); printf("\n\n0.Thoat khoi tu dien"); printf("\n\nBan chon chuc nang nao:"); } int main() { char *s,*s1; TuDien td; int choice; Initialize(); do { MENU(); scanf("%d",&choice); switch(choice) { case 1: clrscr(); printf("THEM TU MOI VAO TU DIEN"); printf("\n\nNhap tu can them:");fflush(stdin); gets(td.tu); printf("\n\nNhap nghia cua tu \"%s\":",td.tu); fflush(stdin); gets(td.nghia); Insert(td); break; case 2: clrscr(); printf("\n\nNhap tu can xoa:");fflush(stdin); gets(s); XoaTu(s); break; case 3: clrscr(); printf("CAP NHAT NGHIA CUA TU"); printf("\n\nNhap tu can cap nhat:"); gets(s); printf("\n\nNhap nghia cap nhat cua \"%s\":"); fflush(stdin); gets(s1); CapNhatTu(s,s1); break; case 4: clrscr(); printf("TRA NGHIA CUA TU"); printf("\n\nNhap tu can tra nghia:");fflush(stdin); gets(s); TraNghia(s); break; } } while (choice!=0); return 0; thumb_upLikethumb_downDislikeluongnhutduyNhập mônNhập mônavatarTổng số bài gửi : 11Points : 19Join date : 13/02/2012Age : 32keyboard_arrow_downadd_circleSimilar topicsremove_circleSimilar topicschat_bubbleCài đặt từ điển bằng bảng bămchat_bubbleTập hợp - Cài đặt từ điển đơn giản bằng tập hợpchat_bubbleViết Cv xin việc bằng tiếng anhchat_bubbleCode - Chương trình từ điển bằng C Sharpchat_bubbleBảng băm mởChuyển đến:Chọn Diễn Đàn||--Tiếng Anh Tiểu Học| |--Smart Start Grade 1 - Tiếng Anh lớp 1| |--Smart Start Grade 2 - Tiếng Anh lớp 2| |--Smart Start Grade 3 - Tiếng Anh lớp 3| |--Smart Start Grade 4 - Tiếng Anh lớp 4| |--Smart Start Grade 5 - Tiếng Anh lớp 5| |--My Phonics Grade 1 - Tiếng Anh lớp 1| |--Công nghệ thông tin| |--Học chuyên đề Online| | |--ASP NET MVC 3| | | |--Phân tích thiết kế hệ thống| | |--Bài tập phân tích| | | |--Lập trình căn bản C| | |--Các lệnh có cấu trúc & chương trình con| | |--Mảng một chiều| | |--Mảng hai chiều| | |--Ngôn ngữ hệ thống trong C| | |--Tài liệu môn học| | | |--Lập trình nâng cao| | |--Một số thuật toán sắp xếp| | |--Đại số ma trận| | |--Đệ quy| | |--Đánh giá độ phức tạp| | |--Đồ thị và thuật giải| | |--Phương pháp tìm nghiệm gần đúng| | | |--Lập trình hình thức và tính toán| | |--List and Matrix| | |--Lệnh điều khiển và vòng lặp| | |--Hàm tự định nghĩa| | |--Lập trình đệ quy với Maths| | |--Đồ họa 2D và 3D| | | |--Trí tuệ nhân tạo| | |--Phương pháp tìm kiếm Heuristic| | |--Phương pháp biểu diễn tri thức| | | |--Kế toán tin học| |--Lập trình đồ hoạ| |--Cơ sở dữ liệu| |--Hợp ngữ và lập trình hệ thống| | |--Ngắt 10h| | |--Ngắt 16h| | |--Ngắt 21h| | |--Ngắt 27h| | |--Ngắt 33h| | | |--Dot Net| | |--Share Point| | |--MVC 3| | |--C Sharp| | |--Linq| | |--Silverlight| | | |--Cấu trúc dữ liệu| | |--Kiểu dữ liệu có cấu trúc| | |--Kiểu dữ liệu trừu tượng| | |--Cây| | |--Tập hợp| | |--Đề tài tiểu luận| | | |--Thiết kế Web| |--Bảo mật thông tin| | |--Cài đặt thuật toán| | |--Bài tập mã hóa| | | |--Mạng| | |--Mạng căn bản| | |--Quản trị mạng| | |--Mạng nâng cao| | |--Bảo mật mạng| | |--Lập trình ứng dụng mạng| | | |--Olympic Tin Học SV-HS| |--Phương pháp toán cho tin học| |--Ngoại ngữ| |--Grammar| |--Listening| |--Writing| |--Reading| |--Dictionary| |--Ôn thi cao học| |--Môn tin| |--Môn toán| |--Sách - Tài liệu tham khảo| |--Lập trình C, C++| |--Kỹ thuật lập trình| |--Dot net| |--Cơ sở dữ liệu - Phân tích thiết kế - CNPM| |--Mạng| |--Toán học| |--Luận văn - Đồ Án| |--Khác| |--Kết nối| |--Thông tin công nghệ| |--Games| |--Nhân Tài| |--Một phút cuộc sống| |--Trao đổi kinh nghiệm| |--Thảo luận môn học| |--Thông báo và hỏi đáp| |--Ngân hàng đề thi các khóa| |--Hỗ trợ sinh viên |--Gia sư Dạy Kièm |--Việc làm gia sư |--Rao vặt |--Giải pháp Alpha |--Hoạt động gia sư Alphaprivacy_tip Permissions in this forum:Bạn không có quyền trả lời bài viếtpower_settings_newLogin to reply
  • arrow_upward
  • Trang Chính
  • Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất
  • Gia sư Alpha Vlog

Từ khóa » Bảng Băm Từ điển Anh Việt