青岛农业大学
理学与信息科学学院
高级语言课程设计报告
设 计 题 目            文本编辑器             
学生专业班级          计算机科学与技术                                   
学生姓名(学号)                                     
设计小组其他同学姓名(学号)                       
导 教 师                                         
成 时 间        2011-11-03                               
设 计 地 点        信息楼机房                       
2011年  11      05 
一、课程设计目的和任务
      为了方便处理文本内容,减少在处理文本时的额外活动,设计了本程序。比如在统计文本中的中英文字母数和空格数以及整篇文章的总字数时可以利用本程序,这样比较方便省时又比如统计某一字符串在文章中出现的次数,并输出该次数,也可利用本程序。还可以利用本程序将文本的某一子串删除并将后面的字符前移。
二、分析与设计
1.程序的基本功能:
(1)分别统计出其中英文字母数和空格数以及整篇文章的总字数。
(2)统计某一字符串在文章中出现的次数,并输出该次数。
(3)删除某一子串,并将后面的字符前移。
2.系统总框图:
(1)、统计字符个数算法流程图
(2)printf能输出空格吗、删除某一字符串算法流程图
(3)、查某一字符串出现的次数算法流程图
3.定义的函数及说明:
此程序由12个函数构成。
(1)存储结构:char wz[N][80]
存储文章的字符数组 ,为全局变量
(2)输入函数:readdat()通过此函数从文件中读取文本
(3)输出函数:out()将文本内容输出
(4)字符数统计函数:int countword(int n1,int n2)
统计ASC 码在n1与n2之间的字符
(5)字符串出现次数统计函数: int cz(char *s)
查某一字符串出现的次数
(6)字符删除函数:void del(char *s)删除要删除的字符串
(7)主函数:void main()通过主函数调用各个子函数完成程序功能
(8)文件函数open("E:/yy/wzin.dat","r+")打开文件
(9)  字符串位置函数strstr(wz[i],s);字符串s 在文章第i行首次出现的位置
(10) 字符串长度函数strlen(wz[i]);文章第i 行的长度
(11) 字符串比较函数strcmp(s1,"@@")比较字符串内容当为@@时停止输入
(12) 字符串复制函数strcpy(wz[i],s1);/*将s1中的内容复制到wz[i]中
4.算法设计
本程序要求储存结构为线性表结构,可以输入大小写的英文字母,任何数字和标点符号。输出的时候要分行输出用户输入的各行字符,分四行输出“全部字符数”“数字的个数”“空格个数”“文章总字数”及输出删除某一字符串后的文章。
三、系统实施
1.源程序代码
#include<stdio.h>
#include<string.h>
#define N 20  /* 文章的行数  */
char wz[N][80]; /* 存储文章的字符数组 ,为全局变量*/
/*输入函数*/
void readdat()
{FILE *fp;
int i,j,len;
char *str;
if(!(fp=fopen("E:/yy/wzin.dat","r+")))/*打开文件*/
  printf("The file can't found!\n");
for(i=0;i<N;i++)
  fgets(wz[i],80,fp);/*读文件*/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。