Title | Báo cáo mini project Kĩ thuật lập trình |
---|---|
Author | Gia Huy Đào |
Course | Kĩ thuật lập trình |
Institution | Trường Đại học Bách khoa Hà Nội |
Pages | 11 |
File Size | 207.1 KB |
File Type | |
Total Downloads | 764 |
Total Views | 864 |
STT H va Têno MSSV Email Công Vi cê Hoan thanhGhi chu Bùi Tuấn Anh 20130023 Buituananh 0130023bk @gmail Ki m tra fle ê tồn t i, đếm a số dong, t , ư câu, đếm số lần xuất hi nê mỗi t trong ư fle văn b nHoan thanh Nguyễn Văn Tai 20133397 taikaka@ gmail Tính đi m sốể c a 1 câu, ủ G p 2 fle ...
Ky Thuât Lâp Trinh-EE3490
1|Ky Thuâ t L â p Trinh
Ky Thuât Lâp Trinh-EE3490
STT Ho va Tên
MSSV
Email
1.
B$i Tuâ&n Anh
20130023
2.
Nguyên Văn Tai
20133397
Buituananh2 Kiêm tra fle 0130023bk tô0n tai, đê&m @gmail.com sô& dong, tư, câu, đê&m sô& lâ0n xuâ&t hiên môi tư trong fle văn ban. taikaka.27@ Tính đi ể m sô& c ủa 1 câu, gmail.com Gôp 2 fle lai .
2|Ky Thuâ t L â p Trinh
Công Viêc
Hoan Ghi thanh chu Hoan thanh
Hoan thanh
Ky Thuât Lâp Trinh-EE3490
Nô i dung bai toan: Mô tả các thư việ n sử dụ ng xử lý fle , xâu để xây d ựng th ư viện va chương trinh x ử lí văn b an fle văn ban v ới các chức năng sau: - Đọ c fle văn bả n với đường dân được ng ười dung nhậ p vao, báo lôi nê&u không đung fle văn bản, hoặc định dạng không đọc được - Hi ên các thông tn fle gô0m có : o Sô& dong văn bản (sô& đoạn) o Sô& các câu (phân tách bởi dâ&u “.” hoặc xuô&ng dong ) o Sô& các từ - Xây dự ng từ đi ển các t ừ cho fle văn b ản: o Đê&m các t ừkhác nhau va sô& lâ0n xuâ&t hiện của môi từ trong fle văn bản o Ghi kê&t quả ra 1 fle văn bản dict.txt với định dạng 3 c ột cách nhau bở i ký tự “TAB”, môi cột la 1 t ừ khác nhau STT T ừSô& lâ0n xuâ&t hiện - Xă&p xê&p l ại các câu, có ch ứ a sô& t ừxuâ&t hi ện nhiê0u o Tính đi ểm sô& c ủa 1 câu = t ổng sô& lâ0n xuâ&t hi ệ n c ủ a tâ&t c ả các t ừ trong câu o Ghi ra fle sort.txt với môi dong la 1 câu với điểm từ cao tới thâp Câu Đi ể m
3|Ky Thuâ t L â p Trinh
Ky Thuât Lâp Trinh-EE3490
-G p ộ 2 ho cặ nhiê0u fle văn bản thanh 1 fle, sau đó să&p xê&p các câu theo cách như trên trong fle đã gôp. - Câ&u truc chương trinh: o Thư viê n chứ a các ớ l p, ham xử lý chính (mô ta chi tê&t trong báo cáo) o Chương trinh chính đê tương tác với người dung, 2 dang: Console Windows applicaton, có giao di ên đô0 hoa ( t$y chon, +1 đi ể m nê&u th ực hi ện).
4|Ky Thuâ t L â p Trinh
Ky Thuât Lâp Trinh-EE3490
Sinh viên th ưc hi ên: B$i Tuâ&n Anh -Các th ưvi ên s ửd ung : stdio.h , conio.h, string, fstream. -Đ ki ê m ê tra fle tô0n t ai hay ko ta gán con tr ofle có tr ovê0 giá tri “NULL“ hay ko nê&u có ta hiê n thi “Không tm thâ&y fle or fle không đung đinh dang” . - Trong bai đê&m sô& câu-dong-tư : o Môi lâ0n găp dâ&u xuô&ng dong(\n) ta tăng dong lên 1 đơn vi. o Ta quy ướ c c ứmôi lâ0n găp dâ&u cách (“ “) hoăc xuô&ng dong(\n), dâ&u(“.”) , dâ&u ho i(“?), dâ&u TAB(“\t”),v.v.. ta tăng sô& tư lên 1 đơn vi . Ta có biê&n inword ơ đây với ý nghia khi inword=0 thi ta có th ê hiêu la ta đang ngoai words(dâ&u cách,v.v) khi inword=1 thi ta đang trong word. Môi lâ0n inword=1 ta tăng word lên 1 đơn vi. T ương t ư : Môi lâ0n găp dâ&u châ&m(“.”) hoăc xuô&ng dong(\n) ta tăng sô& câu lên 1 đơn vi . va ta có biê&n “incau” tương tư nh ư inword. - Trong bai đê&m các t ừkhác nhau va sô& lâ0n xuâ&t hiện của môi từ trong fle văn bản ta thựê c hi ên: o Tao chuôi , mang chuôi va mang int (Chuôi đ ể đọc hê&t c ả fle vao m ột chuôi ,m ảng chuôi đ ể duy ệt chuôi đã đọc va lập từng từ riêng cho vao mảng, mảng int d$ng đẻ ghi l ại xem t ừxuâ&t hi nệ bao nhiêu lâ0n.) o T ạo m ột câ&u truc l ư u t ừva sô& lâ0n xuâ&t hiện c ủa t ừ đó: o Trong thân ch ương trinh chính ta se đ oc các t ưt ưfle, môi lâ0n đ ọc 1 t ừta se duy ệt hê&t toan b ộdanh sách hi ện t i.ạ Nê&u t ừđó đã có rô0i 5|Ky Thuâ t L â p Trinh
Ky Thuât Lâp Trinh-EE3490
thi ta se tăng biê&n đê&m c ủa nó lên 1. Ng ược l ại ta thêm m ột phâ0n t ử ở cuô&i m ng ả va tăng sô& phâ0n tử của m ảng lên. Han chê& : Vân con phai t$y vao cách viê&t fle văn ban ma ta có thê in chính xác đươc các giá tri.
---------------------------------------------*-*-*--------------------------------------Sinh viên thưc hiên: Nguyên Văn Tai
- Xă&p xê&p l iạcác câu, có ch ứ a sô& t ừxuâ&t hi nệ nhiê0u nhâ&t .Tính đi m ể sô& c aủ 1 câu = t ng ổ sô& lâ0n xuâ&t hi ện c ủa tâ&t c ả các t ừ trong câu .Ghi ra fle sort.txt v ới môi dong la 1 câu v ới đi ểm t ừ cao tới thâp Câu Điểm - G pộ 2 ho cặ nhiê0u fle văn b ản thanh 1 fle, sau đó să&p xê&p các câu theo cách nh ư trên trong fle đã gộp - Câ&u truc chương trinh: o Thư việ n chứ a các lớ p, ham xử lý chính (mô tả chi tê&t trong báo cáo) o Chương trinh chính để tương tác vớ i người dung, 2 dạng: .Console . Windows applicaton, có giao di nệ đô0 họa Bai lam: +) #include #include #include 6|Ky Thuâ t L â p Trinh
Ky Thuât Lâp Trinh-EE3490
int countLine(char* flename){ FILE* f = fopen(flename, "r"); if(f == NULL){ printf("File %s not found!\n", flename); return -1; } int count = 0; char c; while((c = fgetc(f)) != EOF){ if(c == '\n'){ count += 1; } } fclose(f); return count; } +) #include #include #include
7|Ky Thuâ t L â p Trinh
Ky Thuât Lâp Trinh-EE3490
int countSentence(char* flename){ FILE* f = fopen(flename, "r"); if(f == NULL){ printf("File %s not found!\n", flename); return -1; } int count = 0; char c; while((c = fgetc(f)) != EOF){ if(c == '\n' || c == '.'){ count += 1; } } fclose(f); return count; } +) #include #include #include
int countWord(char* flename){ 8|Ky Thuâ t L â p Trinh
Ky Thuât Lâp Trinh-EE3490
FILE* f = fopen(flename, "r"); if(f == NULL){ printf("File %s not found!\n", flename); return -1; } int count = 0; char c; while((c = fgetc(f)) != EOF){ if(c == '\n' || c == '.' || c == ' ' || c == '\t'){ count += 1; } } fclose(f); return count; } +) #include #include #include
int main(int argc, char* argv[]){ 9|Ky Thuâ t L â p Trinh
Ky Thuât Lâp Trinh-EE3490
if(argc < 2){ printf("Using: ./main readfle flename\n"); return -1; } if(strcmp(argv[1], "readfle") == 0){ int linenums = countLine(argv[2]); if(linenums >= 0){ printf("Number of line: %d\n", linenums); } else{ return -1; } int sennums = countSentence(argv[2]); if(sennums >= 0){ printf("Number of sentence: %d\n", sennums); } int wordnums = countWord(argv[2]); if(wordnums >= 0){ printf("Number of words: %d\n", wordnums); } } } 10 | K y T h u â t L â p T r i n h
Ky Thuât Lâp Trinh-EE3490
11 | K y T h u â t L â p T r i n h...