




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈 阳 航 空 工 业 学 院 课程设计学 号 班 级 姓 名 指导教师 年 月 日沈阳航空工业学院课程设计任务书一 课程设计题目:比较两个文件是否雷同二 课程设计工作自三 课程设计内容:用C语言编写软件完成以下任务:用程序创建2个文本文件并输入一些单词,然后判断它们文字内容的相似性(雷同的程度)。如果二者的所有单词中,相同的单词数量占总量的80%,则认为二者是雷同的(识别单词程序可参考谭浩强C程序设计P150例7.8)。四 课程设计要求:程序质量:l 贯彻结构化程序设计思想。l 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。l 用户界面中的菜单至少应包括“创建文件1”、“创建文件2”、“判断相似性”、“退出”4项。l 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:l 封面l 课程设计任务书l 目录l 需求分析(分析题目的要求)l 程序流程图(总体流程图和主要功能模块流程图)l 核心技术的实现说明及相应程序段l 个人总结l 参考资料l 源程序及适当的注释指导教师:_学生签名:_沈 阳 航 院 设 计 用 纸目录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段3四、个人总结5五、参考文献5六、源程序69一、需求分析通过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,它们的功能分别是:创建文件1(Creat1_z),创建文件2(Creat2_z) 以及相似性判断(contrast)。1、创建文件1 主要功能:创建一个文件并向其中保存文件1中的数据;2、创建文件2 主要功能:创建一个文件并向其中保存文件2中的数据;3、相似性判断 按照题目的具体要求实现的是将创建的两个文件内的单词进行比较,计算相同单词数和相似度;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。将文件1和文件2分别存到D盘的text1.txt和text2.txt中,并保存。二、程序流程图1、程序总体结构图当t!=4 t=1真假创建文件1 t=2真假创建文件2 t=3真假判断两文件相似性t=4真 假退出错误图1程序总体结构图2、具体功能框图(1)创建文件当t=1或t=2真打开文件 假输入内容无法打开退出关闭文件图2 创建文件(2)相似性判断 contrast当t=3时当k=1时将a数组中的单词依次存入str1中当f=1时将b数组中的第j个单词存入str2中 sr1=str2真假t+j+当ai=|bi=时s+输出相似度为2.0*t/s*100%图3相似性判断三、核心技术的实现说明及相应程序段本程序主要由四个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,相似性判断是程序中较为核心的部分,下面分别进行说明。相似性判断 使用strcmp函数比较两个单词是否相同,通过调用for循环将数组a,b中的单词依次存入是str1和str2中进行比较,使用while()循环嵌套实现整个比较过程。再使用for()循环计算a,b两数组中的总单词数,进行相似度的计算。具体的程序段如下:contrast()char str115,str215; int i=0,j=0,t=0,s,k=1,f=1; while(k=1) for(s=0;(ai!=32)&(ai!=0)=1;s+,i+)/*将a数组中的单词存入str1中*/ str1s=ai; str1s=0; if(str1=) continue;/*空格不进行比较*/ f=1; j=0; while(f=1) for(s=0;(bj!=32)&(bj!=0)=1;j+,s+)/*将b组中的单词存入str2*/ str2s=bj; str2s=0; if(str2=) continue; /*空格不进行比较*/ if(strcmp(str1,str2)=0)/*比较str1与str2中储存的单词是否相同*/ t+; f=0; continue; j+; if(bj=0) f=0; i+; if(ai=0) k=0; printf(相同单词数:%dn,t); for(i=0,j=0,s=0;ai!=0;i+)/*计算a数组中的单词数*/ if(ai=32) s=0; else if(s=0) s=1;j+; for(i=0,s=0;bi!=0;i+)/*计算b组中的单词数*/ if(bi=32) s=0; else if(s=0) s=1;j+; printf(相似度:%5.2f%n,N(t,j);/*相似度的计算*/ if(N(t,j)=80) printf(相同!n); else printf(不同!n);四、个人总结经过一周时间的学习和上机操作,使我的C语言编程能力有了很大的提高,并对C语言有了更加深刻的了解。使我懂得C语言它的方便和快捷。这次课程设计让我学到了很多 也增强了克服困难的能力 我想这才是最宝贵的 就在几天之前的课设过程中,我对我的课程设计完全不清楚 也不知道该从何着手。但是通过查阅资料和咨询老师让我在几天之内就有了很大的进步,并找到了一些问题的解决方法,这是最让我高兴的。在自己的不泄努力下,一个还算完美的程序诞生了。这次课程设计让我受益匪浅,学到了很多,提高了我对C语言的兴趣,同时也加深了我对C语言的理解。也为以后的需要打下了基础。五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,2006六、源程序#includestdio.h#includestring.h#define N(a,b) 2.0*a/b*100FILE *pa,*pb;int t,m;char a100,b100;/*创建文件1*/void Creat1_Z() if(pa=fopen(d:file1.txt,w+)=NULL) printf(t不能打开此文件!n); else printf(t向文件1输入一个字串:n);getchar(); gets(a); fputs(a,pa); printf(t成功!n); fclose(pa);/*创建文件2*/void Creat2_Z() if(pb=fopen(d:file2.txt,w+)=NULL) printf(t不能打开此文件!n); else printf(t向文件2输入一个字串:n); getchar(); gets(b); fputs(b,pb); printf(t成功!n); fclose(pb);/*相似性比较*/void contrast( ) char str115,str215; int i=0,j=0,t=0,s,k=1,f=1; while(k=1) for(s=0;(ai!=32)&(ai!=0)=1;s+,i+) str1s=ai; str1s=0; if(str1=) continue; f=1; j=0; while(f=1) for(s=0;(bj!=32)&(bj!=0)=1;j+,s+) str2s=bj; str2s=0; if(str2=) continue; if(strcmp(str1,str2)=0) t+; f=0; continue; j+; if(bj=0) f=0; i+; if(ai=0) k=0; printf(相同单词数:%dn,t); for(i=0,j=0,s=0;ai!=0;i+) if(ai=32) s=0; else if(s=0) s=1;j+; for(i=0,s=0;bi!=0;i+) if(bi=32) s=0; else if(s=0) s=1;j+; printf(相似度:%5.2f%n,N(t,j); if(N(t,j)=80) printf(相同!n); else printf(不同!n);/*/void mune()printf(*判断两个文件是否相同*n);printf(tt 1:创建文件1n); printf(tt 2:创建文件2n);printf(tt 3:判断相似性n);printf(tt 4:退出n);p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合肥市专利权质押融资:现状、困境与策略转型研究
- 合作学习:高职英语听力教学的创新驱动力
- 押题宝典教师招聘之《小学教师招聘》通关考试题库附参考答案详解(基础题)
- 2025年教师招聘之《幼儿教师招聘》综合提升试卷含答案详解(基础题)
- 教师招聘之《小学教师招聘》通关训练试卷详解附参考答案详解【达标题】
- 2025年教师招聘之《小学教师招聘》通关提分题库带答案详解(突破训练)
- 教师招聘之《小学教师招聘》练习题(一)【典型题】附答案详解
- 教师招聘之《幼儿教师招聘》考试押题密卷及参考答案详解【黄金题型】
- 教师招聘之《幼儿教师招聘》测试卷附答案详解(培优a卷)
- 派出所执法规范化整改措施及下一步工作计划
- GB/T 44425-2024假肢装配康复训练规程
- 成考语文-语言知识及运用市公开课获奖课件省名师示范课获奖课件
- Z20名校联盟(浙江省名校新高考研究联盟)2025届高三第一次联考 物理试卷(含答案详解)
- 过敏性休克课件
- 车位租给别人安装充电桩协议
- 大学生毕业论文写作教程(高校毕业生论文写作指课程导)全套教学课件
- 钢结构设计原理 课件 第2章 钢结构的材料
- 农村太阳能路灯施工方案
- 学术规范和论文写作-教学大纲
- 软件模块化设计与开发标准与规范
- 江苏省2024年中职职教高考文化统考语文原卷
评论
0/150
提交评论