




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计 学 号 班 级 姓 名 指导教师 课程设计任务书一、题目:文本信息处理二、课程设计时间:2008年3月17日至2008年3月21日三、课程设计内容:用C语言编写软件完成以下任务:(1) 复制文件(将一文本文件中的内容拷贝到另一文本文件中);(2) 显示文件信息内容(并显示行号);(3) 查找字符串;(4) 插入字符串;(5) 连接字符串;四、课程设计要求l 采用模块化程序设计方法,在程序里面,以菜单的形式调用各功能函数,程序可读性强,界面友好,输出形式尽量美观。l 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。l 用户界面中的菜单至少应包括“复制文件”“显示”“查找”“插入”“连接”“退出”六项。l 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:l 封面;l 课程设计任务书;l 目录;l 需求分析(分析题目的要求;l 程序流程图(总体流程图和主要功能模块流程图);l 核心技术的实现说明及相应程序段;l 个人总结;l 参考资料;l 源程序及适当的注释;指导教师: 学生签名: 目录一、需求分析2二、程序流程图3三、核心技术的实现说明及相应程序段9四、个人总结14五、参考文献15六、源程序15 一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:复制文件,显示文本信息内容,查找字符串,插入字符串,连接字符串。 1、复制文件: 主要实现文本信息的复制功能;2、显示文本信息内容: 实现的功能是把将文件中的所有内容通过屏幕显示出来;3、查找字符串函数: 实现的功能是按要求查找字符串;4、插入字符串: 实现的功能是插入所需要的字符串;5、连接字符串: 实现的功能是连接两个字符串。除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。二、程序流程图1、程序总体结构图图一 程序总体结构图 2、具体功能框图(1)复制函数图2函数 (2)显示函数(3)查找函数(4)插入字符串函数流程图(5)连接函数流程图三、核心技术的实现说明及相应程序段本程序主要由五个自定义函数(包括一个菜单函数)和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,复制文件函数,显示文本信息内容函数,查找字符串函数,插入字符串函数,连接字符串是程序中较为核心的部分,下面分别进行说明。1、复制文本文件函数 void copy() /*复制函数*/FILE *in,*out;char infile10,outfile10;printf(输入原有磁盘文件名:n);scanf(%s,infile); /*输入原有磁盘文件名*/ printf(请输入新复制的磁盘文件名:); scanf(%s,outfile); /*输入新复制的磁盘文件名*/ if(in=fopen(infile,r)=NULL)printf(不能打开原有磁盘文件n); exit(0);if(out=fopen(outfile,w)=NULL)printf(不能打开新复制磁盘文件n); exit(0);while(! feof(in) fputc(fgetc(in),out); /*文件指针顺序后移,若文件未结束,则读取被复制文件中的字符写入复制文件中*/fclose(in); /*关闭原有磁盘文件*/fclose(out); /*关闭新复制的磁盘文件*/2显示文本信息的函数 void show() /*显示函数*/int i;char t;FILE *in;char infile20;printf(请输入文本信息文件名:n);scanf(%s,infile); /*输入要显示的文件名*/if(in=fopen(infile,r)=NULL)printf(不能打开原有磁盘文件:n); exit(0);printf(%d,i); /*显示行号*/while(!feof(in) /*判断文件是否结束*/t=fgetc(in);printf(%c,t);if(t=n)printf(%d,i+);printf(n);fclose(in);3.查找字符串函数void reseach() /*查找函数*/FILE *in;int N,i=1;char infile20, string20, a20;printf(请输入文本信息文件名:n);scanf(%s,infile);if(in=fopen(infile,r)=NULL)printf(请输入文本信息文件名:n);exit(0); printf(输入要查找的字符串:n);scanf(%s,string); /*输入要查找的字符串*/N=(strlen(string); /*统计输入字符串的字符个数,并赋给N*/rewind(in); /*将文件指针定位到文件开头*/ fread(a,N,1,in);printf(相同n);while(!feof(in) if(!feof(in) /*判断文件是否结束*/ fseek(in,1L,1); /*若未结束则将文件指针定位到下一字节处*/ fclose(in); 4插入字符串函数void insert() /*插入函数*/ FILE *in; char infile30,r30,m30;printf(请输入文本信息文件名:n);scanf(%s,infile); /*输入要插入字符串的文件名*/if(in=fopen(infile,rb+)=NULL)printf(请输入文本信息文件名:n);exit(0);printf(请输入要插入的字符串:n);scanf(%s,r); fseek(in,0L,2); /*定位文件指针到文件末*/fgets(m,15,in);fputs(r,in); /*写入要插入的字符串*/ fclose(in);5.连接字符串函数void link() /*连接函数*/char s130,s230;int i=0,j=0;printf(n 输入字符串1:);scanf(%s,s1);printf( 输入字符串2:);scanf(%s,s2);while(s1i!=0)i+;while(s2j!=0)s1i+=s2j+;s1i=0;printf(新的字符串是%s,s1);6. 菜单函数void menu() printf(n-文本信息处理程序-n);printf(-(1)复制文件-n);printf(-(2)显示文件信息内容-n); printf(-(3)查找字符串-n);printf(-(4)插入字符串-n); printf(-(5)连接字符串-n);printf(-(6)退出程序-nn); printf(请输入1到5选择应用程序,按6退出程序); 7、主函数int n; FILE *in; char ch,infile20;scanf(%s,infile);if(in=fopen(infile,w)=NULL)printf(不能打开磁盘文件名n);exit(0);ch=getchar();ch=getchar();while(ch!=#)fputc(ch,in);putchar(ch);ch=getchar();putchar(20);fclose(in); while(1) menu();scanf(%d,&n);switch(n)case 1:copy();break;case 2:show();break;case 3:reseach();break;case 4:insert();break;case 5:link();break;case 6:exit(0);default:printf(错误,请返回上级菜单!n);四、个人总结通过这次课程设计, 使我加深了我对计算机知识的理解,这使我更加知道自己的计算机水平是多么的有限,更加促进了我对计算机的学习热情。使我受益非浅.以后我会更加努力学习这门知识,不断丰富自己的头脑,这对我来说只是一个小的开始,我会不断努力的。在写报告的过程中,知道了自己对word操作的不熟练,制表方面的不足,在以后的学习生活中,我会更加认真学习计算机,以熟练掌握计算机,以便在以后的学习生活中为自己提供更大的方便。这次课程设计对我未来C语言的学习和接下来的C语言二级考试一定会有很大的帮助。五、参考文献1 谭浩强C程序设计(第三版)北京:清华大学出版社,20052谭浩强C语言程序设计题解与上机指导(第二版)清华大学出版社,2000六、源程序#include#include#includevoid menu() printf(n-文本信息处理程序-n);printf(-(1)复制文件-n);printf(-(2)显示文件信息内容-n); printf(-(3)查找字符串-n);printf(-(4)插入字符串-n); printf(-(5)连接字符串-n);printf(-(6)退出程序-nn); printf(请输入1到5选择应用程序,按6退出程序); void copy()FILE *in,*out;char infile10,outfile10;printf(输入原有磁盘文件名:n);scanf(%s,infile); printf(请输入新复制的磁盘文件名:); scanf(%s,outfile); if(in=fopen(infile,r)=NULL)printf(不能打开原有磁盘文件n); exit(0);if(out=fopen(outfile,w)=NULL)printf(不能打开新复制磁盘文件n); exit(0);while(! feof(in) fputc(fgetc(in),out);fclose(in);fclose(out);void show()int i;char t;FILE *in;char infile20;printf(请输入文本信息文件名:n);scanf(%s,infile);if(in=fopen(infile,r)=NULL)printf(不能打开原有磁盘文件:n); exit(0);printf(%d,i);while(!feof(in)t=fgetc(in);printf(%c,t);if(t=n)printf(%d,i+);printf(n);fclose(in);void reseach()FILE *in;int N,i=1;char infile20, string20, a20;printf(请输入文本信息文件名:n);scanf(%s,infile);if(in=fopen(infile,r)=NULL)printf(请输入文本信息文件名:n);exit(0); printf(输入要查找的字符串:n);scanf(%s,string);N=(strlen(string);rewind(in); fread(a,N,1,in);printf(相同n); while(!feof(in) if(!feof(in) fseek(in,1L,1); fclose(in);void insert() FILE *in; char infile30,r30,m30;printf(请输入文本信息文件名:n);scanf(%s,infile);if(in=fopen(infile,rb+)=NULL)printf(请输入文本信息文件名:n);exit(0);printf(请输入要插入的字符串:n);scanf(%s,r); fseek(in,0L,2); fputs(r,in); fgets(m,15,in);printf(%s,m); fclose(in);void link()char s130,s230;int i=0,j=0;printf(n 输入字符串1:);scanf(%s,s1);printf( 输入字符串2:);scanf(%s,s2);while(s1i!=0)i+;while(s2j!=0)s1i+=s2j+;s1i=0;printf(新的字符串是%s,s1);void main() int n; FILE *in; char ch,infile20;scanf(%s,infile);if(in=fopen(infile,w)=NULL)printf(不能打开磁盘文件名n);exit(0);ch=getchar();ch=g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 25302-2025纺织专用高效率三相异步电动机技术规范(机座号90~225)
- 2025年中国烟草零售市场运营态势分析及投资前景预测报告
- 2025年中国金属眼镜行业市场全景分析及前景机遇研判报告
- 中国无线转接台行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 2025年原油项目可行性研究报告
- 电子玩具相册项目投资可行性研究分析报告(2024-2030版)
- 2025年 湟源县教育局招聘高中教师考试试题附答案
- 2025年 阜阳颍州区柳林路幼儿园教师招聘考试笔试试题附答案
- 特细条灯芯绒项目投资可行性研究分析报告(2024-2030版)
- 更换超滤膜申请表及可研报告(最终版)【范本模板】
- 2024年变压器性能检测服务合同
- 陕西省西安市(2024年-2025年小学五年级语文)统编版期末考试((上下)学期)试卷及答案
- 草晶华产品培训课件
- 超级抗原问题
- 23J916-1 住宅排气道(一)
- 中铁员工劳动合同范本
- 三位数乘一位数竖式
- 外墙保温吊篮施工方案
- DB43-T 2142-2021学校食堂建设与食品安全管理规范
- 体外诊断试剂盒线性范围研究线性区间评价资料及可报告区间建立
- AQ 1097-2014 井工煤矿安全设施设计编制导则(正式版)
评论
0/150
提交评论