欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    编写一个C语言代码美化程序课程设计Word下载.docx

    • 资源ID:3247037       资源大小:201.58KB        全文页数:24页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    编写一个C语言代码美化程序课程设计Word下载.docx

    1、它是一种结构化语言,层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位一级的操作。因此,我们这次使用的开发平台为VC+6.0,采用的高级语言为c语言。当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。C/C+语言无疑是当今嵌入式开发中最为常见的语言。但其中对于C/C+语言代码的书写是一个令人头痛的问题,

    2、很多程序员尤其是新手写出来的C/C+源程序代码让人感觉杂乱无章,给人一种很不好的印象。甚至几个月后自己对自己编写的C/C+源程序代码都看不懂。针对这一种情况,我们认为编写一个美化C/C+代码的美化工具很有必要性,该程序可以快速的对乱糟糟的代码进行自动排版,让程序看起来更符合规范,更加符合大家的习惯,看起来不那么费力。让程序起到很好的美化效果,并且不改动原来程序的功能。编制这样一个程序,对大家一定可以起到很大的帮助。 这次的小程序,我们小组人员的分工如下:谭向宏:完成了两个主要子函数的编制;吴方朴:对主函数的调试,调用函数;刘晖:搜集资料,做测试实例,测试。大家的共同合作下,完成了这一小程序,过

    3、程虽艰苦,但收获颇丰。3、概要分析:C程序美化流程图 N Y这次的美化代码程序,定义并调用了两个被调函数,由主函数调用完成。函数的大致流程如下:首先输入要美化的c原文件的文件名,用读写方式打开该文件,然后用只写方式打开另一文件,若文件不存在则会新建一文件,然后调用函数readin按行读取数据,并将读取的数据放入定义的全局变量数组中,用函数check 找到关键符号,在输出的同时做换行加空格等操作,对文件进行美化。美化完成后,关闭两个文件 ,一个美化文件过程便完成了。四、源代码详细说明及测试1、代码详细说明:原理:对于美化代码,无非是对不整齐的代码将它重新排版对齐,其中就是要对原文件的代码去除空格

    4、以及多余的字符之类的,从而起到美化的效果,为了达到这种功能,我们定义了函数进行相关的操作 首先确定所需要的函数模块:第一部分是主函数部分:void main()第二部分是按行读出的模块部分:int readln(FILE *fp) 第三部分是符号查找匹配部分: char * check(char str,char tar) 第一部分:主函数部分,主要代码及分析如下: FILE *infp,*outfp; /设置文件指针 char *p,fn64; int j; printf部分:字符界面设置; scanf(%s,fn); /输入你要修改的文件名; infp=fopen(fn,r+); /应用读

    5、写方式打开输入的文件; if(infp=NULL) /若打开文件失败 ,报错; printf(文件夹打开错误,请重新输入.n return; outfp=fopen(tempwenjian.c,w /为输出打开一个文件,若不存在该文 件自动新建生成一文件名为tempwenjian.c的文件; if(outfp=NULL) /若打开文件失败,报错;不能创建文件夹.n 这部分的while循环是精华部分,涉及到了函数的调用; while(readln(infp)!=EOF_REACHED) /调用readln函数,若函数返回值不是0,做循环 ; p=check(strl, /调用函数,查找符号 :

    6、if(p!=NULL) /查找成功 magin-; fprintf(outfp,n /在符号之前输出换行符; for(j=0;jmagin;j+) ,strl); /在tempwenjian.c文件中,以字符串格式输出 该行数据 ; p=check(strl, /调用函数,查找符号 : magin+; /在之后输出换行符; /最后输出换行符; printf(恭喜您,美化代码成功! fclose(infp); /关闭原文件; fclose(outfp); /关闭出入文件;第二部分:按行读出的模块部分:在原始的代码中,及自己输入文件名的那个原文件中,按行读出字符 ,刚放入全局变量数组str1中。细

    7、节及详细解释如下:Int readln(FILE *fp) / /按行读取数据,以文件类型指针接收输入的 待美化的文件; int i=0,j=0; register int c; while(!feof(fp) /当文件未结束,作while循环; c=fgetc(fp); /从文件读入一个字符,赋给c变量; strli=c; /把该 读入的字符赋给要输出的数组; if(c!= &c!t) j=1; /如果读入的该字符不是空格且不是一个水平制表,就令 j=1;表示读入的该字符为一个有效字符; i+=j; /如果读入的字符为有效字符,i加1;if(c=n/如果读入的该字符为一换行符,即该行数据已读

    8、完毕,使该输出数据为空字符; strli=0; return READ_OK;/该行读入完毕,且该行撤消了换行操作,返回主调函数,带回数据1; /读完某一行时结束,循环结束; magin=i; if(i) /如果文件只有一行,继续执行以下操作: strli-1= /若文件只有一行 ,在结尾处执行换行操作; strli= return EOF_LINE; /返回主调函数,带回数据2; else return EOF_REACHED;第三部分:符号查找匹配部分:char * check(char str,char tar) /被调函数,是一个返回字符指针的函数,用来查找; register int

    9、 i=0,c; static int status=CODE; /令status=0; do c=stri; /在存储的该行字符中,第i个字符赋给 c,即从第一个字母开始查找匹配 的符号; switch(c) case :switch(status) case CODE: status=QUOTE;break;/“后若为开始,把status重新赋值为1,不满足status=0,需要继续循环; case SLASHinQUOTE: status=CODE; /否则就把status重新归为code 0; case QUOTE: break;switch(status)status=SLASHinQ

    10、UOTE; /如果c为 ,status=1,则把status的值赋为2,不满足status=0,继续循环; case LINEQ:status=CODE; /如果c为换行符,且status=5,则把status归零;status=QUOTE2;/如果c为字符,status为0时,status改赋值为3,不满足status=0,继续循环, case QUOTE2:/ 如果c为字符,当status为3时,即,下一次循环到来时,status归零;/ status=SLASH;/如果c为字符/,status为0时,status改赋值为4,不满足status=0,继续循环 case SLASH:stat

    11、us=LINEQ;/如果c为字符/,status为4时,status改赋值为5,不满足status=0,继续循环 case PARAQ:,status为5时,即,下一次循环到来时,status归零; break;*status=PARAQ;/如果c为*,且status=6,则把status归零; default: switch(status)/对于c以上情况均不满足,如果status=4,则归零; if(c=tar&status=CODE) /找到了相匹配的字符且status=0 return str+i;/如是找到了匹配的字符,就返回匹配的字符的地址; i+; while(c);return

    12、 NULL;2、运行与调试程序运行画面代码printf( 吉首大学课程设计C语言美化程序nC Program beautifiern*n*制作人:谭向宏、吴方朴、刘辉*n请输入您需要美化的C文件:其中包括程序的主题C语言美化程序,包括制作人,输入提示的操作。运行的画面如下: 图1 箭头所示为输入C文件的名称下面我们对一个杂乱的C代码进行美化操作操作前的效果图如下: 图2以上为一段简单的密码C代码,初看起来给人的感觉特别混乱,杂乱无章,给人很不好的感觉以下的代码是经过C程序美化后的效果: 图3以上给人的感觉比较舒服,没有前面的那种杂乱感了 2、操作错误的提示界面: 图4 3、当们在输入C文件的地

    13、方,随意输入一个不存在或者错误的C文件名字时,就会出现以下界面: 图5系统会提示您文件夹打开错误,请重新输入按任意键取消对话框 4、当您输入正确的C文件时 图6操作界面如下: 图7 系统将会提示您,恭喜您,美化代码成功!当C文件被美化后,将会以一个新的文件temp.c的文件作为修改后的文件,即为我们所需要的最终文件3、完整源代码如下:#include string.h#include#define EOF_REACHED 0#define READ_OK 1#define EOF_LINE 2/各种状态:#define CODE 0 / c code#define QUOTE 1 / #def

    14、ine SLASHinQUOTE 2 / ?#define QUOTE2 3 / #define SLASH 4 / /#define LINEQ 5 / /#define PARAQ 6 / /*/char strl128; /存储输出数据的数组;int magin;char * check(char str,char tar) /*被调函数,是一个返回字符指针 的函数,用来查找;*/ /*在存储的该行字符中,第i个字符赋给 c,即从 第一个字母开始查找匹配的符号;*/否则就把status重新归为code 0;/如果c为 ,且status=1,则把status的值赋为2,不满足status=

    15、0,继/续循环;/如果c为换行符,且status=5,则把status归零;,当status为0时,把status改赋值为3,不满足status=0,/继续循环,/如果c为字符/,当status为0时,status改赋值为4,不满足status=0,/继续循环 /如果c为字符/,当status为4时,status改赋值为5,不满足status=0,/继续循环,当status为5时,即,下一次循环到来时,status归零; /如是找到了匹配的字符,就返回匹配的字符的地址;int readln(FILE *fp) /按行读取数据,以文件类型指针接收输入的 待美化的文件; /如果读入的该字符不是空格

    16、且不是一个水平制表, /就令 j=1;) /如果读入的该字符为一换行符,即:该行数据已读完 /毕,使该输出数据为空字符; /该行读入完毕,且该行撤消了换行操作, /返回主调函数,带回数据1; /以下六行字符为提示性界面/为输出打开一个文件,若不存在该文件自动新建生成一/文件名为tempwenjian.c的文件;=EOF_REACHED) /调用readln函数,若函数返回值不是0,做循环 ;/在tempwenjian.c文件中,以字符串格式输出 该行数据 ; 忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,仍然很高兴,因为在设计的过程中,让我了解到要设计一

    17、个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。 另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。为了解决此类问题,最好就是多向同学,老师请教,不要怕难为情。尤其是老师,评他们多年的编写程序的经验,要解决我们的问题,对他们来说只是small case。 从这一个多星期的设计过程中,我看到了大家的拼搏与努力,也让我知道团队精神得难能可贵,尽管一年下来大家不怎么有多大接触,但是彼此之间的友谊已经在我们心里扎根生底,在遇到问题时,我们会共同进退,每个人都很慷慨不会因为是通过自己艰辛劳动设计出来的东西而不准他人剽窃了。 总之,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会。六、参考文献:XX文库、C程序设计(第三版)、C+程序设计


    注意事项

    本文(编写一个C语言代码美化程序课程设计Word下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开