当前位置:文档之家› 数据结构课程设计 文章编辑 源代码

数据结构课程设计 文章编辑 源代码

数据结构课程设计 文章编辑 源代码
数据结构课程设计 文章编辑 源代码

#include

#include

#include

#include

#define MAXSIZE 1000

typedef char DataType;

typedef struct node

{

DataType ch[MAXSIZE];

struct node *next;

}Lstring;

/*****输入文章*****/

Lstring *input()

{

Lstring *p,*head;

int i=0;

printf ("请输入一页文章,若要换行,请直接敲回车键,若想结束请按@:\n");

p=(Lstring *)malloc(sizeof(Lstring));

head=p;

p->ch[i]=NULL;

p->next=NULL;

char str[200];

while(1)

{

gets(str);

if(strlen(str)>100)

{

printf("每行最多输入100字符");

break;

}

if(str[0]==64)

{

str[0]='\0';

p->ch[0]=str[0];

break;

}

p->next=(Lstring *)malloc(sizeof(Lstring));

strcpy(p->ch,str);

if(str[strlen(str)-1]==64)

{

p->ch[strlen(str)-1]='\0';

break;

}

p=p->next;

}

p->next=NULL;

return head;

}

/****输出文章*****/

Lstring *OutPut(Lstring *head)

{

Lstring *p=head;

do

{

printf("%s\n",p->ch);

}

while((p=p->next)!=NULL);

return head;

}

/****统计字母的个数*****/

int Alphabet(Lstring *head)

{

Lstring *p=head;

int count=0;

do

{

int Len;

Len=strlen(p->ch);

for(int i=0;i

if((p->ch[i]>='a'&&p->ch[i]<='z')||(p->ch[i]>='A'&&p->ch[i]<='Z')) count++;

}while((p=p->next)!=NULL);

return count;

}

/****统计数字的字数*****/

int Num(Lstring *head)

{

Lstring *p=head;

int count=0;

do

{

int Len;

Len=strlen(p->ch);

for(int i=0;i

if(p->ch[i]>='0' && p->ch[i]<='9')

count++;

}while((p=p->next)!=NULL);

return count;

}

/****统计空格的字数*****/

int Space(Lstring *head)

{

Lstring *p=head;

int count=0;

do

{

int Len;

Len=strlen(p->ch);

for(int i=0;i

if(p->ch[i]==32)count++;

}

while((p=p->next)!=NULL);

return count;

}

/*统计文章的总字数*/

int All(Lstring *head)

{

Lstring *p=head;

int count=0;

do

{

count+=strlen(p->ch);

}

while((p=p->next)!=NULL);

return count;

}

/****串的简单模式匹配*****/

int FindString(Lstring *head,char *str)

{

Lstring *p=head;

int count=0;

int h=0;

int len1=0;

int len2=strlen(str);

int i,j,k;

do

{

len1=strlen(p->ch);

for(i=0;i

{

if(p->ch[i]==str[0])

{

k=0;

for(j=0;j

if(p->ch[i+j]==str[j]) k++;

if(k==len2)

{

count++;

i=i+k-1;

}

}

}

}while((p=p->next)!=NULL);

return count;

}

void delstringword(char *s,char *str)

{

char *p;

int count,len,i,j;

char s1[80];

p=strstr(s,str);

len=strlen(s);

i=len-strlen(p);

j=i+strlen(str);

count=0;

for(int m=0;m

s1[count++]=s[m];

for(int n=j;n

s1[count++]=s[n];

s1[count]='\0';

strcpy(s,s1);

}

Lstring *DelString(Lstring *head,char *str)

{

Lstring *p=head;

do

{

while(strstr(p->ch,str)!=NULL)

delstringword(p->ch,str);

}

while((p=p->next)!=NULL);

return head;

}

void main()

{

int i=0;

int m;

Lstring *head;

char s1[20],s2[20];

head=input();

printf("输入的文章为:\n");

head=OutPut(head);

printf("\n");

printf("全部字母数:%d \n",Alphabet(head));

printf("数字个数:%d \n",Num(head));

printf("空格个数: %d \n",Space(head));

printf("文章总字数: %d \n",All(head));

printf("\n");

printf("**********************\n");

printf("* 菜单 *\n");

printf("**********************\n");

printf("* 1---统计字符串 *\n");

printf("* 2---删除字符串 *\n");

printf("* 0---退出 *\n");

printf("**********************\n");

do

{

printf("请输入你要选择的操作(0~2):");

scanf("%d",&m);

switch(m)

{

case 0:

exit(0);

break;

case 1:

printf("请输入要统计的字符串:");

scanf("%s",&s1);

printf("%s在文章中出现的次数为:%d \n",s1,FindString(head,s1));

printf("\n");

break;

case 2:

printf("请输入要删除的某一字符串:");

scanf("%s",&s2);

head=DelString(head,s2);

printf("删除%s后的文章为:\n",s2);

OutPut(head);

break;

}

}while(m!=0);

}

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

个程序员专用的代码编辑器

个程序员专用的代码编 辑器 TPMK standardization office【 TPMK5AB- TPMK08- TPMK2C- TPMK18】

9个程序员专用的代码文本编辑器 下面是笔者总结的 9 个最好的免费代码文本编辑器: 1. NOTEPAD++ NOTEPAD++是一款免费又优秀的文本编辑器,支持在 MS Windows 环境下运行的多种编程语言。NOTEPAD++支持超过 50 种编程、脚本和标记语言的语法高亮显示和代码折叠,能让用户迅速减小或扩大代码段以便查阅整个文档。用户也可以手动设置当前语言,覆盖默认语言。该程序还支持自动完成某些编程语言的 API 子集。 2. VIM VIM 是一个可高度自由配置的文本编辑器。它是 vi 编辑器的改进版,同时也是免费软件。该应有程序的建立是为了处理代码以及其他很多事情,而不只是为了写电子邮件和打开配置文件。它允许你编辑文本并保存简单的文本文件,但它的主要功能是还是编辑代码。它支持语法高亮显示和行编号,这是写程序必备的两个基本功能。用户也可以改变界面颜色以便增加代码的可视性。 对于文本编辑,VIM 这个程序囊括了多种语言的拼写检查器,并有建议如何更正拼写错误的能力。甚至是当你正在编写代码的时候,它也能派上用场,因为该应用程序只检查不被识别为代码的文本。当然你也可以快速地从这个错误跳到下一个以便更好地校对文本。 VIM 是程序员和开发人员应对各种文本编辑的最佳选择。 3. GNU Emacs

Emacs 是一个可移植、可扩展、免费的文本编辑器。 Emacs 提供了一些命令来管理语句和段落,高亮的语法使得源代码更易于阅读,以及“键盘宏”的方式来执行用户定义的编辑命令。 Emacs 可以在若干个操作系统上运行,无论你使用的是哪一种机器类型。这让程序员非常受用。如果你使用的是通用的编程语言,Emacs 还会为你提供模式以及相应的排版和布局,更加方便你编辑代码。 Emacs 或许不是最简单的工具,但它绝对是最强大的编辑器之一。相比 vim,Emacs 的启动时间更长,所需要的内存也更多。但是,它是高度可定制的,并且包括了大量的功能。 4. SUBLIME TEXT SUBLIME TEXT 是一个超棒的免费软件/商业性质的文本编辑器。漂亮的用户界面、卓越的功能和令人惊叹的性能一定会让你爱不释手。它可用于 Windows、Mac OS X 和 Linux 系统,并且是免费试用的,而且这个免费时间没有限制。当然你也可以花费 70 美元买个完整的许可证。一份许可证就能允许你在自己拥有的多台计算机上使用,不管每一台计算机使用的是什么操作系统。 5. ATOM Atom 是一款由 GitHub 开发的,支持用 Node.js 编写插件和嵌入Git Contral,面向 Mac OS X、GNU/ Linux 和 Windows 的免费的开源文本和源代码编辑器。没人愿意将时间浪费在配置自己的编辑器上面,于是ATOM 横空出世。它预装了所有你期望一个现代化的文本编辑器所应该具备

数据结构课程设计文章编辑(附录中有全部代码)

课程设计任务书 专业名称:计算机科学与技术(软件工程) 课程名称:数据结构课程设计 设计题目:文章编辑问题 起止时间:2013年6 月24 日至2013年7 月12 日 问题描述 静态存储一页文章,每行最多不超过80个字符,共N行,程序可以统计出文字、数字、空格的个数,并且可以对文章中特定内容进行查找及替换,同时也可以删除指定内容。 基本要求 (1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)查找出文章中某一段文字,并用其他文字进行替换; (4)删除某一子串,并将后面的字符前移。 输出形式: (1)分行输出用户输入的各行字符; (2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"; (3)查找出指定字符串在文章中出现的所有地方并替换,输出替换后结果; (4)输出删除某一字符串后的文章; 实现提示 存储结构使用线性表,分别用几个子函数实现相应的功能,并且使用菜单的形式,可以选择所要进行的操作(查找、替换、删除、统计等)。

文章编辑系统 1概要设计 本次课程设计的题目是文章编辑系统,本系统的功能描述如下:用户新建文本、浏览新建文本、文本字符统计、指定字符串统计、指定字符串删除、指定字符串替换等操作。 1.新建文本 2.浏览输入文本 3.文本字符统计 4.指定字符串统计 5.指定字符串删除 6.指定字符串替换 7.退出系统 本系统包含七个功能模块,分别为:新建文本模块,浏览输入文本模块,指定字符串统计模块,指定字符串删除模块,指定字符串删除模块,指定字符串替换模块以退出系统模块。新建文本模块实现用户录入文本信息,并且系统自动保存录入信息。浏览输入文本模块实现了显示用户录入信息的功能。指定字符串统模块实现了对英文字母数和空格数及整篇文章总字数的统计。指定字符串统计实现了统计用户自定义字符串个数的功能。指定字符串删除模块实现了对用户自定义字符串的删除。指定字符串替换模块实现了替换用户自定义字符串为用户定义的新字符功能。退出系统模块实现了退出系统功能。

数据结构课程设计题目

“数据结构”课程设计题目 1、城市链表(3) [问题描述] 将若干城市的信息,存入一个带头结点的单链表。结点中的城市信息包括:城市名,城市的位置坐标。要求能够利用城市名和位置坐标进行有关查找、插入、删除、更新等操作。 [基本要求] (1)给定一个城市名,返回其位置坐标; (2)给定一个位置坐标P和一个距离D,返回所有与P的距离小于等于D的城市。 [测试数据] 由学生依据软件工程的测试技术自己确定。注意测试边界数据。 2、约瑟夫生死者游戏(3) [问题描述] 约瑟夫(Joeph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 [基本要求] 利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。 [测试数据] m的初值为20;密码:3,1,7,2,4,8,4(正确的结果应为6,1,4,7,2,3,5)。 [实现提示] 程序运行后首先要求用户指定初始报数上限值,然后读取各人的密码。设n≤30。 [选作内容] 向上述程序中添加在顺序结构上实现的部分。 3、括号匹配的检验(3) [问题描述] 假设表达式中允许有两种括号:圆括号和方括号,其嵌套的顺序随意,即(()[ ])或[([ ] [ ])]等为正确格式,[( ])或(((]均为不正确的格式。检验括号是否匹配的方法可用“期待的紧迫程度”这个概念来描述。例如:考虑下列的括号序列:

文章编辑课程设计报告

实验报告 (课程设计)课程名称:数据结构 实验项目名称:文章编辑 学院:计算机与软件学院指导教师: 报告人: 实验时间 实验报告提交时间: 教务处制

实验项目名称 一、问题描述 描述算法设计的内容、约束条件,要求达到的目标等内容。(由老师公布) 输入一页文字,每行最多不超过80个字符,共N行; 程序可以统计出文字、数字、空格的个数 要求在光标下(与记事本相似)做插入、删除等操作 要求能够存盘,并能对老文件打开进行修改操作 采用的数据结构及其算法:线性结构[采用顺序存储方式];查找、插入、删除 二、基本要求 描述算法设计项目应达到的基本要求。 应该实现基本的删除插入查找打开文件以及存盘等操作.并能对打开的文件里的内容进行插入删除查找等操作,并且在进行完这些操作之后能够进行存盘. 三、分析与实验 分析算法设计方法,拟采用的数据结构(类结构)与主要算法实现原理等内容。 拟采用链表进行操作,与字符串结合. 主要运用了KMP算法进行查找操作,在删除中也有涉及. void GetNext(string p, int next[]) //求模式串p的next[j]的值 { int j = 0, k = -1; next[0] = -1; int length = p.length() - 1; while (j

else k = next[k]; } } int KMPFind(string p, int next[], string q,int search[]) //用KMP算法在主串中查找子串,p为主串,q为子串{ int i = 0, j = 0, k = 0, plength = p.length(), qlength=q.length(),flag=0,t=0; while (i < plength) { if (j == -1 || p[i] == q[j]) { i++; j++; } else j = next[j]; if (j == qlength) { flag++; search[t]= i-qlength;//flag存放的是每一次匹配到的字符的首位置 t++; } } return flag; } Search[]数组存放子串出现的位置.

数据结构课设——文章编辑

课程设计报告 课程设计题目: 文 章 编 辑 专业:信息工程 班级:1720601 学生姓名: 指导教师: 、 实验目的及要求: 任务:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行; 要求: (1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式: (1)分行输出用户输入的各行字符; (2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数" (3)输出删除某一字符串后的文章; 实验时间、地点: 一、概要设计(实验思路) 1.问题分析

本程序是对一段英文文章的内容进行处理,存储方式采用链式存储。 对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储空间中,在此部分设计中最大的问题在于输入文章过程中输入的字符数大于80时如何换行; 对于文本内容的统计,使用循环对已存储的文章进行匹配,字母数、空格数、数字数直接通过比较即可得到; 对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,如果存在相同的记录相同的个数及位置并输出个数及位置。 删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找,然后对其进行删除。 2. 数据结构选择 本程序是对输入的文字进行操作,故使用的数据结构为单链表操作。根据第一部分的问题分析有该链表操作有3部分: 另有全局变量 *head,作为文章的头指针。 创建结构体: typedef struct list { char data[80]; //记录一行字符 int length; //记录一行字符长度 struct _list *next; //后继指针 struct _list *pre; //前趋指针 int row; //记录整篇文章的行数 }LinkList; 在文章内容创建部分中使用线性表的链式存储,并使用全局变量对文本的各种信息进行存储;文章的读取、内容统计、删除、查找都采用链表操作完成。 3.流程图 (1)主框架: (2)文章内容统计子菜单 (3)文章内容处理子菜单

杂志编辑工作流程

杂志编辑工作流程 这个是比较详尽的编辑部工作流程,以财经杂志为例。 ?????? 杂志编辑工作流程 根据整个编辑流程和操作程序,流程报告按顺序分为三个部分:第一个部分是信息收集与整理,第二个部分是信息的再造,第三个部分产品生产流程。? 信息收集和整理???????? 该项主要解决编辑部的信息来源的问题,一方面要保证不遗漏重要行业的重大经济事件,同时统一报道的角度和降低采访的难度;另外一方面要积累各种行业和公司的资源,提高记者和编辑对行业和公司的理解能力。? 1.研究工作:研究工作是指对具体的行业和地区经济进行深入的研究,以提高我们杂志文章的深度和广度。 ■行业研究:对行业、公司资料的收集整理。内容包括:每个行业营业额前30名企业资料:联系人、公关公司、上下游客户、代表人物;政府、研究机构、代表人物、行业协会、主要网站等相关资源的联系方式。 ■区域研究:对一定地域内的主要行业及知名企业进行的调查工作。例如云南的烟草业,山东的家电制造业,四川的传媒业等。具体内容包括:区域内特色行业概述,包括行业规模,龙头企业、典型企业的联系人、上下游客户和代表人物。 2.常规工作:编辑记者在日常的采访报道流程中,随时积累的采访资源。 信息再造??????????? ????????????????? 信息搜集汇总后,由信息变为选题,并且在编辑记者的协作下进行文章写作。 1.选题产生:每月召开选题探讨会,所有编辑记者都必须参加。选题会的主要职能是综合编辑部的意见,将信息转化为选题,并为每一选题确定执行编辑、执行记者,并控制流程。在理想的情况下,编辑部应设立编委会来确定选题、安排工作,这样有助于提高效率。选题来源包括: ■主编和编辑部主任收集每月重大新闻及信息供所有编辑参考。 ■对行业信息的研究分析,以及研究工作的阶段性成果。 ■编辑记者的自身资源及资源开发成果。

文章编辑课程设计报告及代码

*****工学院 数据结构课程设计报告 选题名称:文章编辑 系(院): ***工程学院 专业: 班级: 姓名: ** 学号: 指导教师: 学年学期:2009 ~ 2010 学年第 2 学期2010 年 6 月16 日

设计任务书

摘要: 随着社会的高速发展,现在人们对信息的处理要求越来越高,使得文章内容、数量也越变庞大,所以,随之而来的就是对文章的处理变得越来越复杂。设计此程序以方便人们对文章的处理。此程序的功能有查找文章中某个字符串出现的次数,统计文章中数字,字母,空格等信息出现的次数,分行显示用户输入的文章,输入一字符串并删除文章中所有该字符串,最后,此程序功能简单,操作方便,所以,试验证明,本程序是一款很实用的程序。 关键字:文章编辑;字符查找;统计;删除

目录 1需求分析 (5) 2概要设计 (5) 2.1主要模块的描述 (5) 2.2程序流程框图如图1所示 (6) 2.3各功能函数描述 (6) 3详细设计和实现 (7) 3.1存储结构设计 (7) 3.2主要算法设计 (7) 3.3程序运行流程说明 (9) 4调试与操作说明 (9)

1需求分析 这一次数据结构课程设计,我做的课题是文章编辑。 任务与要求包括: 输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行; 要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; void InitList(wzbj *L) //查找文章结尾有无结束符“#” void StrNo(wzbj *L) //统计某一字符串出现的次数 wzbj *DelStr(wzbj *L) //删除某一字段 void print1(wzbj *L) //分行输出用户的输入的各行字符 void print2(wzbj *L, int &p1, int &p2, int &p3, int &n) //统计字符信息输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;运行环境包括: Windows2000以上操作系统、Visual C++6.0以上编译环境。 2概要设计 对于文章的处理,我用的是for语句查找,即将符合条件的字符查找出来,然后通过函数实现字符的统计,删除等操作。同时,存储用线性表的链表结构,然后通过设计四个函数,实现设计要求的4个基本功能。 2.1主要模块的描述 while(L->next) { for (p = L, q = s; *q != '\0' && p->next; p = p->next, q++) if (p->wz!= *q) break; if (*q == '\0') n++;

数据结构课程设计文章编辑附录中有全部代码精修订

数据结构课程设计文章编辑附录中有全部代码 GE GROUP system office room 【GEIHUA16H-GEIHUA GEIHUA8Q8-

课程设计任务书专业名称:计算机科学与技术(软件工程) 课程名称:数据结构课程设计 设计题目:文章编辑问题 起止时间:2013年6 月24 日至2013年7 月12 日 问题描述 静态存储一页文章,每行最多不超过80个字符,共N行,程序可以统计出文字、数字、空格的个数,并且可以对文章中特定内容进行查找及替换,同时也可以删除指定内容。 基本要求 (1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)查找出文章中某一段文字,并用其他文字进行替换; (4)删除某一子串,并将后面的字符前移。输出形式: (1)分行输出用户输入的各行字符; (2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数";

(3)查找出指定字符串在文章中出现的所有地方并替换,输出替换后结果; (4)输出删除某一字符串后的文章; 实现提示 存储结构使用线性表,分别用几个子函数实现相应的功能,并且使用菜单的形式,可以选择所要进行的操作(查找、替换、删除、统计等)。

文章编辑系统 1概要设计 本次课程设计的题目是文章编辑系统,本系统的功能描述如下:用户新建文本、浏览新建文本、文本字符统计、指定字符串统计、指定字符串删除、指定字符串替换等操作。 1.新建文本 2.浏览输入文本 3.文本字符统计 4.指定字符串统计 5.指定字符串删除 6.指定字符串替换 7.退出系统 本系统包含七个功能模块,分别为:新建文本模块,浏览输入文本模块,指定字符串统计模块,指定字符串删除模块,指

文章编辑的源程序

#include #include #include #define MAXSIZE 1000 typedef char datatype; typedef struct { datatype a[MAXSIZE]; int size; }e_list; e_list s; e_list t; void ptint_slt(e_list slt); /*输出文本*/ void letter_number(e_list slt); /*全部字母个数*/ void space_number(e_list slt); /*全部空格个数*/ void digit_number(e_list slt); /*全部数字总数*/ void size_number(e_list slt); /*文章总字数*/ void dele_print(e_list p,e_list slt); /*输出删除某一字符串后的文章*/ void ptint_slt(e_list slt) /*输出文本*/ { int i,j=0; if(!slt.size) {printf("\n错误!");exit(1);} else for(i=0;i='a'&&slt.a[i]<='z')||(slt.a[i]>='A'&&slt.a[i]<='Z')) j++; }

课程设计文本编辑器的设计

. 《高级语言程序设计》 课程设计报告 题目: 文本编辑器的设计 专业: 计算机科学与技术 班级: 14计科一班 : 彭鑫 指导教师: 王峻 成绩: 计算机学院 2015年4月24日 2014-2015学年 第2学期

目录 1 设计内容及要求 (2) 1.1设计内容 ..................................................................................... 错误!未定义书签。 1.2具体要求 (2) 2 概要设计 (2) 2.1系统的功能简介 (3) 2.2系统功能模块图........................................................................ 错误!未定义书签。 2.3各个模块之间的主要关系 (3) 3 详细设计 (4) 3.1文件操作 (4) 3.2编辑操作 (9) 3.3工具操作 (17) 4 程序运行结果与调试 (19) 4.1 在调试过程中出现的一些问题 (19) 4.2 实验结果 (20) 5 课程设计总结与感想 (24) 参考文献 (24) 源代码 (25)

1 设计内容及要求 1.1设计内容 该文本编辑器运行后弹出文本编辑器的主界面,由键盘输入或以打开的方式输入或显示文本文件内容。其中程序的编辑项可对当前的文本进行撤销、删除、剪切、复制、粘贴、在文本里显示当前时间、全选、清除、查找、替换、统计等功能。程序的文件项可以对电脑上txt,c++等格式文件的打开、对当前文本的保存和另存、对当前文本的的新建以及退出文本编辑系统。程序的工具项为背景音乐,为用户提供了优美动听的音乐,仅在用户编辑疲惫乏力的时候尽情的享用。最后在程序的帮助项有对该小型文本编辑器的关于,用来介绍该程序,还有访问链接百度,访问114网页大全,为用户提供查找资料等功能服务。 1.2具体要求 基本要求:编辑器应具备对文本文件的打开、保存、新建、查找、插人、删除、修改、字符串替换、统计字数,统计行数等功能,对于超过一屏的长文件,应能够分页显示。设计用户接口命令,实现对文本的编辑 2 概要设计

杂志编辑工作流程样本

杂志编辑工作流程

杂志编辑工作流程 这个是比较详尽的编辑部工作流程,以财经杂志为例。 杂志编辑工作流程 根据整个编辑流程和操作程序,流程报告按顺序分为三个部分:第一个部分是信息收集与整理,第二个部分是信息的再造,第三个部分产品生产流程。 信息收集和整理 该项主要解决编辑部的信息来源的问题,一方面要保证不遗漏重要行业的重大经济事件,同时统一报道的角度和降低采访的难度;另外一方面要积累各种行业和公司的资源,提高记者和编辑对行业和公司的理解能力。 1.研究工作:研究工作是指对具体的行业和地区经济进行深入的研究,以提高我们杂志文章的深度和广度。 ■行业研究:对行业、公司资料的收集整理。内容包括:每个行业营业额前30名企业资料:联系人、公关公司、上下游客户、代表人物;政府、研究机构、代表人物、行业协会、主要网站等相关资源的联系方式。 ■区域研究:对一定地域内的主要行业及知名企业进行的调查工作。例如云南的烟草业,山东的家电制造业,四川的传媒业等。具体内容包括:区域内特色行业概述,包括行业规模,龙头企业、典型企业的联系人、上下游客户和代表人物。

2.常规工作:编辑记者在日常的采访报道流程中,随时积累的采访资源。 信息再造 信息搜集汇总后,由信息变为选题,而且在编辑记者的协作下进行文章写作。 1.选题产生:每月召开选题探讨会,所有编辑记者都必须参加。选题会的主要职能是综合编辑部的意见,将信息转化为选题,并为每一选题确定执行编辑、执行记者,并控制流程。在理想的情况下,编辑部应设立编委会来确定选题、安排工作,这样有助于提高效率。选题来源包括: ■主编和编辑部主任收集每月重大新闻及信息供所有编辑参考。 ■对行业信息的研究分析,以及研究工作的阶段性成果。 ■编辑记者的自身资源及资源开发成果。 2.选题操作:在选题探讨会上由编辑部讨论后决定选题操作的规模和执行人员。 ■填写选题执行单:确认的选题,由编辑部主任统一编写“任务摘要”。任务摘要的主要目的是划分选题归属栏目,确认操作选题的执行编辑记者以及执行时间和线索,明确工作目标和进度,在编辑部内部为记者工作提供足够帮助。

数据结构课程设计报告

数据结构课程设计报告书 学校青岛科技大学 学号 姓名 指导老师刘勇

课程设计的名称:学生成绩管理 1.问题描述: 学生成绩管理是学校教务管理的重要组成部分,其处理信息量很大,该题目是对学生的成 绩管理作一个简单的模拟,其中学生信息包括:学号、姓名与成绩。成绩分为课程1成绩、课程2成绩、课程3成绩和总成绩。要求设计一个简易的成绩管理系统,输入各门功课的 成绩后能自动求出总成绩,并通过菜单选择操作方式完成下列功能: ①登记学生成绩; ②②查询学生成绩; ③插入学生成绩; ④④删除学生成绩; ⑤按总成绩降序排序。 2.基本要求: 该题目涉及到单链表的各种操作,包括单链表的建立、结点的查找、插入、删除等基本运算。首先建立学生成绩单链表,链表中每个结点由4个域组成,分别为:学号、姓名、成绩、存放下一个结点地址的next域。然后将要求完成的四项功能写成四个函数,登记学生 成绩对应建立学生单链表的功能,后三个功能分别对应单链表的查询、插入与删除三大基 本操作。 3.算法思想: Creat()函数算法思想:从0至n循环输入n个同学的三科成绩,并且计算总成绩。 Inquiry()函数算法思想:将学号与已输入的所有学号做比较,一旦相同则输出该学号信息,否则显示没有该学生信息。 Insert()函数算法思想:生成一个新节点,然后将其接到原有链表尾部。 Delete()函数算法思想:通过ID找到该节点,并删去该节点。 Sort(函数算法思想:利用排序算法对每一个节点作比较并更换其在链表中的位置顺序。 4.模块划分 (1)LinkList Creat(LinkList T,int n)其功能是创造节点,录入成绩。 (2)void Inquiry(LinkList T)其功能是查询与已知ID一致的学生信息并展示出来。(3)void Insert(LinkList T,int n)其功能是添加若干个学生的成绩信息。 (4)void Delete(LinkList T)其功能是删除若干个学生的成绩信息。 (5)void Sort(LNode*p)其功能是排序并展示若干个学生的成绩信息。

文本编辑器课程设计报告

. I Java课程设计报告 题目:文本编辑器 班级: 学号: 姓名: 成绩: 日期:年月日

目录 一、综合设计的目的与要求 (3) 二、综合设计正文 (3) 1.系统分析 (3) 1.1系统开发背景、开发围、建设目标与必要性开发 (3) 1.2需求分析 (3) 2.系统设计 (3) 2.1功能设计 (3) 2.2系统运行环境与开发工具 (4) 3 .系统实施 (4) 3.1源程序 (4) 3.2.系统测试及部分截图 (12) 三、综合设计总结或结论 (13) 四、参考文献 (13)

《文本编辑器》 一、综合设计的目的与要求 要求在学生能够较熟练使用java程序设计语言进行软件代码的编写,同时还要具备较好的项目分析的能力,加深对相关课程基本容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统的练习。 二、综合设计正文 1 系统分析 1.1系统开发背景、开发围、建设目标与必要性 随着计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。当然对文本编辑操作仍然占据着重要地位,记事本是简单便捷的文本编辑器,可实现对文本编辑操作的基本功能。 1.2需求分析 程序设计主要分为两大部分:简单GUI设计和程序功能设计。通过GUI设计实现图形用户界面,提供图形菜单,方便用户操作。使用Java语言编写一个能够对输入文字进行操作,具有合理的界面,能够在界面中实现右键快捷方式,对文档容进行编辑操作,并且能够顺利退出的程序。通过设计和实现一个具有基本功能的文本编辑器,提高我们对Java语言设计的掌握能力,理论联系实际,进一步提高软件开发技术,从而培养我们分析、解决问题的能力。 2 系统设计 2.1功能设计 根据系统自带的文档编辑器的特征设计,包括如下的功能模块: 一、整体结构框架包括:菜单栏和文档编辑区 二、每个框架分别包含不同的子框架,各个模块的具体框架: 1.菜单栏:文件、编辑、工具、帮助 2.菜单栏中各个子菜单功能 文件:新建、打开、保存、另存为、退出 编辑:剪切、复制、粘贴 工具:查找、替换 3.子菜单功能的实现主要的几个功能介绍

数据结构课程设计题目

数据结构课程设计题目 1、运动会分数统计 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分; 取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 功能要求: 产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号,名次,姓名和得分;产生团体总分报表,内容包括校号,男子团体总分,女子团体总分和团体总分. 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构: 学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据: 要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2、约瑟夫环 问题描述: 编号为1,2… n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。 基本要求: 1、利用单循环链表作为存储结构模拟此过程; 2、键盘输入总人数、初始报数上限值m及各人密码; 3、按照出列顺序输出各人的编号。 3、算术表达式求值演示 任务: 表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子设计一个程序,实现利用算符优先算法计算算术表达式求值。 基本要求: (1)通过键盘输入表达式字符序列,并转换为整数表达式。 (2)进行输入合法性验证,对于错误表达式给出提示; (3)对算术运算表达式求值,对于正确的表达式给出最后的结果 (4)运算符包括乘方,开方,单目减等运算符 界面要求:有合理的提示,每个表达式求值结束后,根据提示,决定是否进行下一个表达式的计算; 提示: (1)设置运算符栈和运算数栈辅助分析算符优先关系;

数据结构课程设计题目.

数据结构课程设计题目 1.运动会分数统计(限1 人完成) 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 功能要求: 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分, 3)可以按学校编号或名称、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5)数据存入文件并能随时查询 6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有合理的提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2.飞机订票系统(限1 人完成) 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息: 当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 3.文章编辑(限1 人完成) 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。

盘点最受程序员欢迎的个代码编辑器精编WORD版

盘点最受程序员欢迎的 个代码编辑器精编 W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

盘点最受程序员欢迎的13个代码编辑器 编写代码本身就是一种艺术。如今,开发人员可以使用大量的编程语言,从非常基本的汇编语言到Ruby和Python。尽管对于一个给定的项目可供选择的编程语言很多,但有一件事情是不变的——每个开发人员都需要一个称心的代码编辑器! 一个好的代码编辑器不仅仅是一个简单的文本编辑工具,它可以将书写的代码转化为项目的可行组件。鉴于这一重要性,程序员对代码编辑器非常挑剔。每个程序员都需要一个快速的,易于使用的代码编辑器并提供正确的功能。 由于每个代码编辑器都声称是最好的,所以我们必须听取开发人员的建议。近日,WordPress开发人员对常用的代码编辑器进行了评分: 第一名:VIM Vim是WordPress开发人员中最流行的代码编辑器。它是免费的,在Linux开发人员中享有良好的声誉。该编辑器是开放源码并高度可配置的,它提供了跨平台兼容性。此外,它可以在Dos中工作。 Vim可能不会在新用户中受到欢迎,因为它具有一定的学习曲线。以下是Vim附加的部分功能: ·整合UI ·超过200种语言的语法突出显示 第二名:LightTable

LightTable是一个免费开放源代码的编辑器,可以在Kickstarter(一个众筹网站,如果用户认可可以提供部分资金)找到超过300k的资金。该编辑器有一个非常干净的界面,并有大量扩展。它与Windows、Mac和Linux都兼容,是高度可定制的。 使用LightTable,开发者只需打开一个浏览器窗口即可实时查看更改,并且支持不同的嵌入。 第三名:Chocolat Chocolat本身是MacOSX的最佳代码编辑器。该编辑器旨在与OS无缝集成,Chocolat 为JS、Python和HTML提供拖放功能、拆分编辑、代码折叠和代码完成。 其他一些功能是: ·广泛搜索和替换 ·错误检查 第四名:Notepad++ Notepad++有很好的理由成为许多WordPress开发人员的首选。这个轻量级的代码编辑器是开源的,可以自由使用。该编辑器最好的一点是,它是新手和专家的理想选择。 支持的语言列表包括WordPress开发人员在开发复杂项目过程中所需的一切。Notepad++的其他功能包括: ·重点语法突出

文章编辑

文章编辑 一:概述 (1)问题描述: 对于文本的统计一直是我们所关注的,这样方便我们对文本文件里的字母,数字,空格,总字数进行计数,此程序在数据结构中的应用甚是广泛,尤其是线性表的利用,更加简化了程序的复杂性。此次我们就利用数据结构的知识,对文章编辑进行一次编程。从而提高对数据逻辑结构的特点以及存储表示方式的认识,培养在具体应用中选择合适的数据结构和存储结构的能力,进一步培养自己的算法设计和算法分析能力,提高综合运用所学的理论知识和方法独立分析和解决问题的能力。 (2)基本要求: 输入一页文字,程序可以统计出文字、数字、空格的个数,静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。此外存储结构使用线性表,分别用几个子函数实现相应的功能,输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号;(4)打开及保存文件。 输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章。 二:功能需求分析 (1)首先就是要可以统计文章中的总字数,空格数,数字,字母。 (2)统计某一特定的字符串在文章中出现的次数。 (3)删除文章中的某一字串,并将后面的字符前移。 (4)打开及保存文件。 (5)对于文章的信息用线性表链式存储。 (6)对于数据存储利用行存储,以便于上述操作。 综上有采用链表存放数据非常灵活,只要内存足够大,就可以对链表做

数据结构课程设计要求1401111(2016-7)

起止周:18~19周 周数:2周 实习地点:东区2教616室信息与计算科学实验室 一、课程设计的目的 数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。通过该课程设计,了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练学生用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 二、课程设计的基本要求 1、独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。 2、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。 3、按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成; 其中包括: a)需求分析: 在该部分中叙述,每个模块的功能要求 b)概要设计 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。 c)详细设计 各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现) 源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。 d)调试分析 测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。 课程设计总结:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容; 4、每组实现的结果必须进行检查和演示;程序源代码和程序的说明文件必须上交,作为考核内容的一部分。

相关主题
文本预览
相关文档 最新文档