1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÀI TẬP LỚN KỸ THUẬT LẬP TRÌNH Mô tả các thư viện sử dụng xử lý file , xâu để xây dựng thư viện và chương trinh xử lí văn bản file văn bản với các chức năng s

11 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 111,88 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Gộp 2 hoặc nhiều file văn bản thành 1 file, sau đó sắp xếp các câu theo cách như trên trong file đã gộp... Ta có biến inword ở đây với ý nghĩa khi inword=0 thì ta có thể hiểu l

Trang 2

STT Họ và Tên MSSV Email Công Vi cệc Hoàn

thành

Ghi chú

0130023bk

@gmail.com

Kiểm tra file tồn tại, đếm số dòng, từ, câu, đếm số

mỗi từ trong file văn bản

Hoàn thành

gmail.com

Tính điểm số

của 1 câu,

G p 2 file ộp 2 file lại

Hoàn thành

Trang 3

N i dung bài toán: ội dung bài toán:

Mô tả các thư viện sử dụng xử lý file , xâu để xây dựng thư viện và chương trình xử lí văn bản file văn bản với các chức năng sau:

- Đọc file văn bản với đường dẫn được người dung nhập vào, báo lỗi nếu không đúng file văn bản, hoặc định dạng không đọc được

- Hiện các thông tin file gồm có :

o Số dòng 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 dòng )

o Số các từ

- Xây dựng từ điển các từ cho file văn bản:

o Đếm các từ khác nhau và số lần xuất hiện của mỗi từ trong file văn bản

o Ghi kết quả ra 1 file 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 là 1 từ khác nhau

STT <TAB>Từ <TAB>Số lần xuất hiện

- Xắp xếp lại các câu, có chứa số từ xuất hiện nhiều

o Tính điểm số của 1 câu = tổng số lần xuất hiện của tất cả các từ trong câu

o Ghi ra file sort.txt với mỗi dòng là 1 câu với điểm từ cao tới thâp Câu Điểm

Trang 4

- Gộp 2 hoặc nhiều file văn bản thành 1 file, sau đó sắp xếp các câu theo cách như trên trong file đã gộp

- Cấu trúc chương trình:

o Thư viện chứa các lớp, hàm xử lý chính (mô tả chi tiết trong báo cáo)

o Chương trình chính để tương tác với người dung, 2 dạng:  Console  Windows application, có giao diện đồ họa ( tùy chọn, +1 điểm nếu thực hiện)

Trang 5

Sinh viên thực hi n: Bùi Tuấn Anhệc

-Để kiểm tra file tồn tại hay ko ta gán con trỏ file có trỏ về giá trị “NULL“ hay ko nếu có ta hiển thị “Không tìm thấy file or file không đúng định dạng”

- Trong bài đếm số câu-dòng-từ :

o Mỗi lần g p dấu xuống dòng(\n) ta tăng dòng lên 1 đơn vị.ặp dấu xuống dòng(\n) ta tăng dòng lên 1 đơn vị

o Ta quy ước cứ mỗi lần g p dấu cách (“ “) ho c xuống dòng(\n), ặp dấu xuống dòng(\n) ta tăng dòng lên 1 đơn vị ặp dấu xuống dòng(\n) ta tăng dòng lên 1 đơn vị dấu(“.”) , dấu hỏi(“?), dấu TAB(“\t”),v.v ta tăng số từ lên 1 đơn vị

Ta có biến inword ở đây với ý nghĩa khi inword=0 thì ta có thể hiểu là ta đang ngoài words(dấu cách,v.v) khi inword=1 thì ta đang trong word Mỗi lần inword=1 ta tăng word lên 1 đơn vị

Tương tự: Mỗi lần g p dấu chấm(“.”) ho c xuống dòng(\n) ta tăng số ặp dấu xuống dòng(\n) ta tăng dòng lên 1 đơn vị ặp dấu xuống dòng(\n) ta tăng dòng lên 1 đơn vị câu lên 1 đơn vị và ta có biến “incau” tương tự như inword

- Trong bài đếm các từ khác nhau và số lần xuất hiện của mỗi từ trong

o Tạo chuỗi , mảng chuỗi và mảng int

(Chuỗi để đọc hết cả file vào một chuỗi ,mảng chuỗi để duyệt chuỗi đã đọc và lập từng từ riêng cho vào mảng, mảng int dùng đẻ ghi lại xem từ xuất hiện bao nhiêu lần.)

o Tạo một cấu trúc lưu từ và số lần xuất hiện của từ đó:

o Trong thân chương trình chính ta sẽ đọc các từ từ file, mỗi lần đọc 1 từ ta sẽ duyệt hết toàn bộ danh sách hiện tại Nếu từ đó đã có rồi

Trang 6

thì ta sẽ tăng biến đếm của nó lên 1 Ngược lại ta thêm một phần tử ở cuối mảng và tăng số phần tử của mảng lên

Hạn chế : Vẫn còn phải tùy vào cách viết file văn bản mà ta có thể in chính xác được các giá trị

- Xắp xếp lại các câu, có chứa số từ xuất hiện nhiều nhất

Tính điểm số của 1 câu = tổng số lần xuất hiện của tất cả các từ trong câu .Ghi ra file sort.txt với mỗi dòng là 1 câu với điểm từ cao tới thâp Câu <TAB> Điểm

- Gộp 2 hoặc nhiều file văn bản thành 1 file, sau đó sắp xếp các câu theo cách như trên trong file đã gộp

- Cấu trúc chương trình:

o Thư viện chứa các lớp, hàm xử lý chính (mô tả chi tiết trong báo cáo)

o Chương trình chính để tương tác với người dung, 2 dạng:

Console

Windows application, có giao diện đồ họa

Bài làm:

+)

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

Trang 7

int countLine(char* filename){

FILE* f = fopen(filename, "r");

if(f == NULL){

printf("File %s not found!\n", filename); return -1;

}

int count = 0;

char c;

while((c = fgetc(f)) != EOF){

if(c == '\n'){

count += 1;

} }

fclose(f);

return count;

}

+)

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

Trang 8

int countSentence(char* filename){

FILE* f = fopen(filename, "r");

if(f == NULL){

printf("File %s not found!\n", filename); return -1;

}

int count = 0;

char c;

while((c = fgetc(f)) != EOF){

if(c == '\n' || c == '.'){

count += 1;

} }

fclose(f);

return count;

}

+)

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int countWord(char* filename){

Trang 9

FILE* f = fopen(filename, "r");

if(f == NULL){

printf("File %s not found!\n", filename); 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 <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(int argc, char* argv[]){

Trang 10

if(argc < 2){

printf("Using: /main readfile filename\n");

return -1;

}

if(strcmp(argv[1], "readfile") == 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); }

}

}

Ngày đăng: 22/09/2022, 15:45

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w