- Ebook Giải thuật và lập trình Lê Minh Hoàng
- Các thuật toán sắp xếp trong Pascal

Xử lý tệp văn bản



Sử dụng ngôn ngữ lập trình pascal viết chương trình xử lý tệp văn bản với các yêu cầu sau:
* Đọc tệp văn bản và in ra màn hình.
* Sữa Tệp văn bản theo quy tắc
* Bỏ các dấu cách không cần thiết
* Trước các dấu . , : ; ! ? không có dấu cách
* Sau các dấu . , : ; ! ? phải có 1 dấu cách
* Đầu mổi câu (sau dấu . ! ) phải viết hoa
* Chương trình có dao diện đẹp và dể sử dụng.

type Set1 = set of char;

procedure ChuanHoa(var s:string);
begin
    while s[1]=' ' do delete(s,1,1);
    while s[length(s)]=' ' do delete(s,length(s),1);
    while pos('  ',s)<>0 do delete(s,pos('  ',s),1);
end;

procedure ChuanHoaLan2(var s:string);
var sSplit,sEnd:Set1;
    i:integer;
begin
     sSplit:=[',', '.', ':', ';', '!', '?'];
     sEnd:=['.', '!', '?'];

     s[1]:=upcase(s[1]);
     for i:=2 to length(s)-1 do
     begin
          if s[i] in sSplit then
          begin
             if s[i-1]=' ' then
             begin
                  delete(s,i-1,1);
                  dec(i);
             end;
             if s[i+1]<>' ' then
                insert(' ',s,i+1);
          end;
          if s[i] in sEnd then
             s[i+2]:=upcase(s[i+2]);
     end;
end;


VAR str:string;
    f,g:text;
BEGIN
     assign(f,'C:\input.txt');{Doc file}
     reset(f);
     while not eof(f) do
           read(f,str);
     close(f);
     ChuanHoa(str);
     ChuanHoaLan2(str);
     writeln(str);
     assign(g,'C:\input.txt');{Sua lai file}
     rewrite(g);
     write(g,str);
     close(g);
     readln;
END.


Thành viên Blog

Tổng số lượt xem trang

Translate

Return to top of page Copyright © 2012 | Theme by Hack Tutors. Cung cấp bởi Blogger.
Các code pascal trong blog được sưu tầm, lựa chọn sao cho tối ưu nhất. Cảm ơn các tác giả đã viết thuật toán.