《2022年C语言实验报告 3.pdf》由会员分享,可在线阅读,更多相关《2022年C语言实验报告 3.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、暨南大学本科实验报告专用纸课程名称数据结构试验成绩评定实验项目名称文本格式化指导教师孙世良实验项目编号实验项目类型实验地点学生姓名谢显栩学号2009051718 学院电气信息学院系 计算机科学系专业软件工程实验时间年月日午月日午 温度湿度(一) 实验目的熟悉串类型的实现方法和文本模式匹配方法,熟悉一般文字处理软件的设计方法,较复杂问题的分解求精方法。(二) 实验内容和要求输入文件中含有待格式化(或成为待排版 )的文本 ,它由多行文字组成,例如一篇英文文章。每一行由一系列被一个或多个空格符所隔开的字所组成,任何完整的字都没被分割在两行(每行最后一个=字与下一行第一个字在逻辑上应该由空格分开 ),
2、每行字符数不超过80。除了上述文本类字符外,还存在起控制作用的字符:符号 指示它后面的正文在格式化时应另起一段排放,即空一行,并在段首缩入 8 个字符位置。 自成一个字。一个文本格式化程序可以处理上述输入文件,按照用户指定的版面规格重排版面 :实现页内调整,分段,分页等文本处理功能,排版结果存入输出文本文件中。 基本要求 : (1) 输出文件中字与字之间只留一个空格符,即实现多余空格符的压缩。(2) 在输出文件中,任何完整的字仍不能分隔在两行,行尾不齐没关系,但行首要对齐 (即左对齐 )。(3) 如果所要求的每页页底所空行数不少于3,则将页号印在页底空行中第2行的中间位置上,否则不印。(4)
3、版面要求的参数要包含: 页长 (Page Length) 每页内文字 (不计页号 )的行数。页宽 (Page Wedth) 每行内文字所占最大字符数。左空白 (Left Margin) 每行文字前的固定格数。头长 (Heading Length) 每页页顶所空行数。脚长 (Footing Length) 每页页底所空行数(含页号行 ) 起始页号 (Starting Page Number) 首页的页号。(三) 主要仪器设备仪器: 计算机实验环境: Windows 7 & win-tc 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
4、- 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 暨南大学本科实验报告专用纸(附页 )(四) 源程序#include #include int pl=20,pw=80,lm=1,hl=3,fl=3,spn=1; main() void operation(void); operation(); printf(The TXT has been edited,please chack it in the new txt named new.txt); getch(); void operation(void) FILE *fp,*pf,*pa
5、nduan; int pli=1,pwi=1,lmi=1,spni=1,i,j=0,k=0,sp1,sp2,l=0,m=0,n=0; char ch,hc; if(!(fp=fopen(f:doc.txt,r) printf(input error); exit(1); if(!(pf=fopen(f:new.txt,w) printf(input error); exit(1); if(!(panduan=fopen(f:doc.txt,r) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
6、 - 第 2 页,共 7 页 - - - - - - - - - 暨南大学本科实验报告专用纸(附页 ) printf(input error); exit(1); fflush(stdin); ch=fgetc(fp); fflush(stdin); hc=fgetc(panduan); while(hc!= &hc!=EOF&hc!=3344&hc!=46&hc!=58&hc!=59&hc!=63) fflush(stdin); hc=fgetc(panduan); m+; while(ch!=EOF) if(m=n) fflush(stdin); hc=fgetc(panduan); m+
7、; while(hc!= &hc!=EOF&hc!=33&hc!=44&hc!=46&hc!=58&hc!=59&hc!=63) fflush(stdin); hc=fgetc(panduan); l+; m+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - 暨南大学本科实验报告专用纸(附页 )if(l+pwi)pw) pwi=1; pli+; fputc(n,pf); fputc( ,pf); l=0; if(pli=18)
8、 fputc(n,pf); for(i=0;ipw/2-1;i+) fputc( ,pf); sp1=spni/10; sp2=spni%10; fputc(sp1+48,pf); fputc(sp2+48,pf); fputc(n,pf); fputc(n,pf); pli=1,pwi=1,spni+; k=1; if(pli=1) for(i=0;i3;i+) fputc(n,pf); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - -
9、 - - 暨南大学本科实验报告专用纸(附页 )pli=hl+1; for(i=0;i8+lm;i+) fputc( ,pf); pwi=9; if(ch=&k=0) fputc(n,pf); pli+; for(i=0;ilm+8;i+) fputc( ,pf); pwi=9; if(ch= &k=0) if(j=0) fputc(ch,pf); j=1; pwi+; else if(ch!=r&k=0) fputc(ch,pf); if(ch=33|ch=44|ch=46|ch=58|ch=59|ch=63)&k=0) fputc( ,pf); j=0; pwi+; 暨南大学本科实验报告专用
10、纸(附页 )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - if(pwi=pw&k=0) pwi=1; pli+; fputc(n,pf); for(i=0;ilm;i+) fputc( ,pf); if(k=0) fflush(stdin); ch=fgetc(fp); n+; k=0; fclose(fp); fclose(pf); fclose(panduan); (五) 实验步骤与调试(1)在计算机 F 盘中建立doc.
11、txt 文件,将待排版内容输入其中。暨南大学本科实验报告专用纸(附页 )(2)运行程序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - (3)打开 F 盘中生成的new.txt 文件,查看排版结果。(六) 实验结果与分析实验结果:输入文本按预定格式输出。分析:程序输出正常,但尚有一些需改进的地方,例如:文本输出中,作为换段符的本不该存在(按实验要求保留下来,减轻了程序难度)。而后,分页时,最后不足页的文本也没用分配成新的一页打上页码。最后, 文本用到的参数都是预先写在程序之中,可以考虑由操作者自行输入,只需在主函数中写入相关的提示及参数输入语句。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -
限制150内