ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:18.20KB ,
资源ID:1679734      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1679734.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计实验报告.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计实验报告.docx

1、课程设计实验报告课程设计实验报告 课程设计实验报告 题目:编制一个将待格式化得文本按照一定得版面要求重新排版并输出到文件得程序 一:需求分析 ?1:文本文件非空且以文本文件形式存放(为空没有格式化意义)。输入输出文件名均由用户从键盘输入。 ?2:字得定义:由非(,(空格))得任意ASCII码字符组成。 ?3:文本文件得定义:由字母字符,数字字符,空格与可以用ASCII代码显示得字符组成。只表示换行得意义。(空格)只表示一个字得结束得意义。 ?4:任何完整得字都没有被分割在两行:,行尾不齐没关系,但要实现左对齐。每行字符数不超过60 ?5:输出文件中字与字之间只留一个空格符,即实现多余空格符得压

2、缩。 ?6:符号指示它后面得正文在格式化时应另起一段排放,段首缩入8个字符得位置。 二:概要设计 ?1:void printOut() 该函数得功能就是:格式化文本文件后必要提示用户得信息说明 ?2:void writeOut(FILE * fp2,char c1) 该函数得功能就是:将字符输出到文本文件与屏幕 ?3:int zuokongbai(FILE * fp2) 该函数得功能就是:实现文本参数格式(左空白) ?4:void pageNumber(FILE * fp2,char * aIndex,int * page) 该函数得功能就是:输出当前页码 ?5:void out(int *

3、columns,char * array,int * linage,FILE * fp2,int * page,int * size) 该函数得功能就是:判断就是否输出到文本文件与屏幕 ?6:void linageFull(FILE * fp2,int * linage,int * columns,int * page) 该函数得功能就是:输出页首得格式(头长+左空白) ?7:void readIn(FILE * fp1,FILE * fp2) 该函数就是整个程序得核心,执行程序得主要逻辑判断 ?8:void main() 该函数得功能就是:程序得入口 三:详细设计 1,头文件:notePar

4、ameter、h(参数得说明) int (PageLength) = 56; /页长(一页最大得行数) int PageWedth = 60; /页宽(一行最大得字符数) int LeftMargin = 10; /左空白(一行开始输出得空格数) int HeadingLength = 5; /头长(一页开始输出得空行数) int FootingLength = 5; /脚长(每页最后空5行) int StaringPageNumber = 1; /起始页号 2,主程序中需要得全局变量与函数声明 int page = 1; /记录页数 int i = 0; /循环变量 char a5; /记录

5、page得char类型 char * aIndex = a; /数组a得首地址 /函数声明(后面得函数调用了它) void linageFull(FILE * fp2,int * linage,int * columns,int * page); 3:主函数与其她函数得伪代码算法 说明:为了便于描述。文本文件1代表用户输入得要格式化得文本文件。文本文件2代表用户输入得格式化之后保存得文本文件。 函数1: void printOut() /输出头文件中得所有整形变量 /这个函数中得参数全部来自头文件 printf(n); printf( 格式化文本文件结束n); printf(版面得参数如下:n

6、); printf(页长:%dn,PageLength); printf(页宽:%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与屏幕 ch

7、ar ch1; ch1 = fputc(c1,fp2);/接收从文本文件1中读出得一个字符,并且保存到文本文件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(*(

8、columns)+1+strlen(array) 60) /判断这一行就是否还能够输出空格加一个单词 /这一行不能再输出了,开始换行 if(*(linage)50) /判断这一页就是否已经印满 linageFull(fp2,linage,columns,page);/转到下一页 for(i=0; i50) /判断这一页就是否已经印满 /印满了要换页输出 linageFull(fp2,&linage,&columns,&page); for(i=0; i61)/程序中设计一个字不能超过60个字符,这里判断条件为61就是加了一个结束符0、 printf(字符格式错误!哪有这么长得单词!n); br

9、eak; /结束while循环 函数8: /程序得入口 void main() FILE * fp1,* fp2; / fp1指向读入得文本文件,fp2指向输出得文本文件char 100; / 保存要格式化文本文件得文件名 char 100; / 保存格式化之后输出文本文件得文件名 printf(请输入要格式化文件得文件名(包括后缀名):n); gets(); if(fp1=fopen(,r)=NULL) printf(The file %s was not fopen!n,); exit(0); /得到要进行格式化得文本文件1得地址 printf(请输入输出文件得文件名(包括后缀名):n);

10、 gets(); if(fp2=fopen(,a)=NULL) printf(The file %s was not fopen!n,); exit(0); /得到格式化后要保存到文本文件2得地址 readIn(fp1,fp2); / 读入文本文件开始格式化 printOut(); / 参数说明 fclose(fp1); / 关闭文件(把文件缓冲区得数据送入硬盘中) fclose(fp2); / 关闭文件(把文件缓冲区得数据送入硬盘中) 四:调试分析 ?1:本程序历时9天完工,在分析数据结构时对程序得架构没有想好,导致这个程序有2个版本。每个版本都有各自得优点与缺点。现在程序已经实现了所有得功

11、能 并对代码进行了必要得优化设计。 ?2:在编程过程中,对设计做了如下修改: (1):在第一版中设计为:读一个字符判断就是否为:空,。(占不考虑 其她条件)不就是就直接输出。导致不能实现任何完整得字都没有被分割在两 行这个功能。 (2)在第二版中改为:读一个字符判断就是否为:空字符,。(占不考虑 其她条件)不就是就保存在数组中,这个数组就就是保存一个字得作用。判断 输出就就是一个一个字得输出,这样就实现了任何完整得字都没有被分割在两 行这个功能。 (3):在第一版中就遇到页码输出得问题。开始我设计页码就是整形,当格式 化文本文件过大时,页码输出就出现了问题。实现输出页码就是用fputc这个 函

12、数,它就是实现字符得输出,就把整形得页码数转换为ASCII码形式输出 了。 (4)在第二版中改为:把整形得页码转换为字符型用一个字符数组来保存。 每次输出页码就是就就是输出这个数组中得数据。这样就实现了页码得完整 输出。 五:用户手册 ?1:本程序得运行环境为DOS操作系统,执行文件为:文本格式化、exe。 ?2:进入程序后即显示提示信息:请输入要格式化文件得文件名(包括后缀名):以等待用户输入待格式化得文本文件名(一个回车为结束标志得字符串),如果该文件不 存在,则显示信息:The file “?” was not fopen!(?为用户输入得文件名)并退出程序。 如果该文件存在,则执行程序

13、得下一步。提示信息:请输入输出文件得文件名(包 括后缀名): 以等待用户输入输出文件得文本文件名(一个回车为结束标志得字符 串),如果该文件不存在,则程序自动新建一个,如果新建失败则提示信息:The file “?” was not fopen!(?为用户输入得文件名)并退出程序。如果该文件存在,则在该文 件后面追加。 ?3:输入结束后,程序即进行格式化。随后输出格式化信息。按任意键退出。详细见测试结果。 ?4:格式化结果保存在由用户指定得文本文件中,如果该文件存在,则在该文件后面追加。(为了更好得观察测试结果,请确保当前工程中没有该文件)?5:测试数据最大字不能超过60个字符。 ?6:本程序

14、只格式化由字母字符构成得文本文件。对于中文格式化存在乱码问题。六:测试结果 ?1:测试数据:I have a dream、txt文本文件I have a dream节选 I say to you today, my friends, that in spite of the difficulties and frustrations of the moment, I still have a dream、It is a dream deeply rooted in the American dream、I have a dream that one day this nation will rise up and live out the true meaning of its creed: We hold these truths to be self-evident: that all men are created equal、

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1