专业课程设计文本格式化.doc
《专业课程设计文本格式化.doc》由会员分享,可在线阅读,更多相关《专业课程设计文本格式化.doc(20页珍藏版)》请在咨信网上搜索。
1、附件1:学 号: 7课 程 设 计题 目文本格式化学 院计算机科学与技术学院专 业计算机科学与技术班 级计算机1104班姓 名成霖指引教师吴利军年6月17日题目:文本格式化一,问题描述:试写一种文本格式化程序可以解决一种输入文献,它按照顾客指定下列版面规格参数重排版面:实现页内调节、分段、分页等文本解决功能,排版成果存入输出文本文献中。(1)输出文献中字与字之间只留一种空格符,即实现多余空格符压缩。(2)输出文献中,任何完整字不能分割在两行,行尾可以不齐,但行首要对齐。 (3)将页号印在页底空行中第2行中间位置上。(4)版面规定参数见题集p117。(5)测试用例自己设计。二,设计:1,版面规定
2、参数要包括: 页长(Page Length)每页内文字(不计页号)行数。 页宽(Page Wedth)每行内文字所占最大字符数。 左空白(Left Margin)每行文字前固定格数。 头长(Heading Length)每页页顶所空行数。 脚长(Footing Length)每页页底所空行数(含页号行) 起始页号(Starting Page Number)首页页号。2,概要设计: 1:void printOut()该函数功能是:格式化文本文献后必要提示顾客信息阐明 2:void writeOut(FILE * fp2,char c1)该函数功能是:将字符输出到文本文献和屏幕 3:int zuo
3、kongbai(FILE * fp2)该函数功能是:实现文本参数格式(左空白) 4:void pageNumber(FILE * fp2,char * aIndex,int * page)该函数功能是:输出当前页码 5:void out(int * columns,char * array,int * linage,FILE * fp2,int * page,int * size)该函数功能是:判断与否输出到文本文献和屏幕 6:void linageFull(FILE * fp2,int * linage,int * columns,int * page)该函数功能是:输出页首格式(头长+左空
4、白) 7:void readIn(FILE * fp1,FILE * fp2)该函数是整个程序核心,执行程序重要逻辑判断 8:void main()3,实验设计程序代码:#include#include#includeint (PageLength) = 56;/页长(一页最大行数)int PageWedth = 60;/页宽(一行最大字符数)int LeftMargin = 10;/左空白(一行开始输出空格数)int HeadingLength = 5;/头长(一页开始输出空行数)int FootingLength = 5;/脚长(每页最后空5行)int StaringPageNumber
5、= 1;/起始页号int page = 1;/记录页数 int i = 0;/循环变量 char a5;/记录pagechar类型 char * aIndex = a;/数组a首地址 /函数声明(背面函数调用了它) void linageFull(FILE * fp2,int * linage,int * columns,int * page);/函数1:void printOut()/输出头文献中因此整形变量/这个函数中参数所有来自头文献printf(n);printf(格式化文本文献结束n);printf(版面参数如下:n);printf(页长:%dn,PageLength);printf
6、(页宽:%dn,PageWedth);printf(左空白:%dn,LeftMargin);printf(头长:%dn,HeadingLength);printf(脚长:%dn,FootingLength);printf(起始页号:%dn,StaringPageNumber);printf(n);printf(特别阐明:本程序只支持英文格式化,对于中文格式化存在乱码问题。n);printf(n);/函数2:void writeOut(FILE * fp2,char c1)/输出到文本文献2和屏幕char ch1;ch1 = fputc(c1,fp2);/接受从文本文献1中读出一种字符,并且保存
7、到文本文献2中printf(%c,ch1);/把这个字符输出到外设(屏幕)/函数3:int zuokongbai(FILE * fp2)/左空白for(i=0;i=0;i-)writeOut(fp2,*(aIndex+i);/向文本文献2中输出page(*page)+;/指向下一页/函数5:void out(int * columns,char * array,int * linage,FILE * fp2,int * page,int * size)/输出if(*(columns)+1+strlen(array) 60)/判断这一行与否还可以输出空格加一种单词/这一行不能再输出了,开始换行i
8、f(*(linage)50)/判断这一页与否已经印满linageFull(fp2,linage,columns,page);/转到下一页for(i=0;i*(size);i+)writeOut(fp2,*(array+i);/把保存在数组中一种字输出到文本文献2中(*(columns)+;/输出一种字符,这一行字符数就增长一种(*(size) = 0;/输出之后就开始重新向数组array中读入字符,因此size要归0(*(array) =0;/如果是各种空格连在一起,那么就需要把array数组第一种设为结束字符。else/这一页还没印满,换行后开始输出writeOut(fp2,n);/换行(*
9、(linage)+;/*(columns)=0;(*(columns) = zuokongbai(fp2);/左空白10for(i=0;i(*(size);i+)writeOut(fp2,(*(array+i);/通过循环向文本文献2中输入字(*(columns)+;(*(size) = 0;(*(array) =0;else/这一行还没有满,还可以再输出writeOut(fp2, );(*(columns)+;for(i=0;i*size;i+)writeOut(fp2,*(array+i);(*(columns)+;(*(size) = 0;(*(array) =0;/函数6:void l
10、inageFull(FILE * fp2,int * linage,int * columns,int * page)/开始下一页打印/完毕页尾部格式(空一行后居中输出页码page再空3行)writeOut(fp2,n);/空一行for(i=0;i29;i+)/居中输出页码writeOut(fp2, );pageNumber(fp2,aIndex,page);for(i=0;i3;i+)writeOut(fp2,n);/再空3行*linage=0;/开始打印第二页。实现输出页首格式(头长+左空白)for(i=0;i5;i+)/头长5writeOut(fp2,n);*linage+;/已经占有l
11、inage行*columns = zuokongbai(fp2);/左空白10/函数7:void readIn(FILE * fp1,FILE * fp2)/读入文本文献int blankNumber=0;/记录空格数量int linage = 0;/记录行数int columns = 0;/记录单行字节数char array61 = 0;/存一种单词char * arrayIndex = array;int size = 0; /初始化单词长度for(i=0;i5;i+)/头长5writeOut(fp2,n);linage+;/已经占有linage行columns = zuokongbai(
12、fp2);/左空白10for(i=0;i50)/判断这一页与否已经印满/印满了要换页输出linageFull(fp2,&linage,&columns,&page);for(i=0;i7;i+)/段首缩进8字节writeOut(fp2, );columns+;else/这一页没有印满writeOut(fp2,n);/换行linage+;columns=0;columns = zuokongbai(fp2);/左空白10for(i=0;i61)/程序中设计一种字不能超过60个字符,这里判断条件为61是加了一种结束符0.printf(字符格式错误!哪有这样长单词!n);break;/结束while
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业课程 设计 文本 格式化
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。