搜档网
当前位置:搜档网 › 文本编辑器设计

文本编辑器设计

文本编辑器设计
文本编辑器设计

四川师范大学成都学院高级语言程序课程设计

文本编辑器设计

学生姓名xxx

学号x

所在学院x

专业名称x

班级x级x班

指导教师x

成绩

x学院

二○一四年十二月

课程设计任务书

文本编辑器设计

内容摘要:当今,计算机以及网络技术的飞速发展,社会正快速向信息化社会前进,我们需要更智能,更专业的软件帮助我们完成工作,从而提高了工作效率。

目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行C++程序语言的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习C++程序语言,因此我们利用C++程序设计虚拟机和软件用户以及使用者的应用过程形成一整套完整的编写代码,编译,运行。本文本编辑器的开发主要包括界面窗口的菜单栏和工具栏,还有链接C++语言虚拟机实现编译与运行。操作系统为Windows 7。

关键词:文本编辑器C++程序语言编译运行

The design of text editor

Abstract:Today, the rapid development of computer and network technology, society is rapidly advancing to the information society, we need a more intelligent, more professional software to help us to finish the work, so as to improve work efficiency.

At present, many text editors species, to provide the function of many, but can satisfy the compiling and running the user to achieve a variety of functions and the C++ programming language is very few, can better adapt to the requirements of the current user. The completion of the design of the text editor function is for learning C++ programming language, so we use the C++ program design of virtual machines and software users and users of the application process of form a complete set of code, compile, run. The development of the text editor includes interface window menus and toolbars, and link the C + + programming language virtual machine implementation compile and run.

The development of the text editor use VC++6.0 as the development tool, and the operating system is Window 7.

Keywords:The text editor C + + programming language compile function

目录

前言 (1)

1 课程设计的意义及目的 (1)

2 文本编辑器总体结构设计 (2)

2.1 文本编辑器功能 (2)

2.1.1 文本编辑器的基本功能 (2)

2.2 总体结构 (2)

3 文本编辑器各功能模块 (4)

3.1需求分析 (4)

3.2 功能模块 (4)

4 软件结构设计 (5)

4.1 撤销 (5)

4.2 删除 (6)

4.3 剪切 (7)

4.4 复制 (9)

4.5 粘贴 (10)

5 操作步骤 (12)

5.1打开文本编辑窗口 (12)

5.2输入文本 (12)

5.3删除文本内容 (12)

5.4在编辑里选择撤销 (13)

5.5选中文本,编辑里选复制 (13)

5.6在编辑里选择粘贴 (14)

5.7再次选中文本内容,剪切 (14)

5.8再粘贴 (15)

结束语 (16)

附录 (17)

文本编辑器

前言

在文本编辑器出现前,人们用打孔机把计算机文字打到穿孔卡片上。文字存放于一个装着这样的薄卡片的盒子里,可以用读卡器来阅读它。第一个文本编辑器是一种行编辑器,它运行在打字机型的终端上,这种编辑器并不具备在窗口和屏幕中显示的功能。它包含了一些非常短的命令(为了减少打字量)。其中一个命令能够把文件的指定部分通过打字机打印出来。编辑光标是想象中的一个插入点,通过特殊命令,可以把它移动到特定内容字符串所在的行。随后,内容字符串又被扩展成正则表达式。如果想看到文件的变化,你需要把它打印出来。相对于穿孔机来说,人们认为这种基于行的文本编辑器具有革命性的进步。如果没有它,用户就需要把那些处理文本的命令打成专用的卡片,并在编辑文件时使用这些卡片。

当带有显示屏的计算机终端出现后,基于显示屏的文本编辑器开始流行起来。最早的全屏编辑器中,有一种叫做O26,它是于1967年为CDC 6000系列机器的操作控制台而作的。另外一个早期的全屏编辑器是vi。vi诞生于20世纪70年代,至今,它仍是Unix和Linux的标准编辑器。全屏编辑器对视频终端的销售起到了促进的作用。文本编辑器在Windows的应用中是一个非常重要的项目,在过去十数年中,微软对windows文本编辑器有多个版本的升级改进,而基于其他的编程环境的文本编辑器也是多如牛毛,今天我们用MFC可视化编译环境做一个简易的文本编辑器。

1 课程设计的意义及目的

为了满足普通用户对文本文档进行一般的简单操作,设计文本编辑器,用户可以对文本进行如下的基本操作。通过该课程设计,锻炼学生的基本编程技能,基于C语言基本知识,进一步扩展C++和windows界面编程的知识和应用;培养学生分析问题和解决问题的能力;促进把所学知识灵活应用到具体实践中。该课程设计要求学生综合运用在课程中学到的技术与实际编程相结合,独立完成一项较为完整、并具有一定实际功能的课程设计任务,同时加深学生对面向对象和C++

编程技术的理解和掌握,培养实际的应用程序开发能力。在课程设计过程中,使学生养成良好的程序设计风格,并掌握C++应用程序的设计开发过程和编程方法、测试方法。

2 文本编辑器总体结构设计

2.1 文本编辑器功能

2.1.1 文本编辑器的基本功能

该文本编辑器是用windows编写的一个程序,运行后弹出文本编辑器的主界面,由键盘输入或以打开的方式输入或显示文本文件内容。其中程序的编辑项可对当前的文本进行撤销、删除、剪切、复制、粘贴、在文本里显示当前时间、全选、清除、查找、替换、统计等功能。程序的文件项可以对电脑上txt,c++等可以发出不同的报警声。格式文件的打开、对当前文本的保存和另存、对当前文本的的新建以及退出文本编辑系统。

输入形式:

直接在文本编辑框中输入文本内容

以打开的方式打开并在文本框中显示电脑的上文本

输出形式:

对编辑框中尚无文本内容时进行查找、替换、统计等,程序会弹出一个提示尚无文本信息的小对话框,需输入文本后再进行以上操作

对编辑框中已有文本内容后进行查找、替换、统计操作,程序将弹出3与之对应的对话框,根据所弹出的对话框的按键要求进行之后的操作就可以。保存文件,另存为等功能都异曲同工,撤销、删除、剪切、复制、粘贴、等就直接在主文本编辑框中操作,直接在其显示操作后的文本信息。

2.2 总体结构

该程序是用C++语言编译成的,编辑中主要能够实现撤销功能、复制功能、粘贴功能、删除功能和剪切功能。

图2-1 系统功能图

图2-2 系统流程图

3 文本编辑器各功能模块

文本编辑器主要由五大功能构成,他们分别是文件操作模块,文本编辑模块,剪切操作模块,菜单控制模块和帮助及其他模块。在文本编辑模块中,主要完成文件的撤销、删除操作。剪切操作模块主要完成剪切、复制、粘贴操作。

3.1需求分析

文本编辑器的设计是基于Microsoft Visual Studio 2008开发的一款小型的软件,主要的设计是为了满足普通用户对文本文档进行一般的简单操作,通过MFC 可视化编程环境,直接生成一个友好的用户操作界面,通过这个窗口,用户可以对文本进行如下的基本操作。

文本编辑器主要由五大功能构成,他们分别是文件操作模块,文本编辑模块,剪切操作模块,菜单控制模块和帮助及其他模块。在文件操作模块中,主要完成文件的创建,打开,保存和另存操作。用户可以选择文件菜单上的新建子菜单来完成新建文本文件操作;选择文件菜单上的保存子菜单来完成保存文件操作选择文件菜单上的打开子菜单来完成打开文件操作。在文件的打开,保存和另存为操作中,系统会提示用户输入文件路径及文件名。值得一提的是,当用户打开一个文件时,指定的文件必须存在,否则系统会报错。

3.2 功能模块

在文本编辑器模块中,主要完成在编辑窗口中以添加或插入的方式输入字符,删除光标所在当前位置的单个字符或前一个位置的单个字符,朝上下左右4个方向的光标移动操作。当光标所在位置及后面的位置没有字符时,系统会以添加的方式输入字符;当光标所在位置及后面的位置有字符时,系统会已插入的方式输入字符。用户可以使用BackSpace键删除光标前一个字符,也可以使用Del键删除当前位置的字符。

撤销:撤销前一步所进行的操作,从“编辑下拉菜单”或“右键菜单撤销

删除:删除当前选定字符(串),从“编辑下拉菜单”或“右键菜单”

中删除

全选:对文本编辑框中文本全部选定,从“编辑下拉菜单”或“右键菜

单”中全简易文本编辑器

主要完成对已选定文本的剪切,复制,粘贴工作。如果用户要剪切文本以便可以将它移动到其他位置,可通过先选定文本,然后选择Edit菜单上的Cut子菜单完成剪切任务。如果用户要复制文本以便可以将它黏贴到其他位置,必须先选定文本,然后选择Edit菜单上的Copy子菜单来完成复制任务。如果用户要粘贴剪切或复制的文本,必须将光标置于要粘贴文本的位置,然后选择Edit菜单上的Paste子菜单来完成粘贴任务。

剪切:复制并删除选定字符(串),从“编辑下拉菜单”或“右键菜单”

中剪切

复制:复制选定字符(串),“编辑下拉菜单”或“右键菜单”中复制 粘贴:对粘贴内容进行粘贴,从“编辑下拉菜单”或“右键菜单”中粘贴

4 软件结构设计

4.1 撤销

撤销命令是系统自带的函数,使用是调用OnMenuUndo函数命令,详细代码如下所示:

void CTxteditDlg::OnEditundo()

{

// TODO: Add your command handler code here

//直接调用类CEdit的成员函数Undo

CEdit*pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);

pEdit->Undo();

}

图4-1 撤销流程图

4.2 删除

删除命令调用的是系统自带函数,使用的是OnMenuDelete函数命令,详细代码如下所示:

void CTxteditDlg::OnEditDelete()

{

CEdit*pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);

pEdit->Delete();

}

图4-2 删除流程图

4.3 剪切

剪切命令调用的是系统自带函数,使用的是OnMenueCut函数命令,详细代码如下所示:

void CTxteditDlg::OnMenucut()

{

// TODO: Add your command handler code here

CEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);

pEdit->Cut();//删除编辑控件中当前选中的文本,并将删除的文本拷贝到剪贴板中

}

图4-3 剪切流程图

4.4 复制

复制命令调用的是系统自带函数,使用的是OnMenuCopy函数命令,详细代码如下所示:

void CTxteditDlg::OnMenucopy()

{

// TODO: Add your command handler code here

CEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);

pEdit->Copy();//删除编辑控件中当前选中的文本,并将删除的文本拷贝到剪贴板中

}

图4-4 复制流程图

4.5 粘贴

粘贴命令调用的是系统自带函数,使用的是OnMenuPaste函数命令,详细代码如下所示:

void CTxteditDlg::OnMenupast()

{

// TODO: Add your command handler code here

CEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);

pEdit->Paste();//删除编辑控件中当前选中的文本,并将删除的文本拷贝到剪贴板中

图4-4 粘贴流程图

5 操作步骤

5.1打开文本编辑窗口

5.2输入文本

5.3删除文本内容

5.4在编辑里选择撤销

5.5选中文本,编辑里选复制

5.6在编辑里选择粘贴

5.7再次选中文本内容,剪切

文本编辑器c++实验报告附源代码

四川大学软件学院 实验报告 课程名称数据结构实验课时8 实验项目文本编辑器实验时间12到14周实验目的了解c++类的封装和KMP算法。 实验环境 Windows平台 VC6.0++ 实验内容(算法、程序、步骤和方法) 部分函数创建思想: 创建过程如下: a、定义LinkList指针变量*temp: LinkList *temp; b、定义文本输入变量ch,记录文本行数变量j,记录每行字符数变量i; c、申请动态存储空间:head->next=(LinkList *)malloc(sizeof(LinkList)); d、首行头指针的前驱指针为空:head->pre=NULL; 首行指针:temp=head->next; 首行指针的前驱指针也为空:temp->pre=NULL; 定义没输入字符时文章长度为0:temp->length=0; 初始化为字符串结束标志,防止出现乱码:for(i=0;i<80;i++) temp->data[i]='\0'; e、利用循环进行文本输入 for(j=0;jdata[i]=ch; //给temp指向的行赋值 ···· temp->length++;//行中字符长度加1 if(ch=='#') {NUM=j; break; //文章结束时,Num来记录整个文章的行数 }}} 在字符输入的过程中,如果在单行输入的字符超过了80个字符, 则需要以下操作: 输入字符数大于80,重新分配空间建立下一行 temp->next=(LinkList *)malloc(sizeof(LinkList)) ;

数据结构 简易文本编辑器

题目: 【2】.简易文本编辑器 要求: 1) 具有图形菜单界面; 2) 查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除 3) 可正确存盘、取盘; 4) 正确显示总行数。 1需求分析 一个简易文本编辑器应该具有图形菜单界面,包括查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除文本信息等功能并可正确存盘、取盘,正确显示总行数。 2概要设计 为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的俩个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息: ⑴清空以前的文本信息:将用数组存的数据内容全部置为0; ⑵显示当前文本信息:遍历用数组存入的信息,并输入到外部显示器上; ⑶编辑信息:定义一个结构体,并在结构体中定义一个字符型的一维数组和一个整 型变量,这个整型变量用于记录一维数组中存入数据的个数; ⑷替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入 要替换的信息内容,否则提示未找到要被替换的信息; ⑸插入文本信息:首先在数组中查找要插入点,如果找到该插入点,提示输入插入 信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置; ⑹移动文本信息:首先在数组中查找要移动的信息,如果找到该信息,提示是进行 列移动还是进行行移动,否则提示未找到要移动的信息; ⑺删除文本信息:首先在数组中查找要删除的信息,如果找到该信息,提示是否确

面向对象程序设计—文本编辑器的设计与实现

课程设计报告书 课程名称面向对象程序设计 设计题目文本编辑器的设计与实现 专业班级 学号 姓名 指导教师 年月

目录 1 设计时间 (1) 2 设计目的 (1) 3设计任务 (1) 4 设计内容 (1) 4.1需求分析 (1) 4.2概要设计 (1) 4.2.1功能结构图 (1) 4.3详细设计 (2) 4.3.1流程图 (3) 4.4系统的功能实现 (4) 4.4.1类或包的加载 (5) 4.4.2设计一个主类,变量的定义 (5) 4.4.3文件操作功能的实现 (6) 4.5运行测试 (25) 4.5.1文本编辑器界面 (25) 4.5.2各功能菜单界面 (25) 5 总结与展望 (26) 参考文献 (26) 成绩评定 (27)

1 设计时间 2011年12月19日~2011年12月25日 2 设计目的 本次设计是学习完《java6程序设计》课程后进行的一次全面的综合练习,目的是加深对本学期课程的理解,通过设计文本编辑器并实现其功能来熟练掌握java语言基础,初步掌握软件开发的基本方法与技术将理论课程中学到的知识运用到实践中,实现有一定规模的Java应用。 3设计任务 本次设计的主要任务是文本编辑器的设计与实现,要求设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。 4 设计内容 4.1需求分析 现在网络上各种文本编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed,xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的文本编辑器程序。 4.2概要设计 4.2.1功能结构图

计算机科学与技术毕业论文

毕业设计(论文) 课题名称在线考试系统的设计与研发 姓名XXX 学号XXXXXXX 专业计算机科学与技术 摘要 随着计算机网络技术及相关技术的不断发展,考试的手段和媒介也在发生着巨大的变化,传统的考试方式和手段正面临着强烈的冲击。计算机网络技术应用于教育领域,经历了从传统的纸笔考试到计算机辅助考试,再到实现了真正的无纸化考试。在线式考试不仅可以节省大量的人力、物力,还可以提高考试的效率和质量,降低考试成本,使得网络考试不受时间和空间的限制,并且评测结果更为准确和客观。 将“在线考试系统”作为设计题目主要是为了把教师从传统的卷纸考试的工作中解脱出来,把学生从传统的学习方式中解脱出来。 “考试系统”主要由两个部分组成,分别是:“前台的网页设计”和“后台的题库系统服务”。该系统所能实现的主要模块功能,包括学生信息管理、管理员信息管理、考试科目管理、题库管理、自动组卷、在线考试、自动阅卷、学生成绩管理等功能。 本系统采用ASP语言进行开发,集题库管理,在线考试,实时评判于一体,本文分析了计算机考试系统的关键技术以及存在的问题。提出了实现该系统的体系结

构,软件功能模块等,系统通过提高考试的效率,增强测试的反馈效果,使教师的教与学生的学更有针对性。 本系统速度快、稳定性强,为学生课程学习、个性化学习提供了灵活、方便、科学的检测手段,经过测试,该系统达到了预期的设计目标,非常适合于学校的考试工作。 关键词:在线考试; ASP技术; 数据库开发和应用; 随机生成试卷; 目录 摘要................................................................ 关键词: ............................................................ 绪论 ................................................................ 1系统实现的关键技术................................................. 1.1ASP技术......................................................... 1.2数据库技术....................................................... 1.2.1数据库技术概述................................................. 1.2.2ADO与数据库的交互技术......................................... 2系统分析........................................................... 2.1分析.............................................................

java课设—文本编辑器的设计与实现

淮 海 工 学 院 计算机工程学院
课程设计报告
设计名称: 选题名称: 姓 名: 面向对象课程设计 文本编辑器的设计与实现 学 号:
专业班级: 系 (院) : 设计时间: 设计地点: 计算机工程学院 2015.6.21~2014.7.4 计算机楼机房、教室、宿舍
指导教师评语:
成绩:
签名:
年 月 日

面向对象课程设计报告

1
页,共
14

1.课程设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程 后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理 论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本方法,提高运用 面向对象知识分析实际问题、解决实际问题的能力。
2.课程设计任务与要求:
课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟 练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系 统用例图和类图,并将 UML 图复制到设计报告中。 通过这次设计,要求掌握以下内容: 1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 6)Java 的数据库连接技术 7)Java 的多线程技术与动画制作 8)Java 的网络编程 任务: 设计一个类似于 Windows 记事本(Notepad)的 Java 程序。可以打开、新建、保存一个文本 文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复 制、粘贴、剪切、查找、替换等) ;在文本中能够插入对象。简单文本编辑器提供给用户基本的 纯文本编辑功能, 能够将用户录入的文本存储到本地磁盘中。 能够读取磁盘中现有的纯文本文件, 以及方便用户进行需要的编辑功能。

C++课程设计简易文本编辑器

目录 第一章课程设计目的和要求 (1) 1.1课程设计的目 (1) 1.2基本要求 (1) 第二章课程设计任务内容 (2) 2.1设计背景 (2) 2.2简易文本编辑器设计内容 (2) 第三章详细设计 (3) 3.1总体结构图 (3) 3.2函数分析 (3) 3.3主函数程序流程图 (4) 3.4子函数流程图 (5) 第四章程序编码与调试 (7) 4.1程序编码 (7) 4.2编码调试 (8) 4.3运行结果 (9) 第五章课程设计心得与体会 (11) 附录1 参考文献 (12) 附录2 源程序代码 (13)

第一章课程设计目的和要求 C语言课程设计是一门实践性非常强的课程,不但要注重c语言程序设计基本知识的学习,更要注重程序设计技能的培养,使学生能够允许渐进地把握c语言程序设计的技能。通过课程设计,培养学生阅读和编写程序的能力,培养计算机程序设计的能力和素质,以及思维方法。初步积累编程经验,打下良好的计算机应用基础。 1.1课程设计的目 1.通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力, 能更好的巩固《c语言程序设计》课程学习的内容 2.掌握工程软件设计的基本方法,强化上级动手编程能力,闯过理论与实践相 结合的难关!更加了解了c语言的好处和其可用性。 3.掌握基本的程序设计过程和技巧,掌握基本的分析问题合理性,通过计算机 求解问题的能力,具备初步的高级语言程设计能力。为后续个门计算机课程 的学习和毕业设计打下结实基础。 4.通过c语言课程设计,使学生了解高级程序设计语言的结构。 1.2 基本要求 1.基本要求: ①要求用VC中的MFC控件打开和保存文件。 ②要求在设计的程序中至少能完成六种编辑功能。 ③完成的程序界面要美观,能够完成六种编辑的全过程。 2.创新要求: ①在记事本中增加工具栏,工具栏中应有常使用的工具按钮; ②在记事本中增加状态栏;

数据结构简易文本编辑器

数据结构简易文本编辑 器 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

题目: 【2】.简易文本编辑器 要求: 1) 具有图形菜单界面; 2) 查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除 3) 可正确存盘、取盘; 4) 正确显示总行数。 1需求分析 一个简易文本编辑器应该具有图形菜单界面,包括查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除文本信息等功能并可正确存盘、取盘,正确显示总行数。 2概要设计 为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的俩个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息: ⑴清空以前的文本信息:将用数组存的数据内容全部置为0; ⑵显示当前文本信息:遍历用数组存入的信息,并输入到外部显示器上; ⑶编辑信息:定义一个结构体,并在结构体中定义一个字符型的一维数组和一个整 型变量,这个整型变量用于记录一维数组中存入数据的个数; ⑷替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入 要替换的信息内容,否则提示未找到要被替换的信息; ⑸插入文本信息:首先在数组中查找要插入点,如果找到该插入点,提示输入插入 信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置; ⑹移动文本信息:首先在数组中查找要移动的信息,如果找到该信息,提示是进行 列移动还是进行行移动,否则提示未找到要移动的信息; ⑺删除文本信息:首先在数组中查找要删除的信息,如果找到该信息,提示是否确 认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息;

项目一:文本编辑器的设计与实现

课程: C# Windows程序设计学年第_ _学期第周月日教学内容备注 项目一:文本编辑器的设计与实现 【项目背景】 文本编辑器有两类:单文档和多文档文本编辑器。单文档文本编辑器一次只能打开一个文件,如果要打开另一个文件,必须关闭当前打开的文件,微软的写字板程序就是单文档字处理程序。多文档文本编辑器允许同时打开多个文件,每个文件占用一个子窗口,微软的Word程序就是多文档字处理程序。本项目主要介绍建立单文档文本编辑器的方法,通过分析现有文本编辑器的功能与操作过程,利用C#开发一个新的文本编辑器。 【主要内容与技能要求】 (1)会进行复杂窗口设计 (2)会对常见的文本编辑功能进行分析与编码实现 (3)会设计多文档窗口 一、预备知识 本项目主要利用RichTextBox控件来构成文本编辑区域。 1、RichT extBox控件的主要属性 属性SelectedText、SelectionLength、SelectionStart: 属性SelectionFont: 属性SelectionColor: 属性Lines: 属性Modified: 事件SelectionChange: 事件TextChanged: 2、RichT extBox控件的主要方法 方法Clear(): 方法Copy()、Cut()、Paste(): 方法SelectAll(): 方法Find(): 方法SaveFile()和LoadFile():

课程: C# Windows程序设计学年第_ _学期第周月日教学内容备注方法Undo(): 方法Redo(): 二、功能设计与实现 1、剪贴板功能 放RichTextBox控件到窗体。属性Name=richTextBox1,Dock=Fill,Text=""。 private void menuItemEditCut_Click(object sender,EventArgs e) { richTextBox1.Cut(); } //剪切 private void menuItemEditCopy_Click(object sender,EventArgs e) { richTextBox1.Copy(); } //拷贝 private void menuItemEditPaste_Click(object sender,EventArgs e) { richTextBox1.Paste(); } //粘贴 private void menuItemEditUndo_Click(object sender,EventArgs e) { richTextBox1.Undo(); } //撤销 private void menuItemEditRedo_Click(object sender,EventArgs e) { richTextBox1.Redo(); } //恢复 2、存取文件功能 文本编辑器都应具有文件存取功能,菜单顶级菜单项“文件”的弹出菜单中一般包括如下菜单项:新建、打开、关闭、保存和另存为等。需要用到打开文件对话框(OpenFileDialog控件)和保存文件对话框(SaveFileDialog控件)。和 两个对话框的常用属性和方法: 属性Filter:例如Filter=“纯文本文件(*.txt)|*.txt|所有文件(*.*)|*.*” 属性FilterIndex: 属性FileName: 属性InitialDirectory: 属性DefaultExt: 方法ShowDialog(): 存取文件功能实现如下:

在线考试系统毕业论文

在线考试系统 摘要 随着计算机网络技术及相关技术的不断发展,考试的手段和媒介也在发生着巨大的变化,传统的考试方式和手段正面临着强烈的冲击。计算机网络技术应用于教育领域,经历了从传统的纸笔考试到计算机辅助考试,再到实现了真正的无纸化考试。在线式考试不仅可以节省大量的人力、物力,还可以提高考试的效率和质量,降低考试成本,使得网络考试不受时间和空间的限制,并且评测结果更为准确和客观。 将“在线考试系统”作为设计题目主要是为了把教师从传统的卷纸考试的工作中解脱出来,把学生从传统的学习方式中解脱出来。 “考试系统”主要由两个部分组成,分别是:“前台的网页设计”和“后台的题库系统服务”。该系统所能实现的主要模块功能,包括学生信息管理、管理员信息管理、考试科目管理、题库管理、自动组卷、在线考试、自动阅卷、学生成绩管理等功能。 本系统采用ASP语言进行开发,集题库管理,在线考试,实时评判于一体,本文分析了计算机考试系统的关键技术以及存在的问题。提出了实现该系统的体系结构,软件功能模块等,系统通过提高考试的效率,增强测试的反馈效果,使教师的教与学生的学更有针对性。 本系统速度快、稳定性强,为学生课程学习、个性化学习提供了灵活、方便、科学的检测手段,经过测试,该系统达到了预期的设计目标,非常适合于学校的考试工作。 关键词:在线考试; ASP技术; 数据库开发和应用; 随机生成试卷; 目录 摘要1 关键词:1 绪论2

1系统实现的关键技术3 1.1ASP技术3 1.2数据库技术4 1.2.1数据库技术概述4 1.2.2ADO与数据库的交互技术5 2系统分析6 2.1分析6 2.1.1条件的可行性6 2.1.2技术的可行性6 2.1.3经济上的可行性6 2.1.4考试系统的实用性6 2.2系统构架与开发环境6 2.2.1确定系统的构架6 2.2.2选择开发环境7 2.3系统需求分析7 3数据库分析与设计8 3.1数据流程分析8 3.2数据库概念设计9 3.3数据库逻辑设计9 4系统设计与实现10 4.1总体设计10 4.2模块的详细设计11 4.2.1管理员子系统11 4.2.2学生管理子系统13 5系统测试14 5.1测试内容14 5.3测试总结15 6结论15 参考文献15 致谢错误!未定义书签。 绪论 随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,其中之一是教师如何通过网络了解学生的学习状况。为此,配合传统课堂教学而建立的在线考试系统就显得相当必要。传统的考试都是采用纸、笔为介质的手工考试方式,即使在目前的高等学校,这种方式仍然被广泛使用。随着考试类型的不断增加和考试要求的不断提高,教师的工作量将随之增大。同时,一次考试的反馈能力弱,试题选择随意性大,人为因素明显,且考试时间地点必须固定。因此,传统的考试方式己经不能完全适应现代考试的需要。 随着人们对网络的科学性和广泛性的理解与加深,人们越来越重视考试系统的重要

数据结构课程设计简易文本编辑器

课程设计说明书 课程名称:数据结构课程设计 专业:电子信息科学与技术班级:2012-1 设计人: 山东科技大学 2015年 7 月 11 日

目录 1需求分析说明 (2) 1.1主函数模块 (2) 1.2菜单显示及输出子模块 (2) 1.3查找功能子模块 (2) 1.4替换功能子模块 (2) 1.5插入功能子模块 (3) 1.6块移动功能模块 (3) 1.7删除功能模块 (3) 1.8读盘功能模块 (3) 1.9存盘功能模块 (3) 1.10测试数据 (3) 2概要设计说明 (4) 2.1设计思想 (4) 2.2模块调用图 (4) 2.3程序代码简介 (4) 3详细设计说明 (7) 3.1主函数模块 (7) 3.2菜单显示及输出子模块 (7) 3.3查找功能子模块 (7) 3.4替换子模块 (9) 3.5插入子模块 (10) 3.6块移动模块 (11) 3.7删除模块 (12) 3.8读盘功能模块 (13) 3.9存盘功能模块 (15) 3.10流程图 (16) 4调试分析 (17) 4.1遇到的问题 (17) 4.2测试结果 (18) 5用户使用说明 (22) 6课程设计总结 (24)

1需求分析说明 简易文本编辑器的总体目标:在Visual Studio的开发环境下,利用所学C 语言和数据结构的相关知识,开发一个具有良好人机界面的简易文本编辑器,实现对文本的简单修改,从而达到编辑文本以及查看文本信息的目的。 基本功能如下: (1)界面友好,易与操作。采用菜单或其它人机对话方式进行选择。 (2)能正确打开所键入的文本路径,并能够读取相应文本信息。 (3)能对打开的文本进行文本信息显示、替换、查找、块移动、删除等基本操作。 (4)能够正确对修改后的文本内容存盘。 (5)正确显示文本总行数。 以下是各功能模块的功能描述: 1.1主函数模块 主函数模块的主要功能是初始化菜单界面,功能按键选择并调用相关模块,实现软件功能。 1.2菜单显示及输出子模块 菜单显示模块的主要功能是将菜单进行显示,内容包括本设计的主要功能及相关代号。 文本显示模块的主要功能是将所要显示的文本信息通过传入的参量传入 本模块进行显示。 输出模块主要功能是输出文本所有信息。 1.3查找功能子模块 本模块的主要功能是通过输入想要查找的文本信息,返回文本中所要查找的文本信息的所处起始位置。 1.4替换功能子模块 本模块的主要功能是将输入的被替换的文本替换为替换的文本信息,并能够显示文本信息。

文本编辑器设计

四川师范大学成都学院高级语言程序课程设计 文本编辑器设计 学生姓名xxx 学号x 所在学院x 专业名称x 班级x级x班 指导教师x 成绩 x学院 二○一四年十二月

课程设计任务书

文本编辑器设计 内容摘要:当今,计算机以及网络技术的飞速发展,社会正快速向信息化社会前进,我们需要更智能,更专业的软件帮助我们完成工作,从而提高了工作效率。 目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行C++程序语言的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习C++程序语言,因此我们利用C++程序设计虚拟机和软件用户以及使用者的应用过程形成一整套完整的编写代码,编译,运行。本文本编辑器的开发主要包括界面窗口的菜单栏和工具栏,还有链接C++语言虚拟机实现编译与运行。操作系统为Windows 7。 关键词:文本编辑器C++程序语言编译运行 The design of text editor Abstract:Today, the rapid development of computer and network technology, society is rapidly advancing to the information society, we need a more intelligent, more professional software to help us to finish the work, so as to improve work efficiency. At present, many text editors species, to provide the function of many, but can satisfy the compiling and running the user to achieve a variety of functions and the C++ programming language is very few, can better adapt to the requirements of the current user. The completion of the design of the text editor function is for learning C++ programming language, so we use the C++ program design of virtual machines and software users and users of the application process of form a complete set of code, compile, run. The development of the text editor includes interface window menus and toolbars, and link the C + + programming language virtual machine implementation compile and run. The development of the text editor use VC++ as the development tool, and the operating system is Window 7.

动态网页制作的设计论文

毕业论文动态网页的设计制作 前言 在Internet 得到广泛应用的今天,网页已经成为一种不可替代的信息交流工具,他以交互式的特点开创了人们进行信息交流的新方式。 以往的静态网页大多不能与数据库连接,交互能力有限,不能很好的实现人们交流的愿望。今天,我们可以使用各种动态网页来弥补这个缺陷,使得这种新兴的、为大家广泛接受的交流方式焕发出更强的生命力,为实现人们“沟通无界线”的理想向前迈进一步。 网页内容的新颖也是吸引访问者的重要因素之一,但纯粹的文字,只会让网页枯燥、乏味,使访问者不能为之心动,而如果加入一些图片或修饰,使之图文并貌,必定会为网站增色不少。而且网站的整体框架的形式和色调也很重要,不同的内容要配以适合的框架和色调,给访问者视觉和感觉上的协调和舒适,如果给一个内容清新的网站配以拘谨的框架和暗色调,那回使访问者心绪凝重,不想再继续浏览此网页。可见这些美工设计对于一个网站来说不可缺少的。 本篇报告将详细说明一个成功建立起来的动态网页的一些方面,包括:发布平台、软件工具、语言、连接数据库和动态效果。 1

摘要 本论文主要介绍了我在西安交大科技处所研究的一些关于Web网 站图象存储与制作的问题。 图象的设计与制作在Web网站中是一个具体问题,也是必不可 少的一部分。因为图象设计的构思、制作是反映一个网站的风格与主题, 也是吸引访问者的一种手段。而如果网站规模大,图象内容势必也会多, 所以网站的图象存储管理尤为重要。 论文中重点阐述了网站图象存储问题,详细说明了存储的两种方 式--存在硬盘上与存入数据库中,以及这两种方式的具体实现和优缺 点。 2

目录 第一章科技处动态网页分析与描述 一. 开发基于数据库的动态网页的必要性 二. 当前静态网页的弊病 三. 网页系统的发展趋势 第二章使用的软硬件介绍 一. 发布平台的选取 二. 应用软件的选取 第三章图象制作 一. 创意构思 二. 创意步骤 第四章图象存储的具体实现 一.图象存储简介 二. 两种存储方法的具体实现 1) 图象存储在数据库中 2) 图象存储在硬盘上 第五章小结 一. 当前应用 二. 心得体会 致谢 参考文献 3

数据结构文本编辑器终审稿)

数据结构文本编辑器文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

数据结构课程设计报告 一.需求分析 1.题目及要求 名称:简单的文本编辑器 内容:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行。 要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一字符或者子串,并将后面的字符前移。 (4)插入某一字符或者子串。 (5)查找某一字符或者子串。 存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和 范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式: (1)分行输出用户输入的各行字符; (2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数" (3)输出删除某一字符串后的文章。 通过题目及其要求可知,本程序应实现以下功能: (1)文章内容的输入:包括字母、标点符号、数字等; (2)文章内容的统计:包括文章中大写字母、小写字母、数字、标点符号、空格以 及文章所有字数的个数的统计; (3)文章内容的处理:包括对文章内容的查找、删除以及对指定位置进行插入操作, 其中在查找的过程中统计出该字符或字符串在文章中出现的次数; 2.问题分析 本程序是对一段英文文章的内容进行处理,存储方式采用链式存储,没有文件操作,故本程序对其文本内容的所有操作都是在链表中进行的。对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储空间中,在此部分设计中最大的问题在于输入文章过程中输入的字符数大于80时如何换行;对于文本内容的统计,使用循环对已存储的文章进行匹配,大写字母数、小写字母数、空格数、数字数直接通过比较即可得到,标点符号通过ASCⅡ比较即可得到;对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,如果存在相同

C++课程设计报告(简易文本编辑器)

面向对象程序设计课程设计报告 (2011/2012学年第二学期) 题目名称简单文本编辑器的设计 系部 专业计算机科学与技术 班级 学生 完成时间 2012年 6 月 指导老师

在文本编辑器出现前,人们用打孔机把计算机文字打到穿孔卡片上。文字存放于一个装着这样的薄卡片的盒子里,可以用读卡器来阅读它。 第一个文本编辑器是一种行编辑器,它运行在打字机型的终端上,这种编辑器并不具备在窗口和屏幕中显示的功能。它包含了一些非常短的命令(为了减少打字量)。其中一个命令能够把文件的指定部分通过打字机打印出来。编辑光标是想象中的一个插入点,通过特殊命令,可以把它移动到特定内容字符串所在的行。随后,内容字符串又被扩展成正则表达式。如果想看到文件的变化,你需要把它打印出来。相对于穿孔机来说,人们认为这种基于行的文本编辑器具有革命性的进步。如果没有它,用户就需要把那些处理文本的命令打成专用的卡片,并在编辑文件时使用这些卡片。 当带有显示屏的计算机终端出现后,基于显示屏的文本编辑器开始流行起来。最早的全屏编辑器中,有一种叫做O26,它是于1967年为CDC 6000系列机器的操作控制台而作的。另外一个早期的全屏编辑器是vi。vi诞生于20世纪70年代,至今,它仍是Unix和Linux的标准编辑器。全屏编辑器对视频终端的销售起到了促进的作用。 文本编辑器在Windows的应用中是一个非常重要的项目,在过去十数年中,微软对windows文本编辑器有多个版本的升级改进,而基于其他的编程环境的文本编辑器也是多如牛毛,今天我们用MFC可视化编译环境做一个简易的文本编辑器。

引言 (2) 1.课程设计目的和意义 (4) 2.详细设计 (4) 2.1需求描述 (4) 2.1.1文件 (4) 2.1.2编辑 (4) 2.1.3应用 (5) 2.1.4帮助 (5) 2.1.5高级 (5) 2.2功能描述 (5) 2.2.1文本编辑区 (5) 2.2.2文件 (7) 2.2.3编辑 (15) 2.2.4应用 (16) 2.2.5帮助 (21) 2.2.6高级 (22) 2.2.7菜单栏 (25) 2.2.7图标 (26) 2.3程序运行说明 (27) 3.课程设计总结 (30) 3.1编程日志 (30) 3.3测试报告 (31) 4.心得体会 (31) 5.参考文献 (31)

4_毕业设计(论文)文献综述

毕业设计(论文) 文献综述 设计(论文)题目:基于Python的飞机大战游戏 设计与开发 学院名称:电子与信息工程学院 专业:计算机科学与技术 班级:计科12-4 姓名:刘佳炜学号12401010410 指导教师:苏日娜职称副教授 企业导师:杨高峰职称工程师 定稿日期:年月日

页面设置:A4纸,页边距:上下各2.54厘米,左:3.5厘米,右:2.5厘米。 页码:居中,首页(封面)不加页码 文献综述例: 基于Python下的飞机大战游戏设计与开发(题目四号黑体居中,段前段后各空 30磅) 摘要:本文主要以飞机大战为例,研究Python语言下的游戏设计和开发。通过pygame模块对游戏的事件响应、碰撞检测和程序优化完成设计和开发工作。通过具体实例的开发,探讨Python开发游戏的基本思路和市场前瞻。(“摘要”两个字五号黑体) 关键词:Python、pygame、游戏(五号宋体)(“关键词”三个字五号黑体) 1. 序言(一级标题:左起顶格打印,小四号黑体,段前段后各空18磅) 1.1 游戏市场的趋势(二级标题:左起顶格五号黑体打印, 段前空12磅,上面一行是一级标题的话,就不空) 在互联网和移动终端蓬勃发展的今天,游戏拥有的市场是难以预估的。而如今热门的游戏诸如:flappy bird、愤怒的小鸟和植物大战僵尸等,都偏向于简单,规模小。笔者主要从以下几个方面进行分析: (1)层出不穷的唯美界面游戏,导致玩家出现审美疲劳。 (2)偏小型、简单的游戏对于时间不充裕的白领、上班族更具备吸引力。 (3)大型的游戏开发需要消耗相当的人力、物力和财力。 (4)游戏依托的平台从电脑端逐渐转移到手机端。手机的配置差异和屏幕的尺寸都不支持游戏程序过大。 1.2 Python开发游戏的优势 Python作为一门面向对象、解释型计算机设计语言。其丰富和强大的库使之能够很轻松地和其他语言制作的模块联结起来。而其优秀的可移植性,也使得其能够在当下众多平台所支持。同时,作为Python游戏开发的首选、主要模块,pygame是专门为电子游戏设计的。其建立在SDL基础上,允许实时电子游戏研发而无需被低级语言束缚。所有需要的游戏功能和理念都完全简化为游戏逻辑本身。 综上,Python是一款完全符合游戏市场趋向的开发语言。应链管理首先在西方提出,它是过去30年中逐渐发展而形成的。在20世纪70年代,主要集中于供应链中某一特定职能企业,生产厂家、零售商、配送中心,注重的是企业内部自身的发展[1]。随着20世纪80年代的到来,企业竞争转到如何全面提高T.Q.C.S赢得竞争,T指产品的交货时间或新产品上市时间;Q是从全面质量管理到零次品率最终发展到全面满足用户要求;C是从单一产品制造成本,发展到包括运行成本、维护成本及报废后的处理成本在内的全成本尽可能最低;S是指提供优质的售前咨询服务及售后维护、增值服务。(五号宋体,1.25倍行距) 文献综述2500字以上,文献综述内容要全面,应包括对设计课题

程序设计_文本编辑器的设计与实现

程序设计报告 (2014/2015学年第一学期) 题目:文档编辑器的设计与实现 专业 组长学号姓名 组员学号姓名 指导教师 指导单位 日期

成员分工组长()对文件操作功能(查找,删除,插入)的代码编 写,报告中概要设计与代码调试问题部分的撰写组员()统计功能代码的编写,翻阅书籍查找资料,报告 中课程设计总结及需求分析部分的撰写 组员()可操作的主菜单及主函数部分代码的编写,报告 整体的撰写及测试数据及其结果分析,制图等 评分细则 评分项优秀良好及格差遵守机房规章制度 上机时的表现 学习态度 程序准备情况 程序设计能力 团队合作精神 课题功能实现情况 算法设计合理性 用户界面设计 报告书写认真程度 内容详实程度 文字表达熟练程度 回答问题准确度 简单 评语教师签名 年月日 评 分 等 级 备注评分等级分为五种:优秀,良好,中等,及格,不及格

文档编辑器的设计与实现 一课题内容与要求 文档编辑器系统是对一个文本内容进行各种常规操作,例如:插入、删除、查找、替换等功能。通过此课题,熟练掌握文本文件的操作及用字符数组来实现字符串操作的功能。 基本要求: (1)首先文件标准化处理:如果句子有前导空格和后导空格,则删除这些空格,单词与单词之间只保留一个空格。 (2)统计功能:可方便地统计出文档中所有出现次数最多和最少的字符串。 (3)查找与替换功能:能够查找任意一个字符串在文档中出现的次数,并可以选择全部或有选择地将其替换为另一个字符串。 (4)显示功能:编辑完成后可以显示编辑后的文档。 (5)抽取功能:根据要求将文件中的某一类字符抽取,并存入另外的文件,如抽取所有的数字、抽取所有的字母等。 二需求分析 图一:文档编辑器系统的功能框架图编辑退出 统计主菜单 输入 继续上次输入重 新 输 入 大 写 字 母 个 数 小 写 字 母 个 数 数 字 的 个 数 标 点 符 号 个 数 空 格 的 个 数 所 有 字 数 查 找 字 符 串 删 除 字 符 串 插 入 字 符 串 显 示 当 前 内 容

2012年毕业设计文本一模板(开题报告)

毕业设计(论文)开题报告 (含文献综述、外文翻译) 题 目 XXXXXXXXXX (题目名与文本二一致) 姓 名 李小明(李 明双名中间空格) 学 号 3060321022 专业班级 08土木工程(结构方向)1班 指导教师 赵子龙 (周 晋双名中间空格) 分 院 土木建筑工程分院 开题日期 2012年3月10日 宁波理工学院

文献综述 文献综述题目(三号黑体,居中,1.5倍行距,段后0.5行)1. 一级标题(黑体小三,左对齐,1.5倍行距) 1.1 二级标题(二级标题,黑体四号,左对齐,1.5倍行距) 1.1.1 三级标题(三级标题,宋体小四号加粗,左对齐,1.5倍行距) 正文汉字字体、字号:小四号宋体。艺术设计专业字数不少于2500字,其他专业不少于3000字。具体内容详见毕业设计(论文)工作手册P2。 外文、数字等符号:字号与同行汉字相同,用Times New Roman 字。 行间距1.5倍行距,段前空2格,段间距为0。 参考文献必须在正文中引用,用[2]作为上标标出,但不能标在章节标题上。如:在甘特大桥之后,还有墨西哥的帕帕加约(Papagayo)大桥、美国得克萨斯州的巴顿河(Bar-ton Creek)大桥及葡萄牙的索科雷多斯(Socorridos)大桥等桥[2]。若一处正文引用多篇,则标出多篇,如:在甘特大桥之后,还有墨西哥的帕帕加约(Papagayo)大桥、美国得克萨斯州的巴顿河(Bar-ton Creek)大桥及葡萄牙的索科雷多斯(Socorridos)大桥等桥[2][3][4]。 图:正文中图用“图1”的编号,数字为文献综述内序号,正文中明示图号,如:“如图1所示”或“见图1”。 图题:图号与图名间空1格,全文必须统一。 图1桥跨总体布置立面图(单位:cm)(5号宋体,居中,1.5倍行距)公式:公式用“(1)”编号,公式单行排版,一般不与文字混排,公式编号要求右对齐,公式的括号为半角括号,公式采用公式编辑器编写,如:

数据结构-课程设计--简易文本编辑器

《数据结构》课程设计 班级: 10计本2班 姓名:邓寅森 学号: 2010305202 指导教师:杨老师 完成日期: 2011年12月

计算机科学与技术系课程设计评分表 课程名称: 数据结构 简易文本编辑器 教师签名: 日 期:

一、需求分析 1.1 问题描述 传统的纸质文档已经不能满足大家的需求,有容易丢失、查找不方便等缺点。计算机信息管理为人们的生活、工作提供了方便,提高了效率。“简易文本编辑器”是为了帮助老师、同学或其他一些需要使用文本编辑的人员进行管理和分析的一种计算机应用程序。 1.2 基本任务 通过用户调查分析及实际需求,系统需要实现如下基本任务:(1)输入数据信息建立文本; (2)查询文本中满足要求的信息; (3)插入新的信息到文本中; (4)删除不再需要的文本信息; (5) 查看所有的文本信息。 二、概要设计 为了完成需求分析的基本任务,主要从以下3个方面进行设计:2.1 主界面设计 为了实现简易文本编辑器的各项功能,设计了一个含有多个菜单项的主控菜单模块以操作系统的各项功能,以方便用户使用系统。

系统进入菜单运行界面如图所示: 简易文本编辑器主菜单 2.2 数据结构设计 系统采用线性表的顺序存储结构表示和存储“简易文本编辑器”中的信息。实现文本的输入,删除,插入,查找,显示功能。

2.3 系统功能设计 运行程序,提示进入菜单,按“回车键”进入主菜单,再可以在主菜单上进行各项操作。每次进入菜单,选择“1键”新建文本,然后才可以进行其他操作,或者按“0键”选择退出。 三、模块设计 3.1 模块设计 系统主要包含主程序模块和其它操作模块。其调用关系如图所示。 模块调用示意图 3.2 系统子模块及其功能设计 本系统共设计了16个子模块,各程序的函数名及功能说明如下: 1、/*由模式串nextval值*/ void GetNextval(SqVString T,int nextval[]) 2、/*模式匹配KMP算法*/ int KMPIndex(SqVString S,int pos,int next[],SqVString T) 3、/*初始化串*/ void InitString(SqVString *S,char *str) 4、/*串插入*/ int StrInsert(SqVString *S,int pos,SqVString T) 5、/*串删除*/

相关主题