当前位置:文档之家› 参考简单行编辑程序报告

参考简单行编辑程序报告

参考简单行编辑程序报告
参考简单行编辑程序报告

沈阳航空工业学院

课程设计

简单的行编辑程序

班级 / 学号 6402103/077_ 学生姓名赵壮

指导教师张雷

沈阳航空工业学院

课程设计任务书

课程名称软件技术基础课程设计

院(系)电子信息工程学院专业电子信息工程

班级6402103 学号200604021077 姓名赵壮

课程设计题目简单行编辑程序

课程设计时间: 2008 年7 月14 日至2008 年7 月27 日课程设计的内容及要求:

[问题描述]文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的作法既不经济,也不总能实现。一种解决方法是逐段地编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。试按照这种方法实现一个简单的行编辑程序。设文件每行下超过320字符,很少超过80字符。

[基本要求]实现以下4条基本编辑命令:

(1)行插入。格式:i<行号><回车><文本>.<回车>将<文本>插入活区中第<行号>行之后。

(2)行删除。格式:d<行号l>[<空格><行号2>=<回车>删除活区中第<行号1>行(到第<行号2>行=。例如:“d10┛”和d1014┛”

(3)活区切换。格式: n<回车>将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。

(4)活区显示。格式:p<回车>逐页地(每页20行)显示活区内容,每显示一页之后请用户决定是否继续显示以后各页(如果存在)。印出的每一行要前置以行号和一个空格符,行号固定占4位.增量为l。

各条命令中的行号均须在活区中各行行号范围之内,只有插入命令的行号可以等于活区第一行行号减l,表示插入当前屏幕中第一行之前,否则命令参数非法。

指导教师年月日

负责教师年月日

学生签字年月日

简单的行编辑

一、题目分析

通过对该软件课设的分析,了解到该课设要求设计一个程序,能够实现行插入、行删除、活区显示、活区切换四项功能。分别设计出四个模块,用主函数集中调度,这样就可以方便快捷的实现各个函数以及整体函数的功能。其具体做法是,先在程序的开始定义一个结构体,其中包括五个数据项,分别是存储每一行元素的项char string[80]、指向前一个结点的指针struct text *pre、指向后一个结点的指针struct text *next、记录每一行元素的长度int num以及判断是否删除的标志int flat。当flat=0时,该行被删除;当flat=1时,该行不删除。对文本的编辑,每次都采用先打开文本文件的形式,因为这样可以更直观的看出编辑后文本的变化。实现活区显示的做法是建立一个链表,该链表有20个结点,在一页中放不下的部分为活区,执行p后可以显示出第一页的部分,在continue之后选择Y 便可以显示出活区的部分,即第二页的内容。实现活区切换的做法是执行n后,先判断活区的内容,如果没被删除就把文本中内容读入到链表中,便可以直接显示出获取部分,即第二页的内容。实现删除的做法是执行d,定义两个指针分别指向要删除的结点,删除两个结点之间的内容,最后将删除后的结果存盘并显示下一页内容。实现插入的做法是执行i,定义一个指针变量插入行的前一行,然后给插入行分配存储空间,将插入行的内容插入到链表中,便实现行插入的功能。程序还定义了一个函数来释放所占链表的内存,在退出程序后利用保存函数将内容存盘.

二、设计过程(程序流程图)

1.主函数的设计

主函数采用do—while循环,循环体主要调用三个子函数:1 EDIT(),2 HELP (),3 EXIT()。行编辑程序的四种主要功能都在EDIT()编辑函数中执行。HELP()函数是提示用户各种功能的执行方式,主函数通过给字符变量cmd赋初值来选择是结束程序还是继续执行循环体中的内容。主程序流程图如1所示。

图1 主函数流程图

2.帮助函数HELP ()子程序设计

帮助函数的主要作用是在用户忘记如何操作的情况下在屏幕上给用户显示提示操作的信息,使行插入,行删除,活区显示,活区切换的执行方式,其流程图如图2所示。

图2 帮助函数HELP ()流程图

3.编辑函数EDIT ()子程序设计

简单行编辑程序的各种功能在编辑函数中实现。首先给字符型变量cmd 赋初值,通过switch(cmd)来选择执行哪种功能。退出编辑函数:E(e),调用save all

cmd=1 开始

定义字符变量cmd

给cmd 赋初值

switch(cmd)

1编辑函数 EDTT ()

2帮助函数 HELP ()

3退出

结束

cmd=2 cmd=3 开始 结束

()函数将内容存盘,然后调用freemem()释放链表空间。打开文件:O(o),调用openfiles()函数打开文件。执行活区显示:P(p)。执行行删除:D(d)。执行行插入:I(i)。执行活区切换显示:N(n)。程序流程图如图3所示。

图3 编辑函数流程图

4.活区显示函数display()子程序设计

在活区显示中首先把文本内容链入链表,函数中用page来实现页码的自增。函数种定义了一个指向struct text结构体的指针变量p ,在文件fp非空和行号小于20的情况下,利用fgets函数使p->string从打开的文件fp中得到字符的值,然后输出每一行的行号和每一行的内容,在此函数的最后还可以利用Y和N来决定是否继续显示下一个活区的内容。其程序流程图如图4所示。

开 始

定义变量 i ,coint ,

打开的文件fp 非空且coint==‘y ’

定义page (页数 )

输出页数

从文件中读入数组元素p->string

输出行号和行的内容

给conti 赋值Y 或N

判断文件是否非空

输出file end !

返 回

Y

Y

Y

N

N

N

图4 活区显示函数流程图

5.活区切换函数saveanddisplay (20)子函数设计

活区切换函数实现活区之间的切换,把文本的每一页(20行)作为一个活区,可以逐页的把活区内容显示出来。在活区切换函数中定义了一个指向struct text 结构体的指针变量p 赋初值*p=NULL,当i 小于20时,如果行没有被删除(flag=1)就

通过fputs 函数把活区内容写入到文件(out ).打开文件fp,如果文件非空,用fgets 函数从文件fp 读入字符串,并用puts 函数输出。如果文件fp 为空就输出file end!。程序流程图如图5所示。

图5 活区切换函数流程图

N

Y

Y N

定义变量 i ;text *p=NULL ,page++

行没有被删除

判断文件fp 是否 非空

输出活区内容 输出file

end !

返 回1 利用指针变量p 找 到hang 的具体位置

将行的内容写入到文件out

N

返回 0 返 回1 返 回0

开 始

6.行删除函数del()子程序设计

在函数的开始定义了三个指向struct text结构体的指针变量p1,p2,p3。输入要删除的两个行号(比如1 3),表示删除从第1行到第3行的数据。程序流程图如图6所示。

开始

定义指针变量text

*p1,*p2,*p3

定义整型变量min,max,i

输出要删除的行

给min和max赋初值

通过指针变量p1,找到min

行在活区中的位置

通过指针变量p1找到max

行在活区中的位置

删除行min到max的内容

保存显示删除后的内容

saveanddisplay()

返回

图6 行删除函数流程图

7.行插入行数insert()子程序的设计

行插入函数的开始定义了三个指向struct text结构体的指针变量p,p1,p2,在给hang赋初值后使p1指向头结点,利用for循环,找到要插入行的前一行hang-1,然后给插入的行分配内存空间。输入文本内容并连入链表。行程序流程图如7所示。

开始

定义三个类型的指针变量

p,p1,p2

输出“请输入要插入的行”

给变量行赋初始值

令p1=头结点,找到行

插入要插入的文本内容

输出修改后的链表(文本内容)

将修改后的链表存盘

(savveandedisplay)

返回

图7 行插入函数流程图

三、调试过程及实验结果

(1)调试过程

在程序编写好之后,便开始在VC中编译执行程序,虽然程序没有错误,但是执行过程中插入可以实现,删除却实现不了,在仔细检验程序后,发现在执行过

程中没有先打开文件,因此无法继续执行。再改正之后便可以得到正确的运行结果了。

(2)实验结果

1.帮助函数HELP()调试结果

在执行过程中按2键便可进入到帮助菜单中,其中有四种功能,其结果如下图。

图8 HELP()函数的内容

2.打开文件函数openfiles()调试结果

在命令窗口输入1调用EDIT()函数,输入O,回车后,输入你想打开的文本名,回车后,输入你想写入的文本名。结果如图9所示。

图9 打开文件命令调试结果

3.活区显示函数display()调试结果

打开文件后输入P,回车后显示每一页的内容(即活区内容),输入Y是继续显示下一页的内容,调试结果如下面图所示。

图10 第一页活区的内容

图11 第2页活区的内容

4.活区切换函数saveanddisplay()调试结果

例如在活区显示完第1页后,输入N,程序等待你输入下一个命令,这时输入n,回车后显示下一活区内容,也就是第二页的内容。调试结果如下图所示。

图12 输入命令n

图13 第2页活区的内容

5.行删除函数del()调试结果

先进入EDIT,打开文件,观察原始数据。输入d后,根据提示信息输入最小行号和最大行号(例如 1 3),回车后显示删除后的内容。如下图所示。

图14 观察原始数据结果

图15 行删除函数调试结果

6.行插入函数insert()调试结果

接着在行删除函数执行后输入命令i,回车,然后输入你想插入的行号(例如3),回车后输入你想插入的文本内容(如00000000000000000000^,“^”是文本结束的标志),回车后会显示修改后的链表,即插入行后的文本内容,如图16所示。

图26 行插入调试结果

四、结论

通过对该题目的编写调试以及结果显示可以看出,本程序可以满足任务书的要求,实现了对行的插入、删除、活区显示、活区转换的各项要求。在执行插入命令的过程中,要检验活区的大小,如果插入这一行之后,仍保持不超的话,就将其插入。在输入未读完时,可将未读完的内容保持在活区的顶部。此外,也实现了一些简单的操作,例如,创建了一个链表,实现文本文件的打开,实现以行为单位是很合理的。通过这次课设,了解简单行编辑程序应用的广泛性。本课程设计的简单行编辑程序各功能的运行操作十分快捷,能满足用户的需要。

五、程序清单

#define NULL 0

#define OK 0

#include

#include

#include

#include

#include

typedef struct text

{

char string[80];//存储每一行的元素

struct text *next;//指向后一个节点的指针

struct text *pre;//指向前一个节点的指针

int num;//每一行元素的长度

int flat;//确定此行是否被删除的标志

}text;

FILE *fp,*out;//fp是执行被打开的文件,out指向被写入的文件

text *head;//链表的头指针

int n=0,sum,delnum,xiugai=0,page=0;

//修改用来指示文件是否被修改过,如果修改过才回存盘。page用来计算显示的

//页数.delnum用来存储被删除的字节数,sum存储一页的总字节数

void HELP()//帮助函数,显示一些命令的格式

{

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

printf("\t** 打开文件: o<行号><文件名><回车> **\n");

printf("\t** 行插入格式: i<行号><回车><文本><回车> **\n");

printf("\t** 行删除格式: d<行号1>[<空格><行号2>]<回车> **\n"); printf("\t** 活区切换格式: n<回车> **\n");

printf("\t** 活区显示格式:p<回车> **\n");

printf("\t** 注意:在执行所有命令前必须先用o命令打开文件,并 **\n"); printf("\t** 用p命令显示出来!!! **\n");

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

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

system("pause");

}

void Createlist()//建立一个二十个节点的链表,是文本中的一页

{

text *p1,*p2;

p1=p2=(text *)malloc(sizeof(text));//分配空间

head=NULL;

while(n<20)

{

n=n+1;

if(n==1) head=p1;

else

{

p2->next=p1;//p2->pre=p1;p1->next=p2;p1=p2;

p1->pre=p2;

p1->flat=0;

}

p2=p1;

p1=(text *)malloc(sizeof(text));

}

p2->next=NULL;

}

void freemem()//释放链表所占的内存

{

text *p;

for(p=head;head!=NULL;)

{

head=p->next;

free(p);

p=head;

}

}

int EDIT()//编辑函数,用来接受处理编辑命令{

char cmd;

do

{

cmd=getchar();

printf("\n请输入命令(按E键退出):\n"); cmd=getchar();

switch(cmd)

{

case 'e':

case 'E':

if(xiugai==1)

saveall();

freemem();

if(fp)

fclose(fp);

if(out)

fclose(out);

system("cls");

return 0;

case 'o': //打开文件

case 'O':

Openfiles();

break;

case 'p': //活区显示

case 'P':

Createlist();

display();

break;

case 'n': //活区转换

case 'N':

saveanddisplay(10);

break;

case 'd': //删除行

case 'D':

del();

break;

case 'i': //插入行

case 'I':

insert();

break;

default:printf("\n\n\n!!!输入错误!!!");

}

}

while(cmd!='e'&&cmd!='E');

return 0;

}

int Openfiles()//打开文件的函数

{

char name[30],outname[30];

puts("请输入要打开的文件名:");

scanf("%s",name);

if((fp=fopen(name,"r+"))==NULL)

{

printf("打不开原文件! \n");

exit(0);

}

puts("请输入要写入的文件名:");

scanf("%s",outname);

if((out=fopen(outname,"w+"))==NULL)

{

printf("打不开目标文件!\n");

exit(0);

}

return 0;

}

int display()//从文件中读入到链表中,并显示出来{

int i;

char conti='y';

text *p;

while((!feof(fp))&&(conti=='y'||conti=='Y')) {

page++;

printf("\n第%d页\n",page);

for(i=0,p=head,sum=0;(i<10)&&(!feof(fp));i++,p=p->next)

{

fgets(p->string,sizeof(p->string),fp);

puts(p->string);

p->flat=1;

p->num=strlen(p->string);

sum=sum+p->num;

}

puts("Continue?(Y/N):");

conti=getche();

if(feof(fp))

{

puts("\n文件已经结束!");

return 0;

}

}

return 0;

}

int saveanddisplay(int hang)//命令n执行的函数,用来将活区的内容显示并读入下一页内容

{

int i,endflat=0;

char conti='y';

text *p=NULL;

page++;

for(i=0,p=head;inext) //将活区写入文件

if(p->flat==1)

{

fputs(p->string,out);

p->flat=0;

}

if(!feof(fp))

printf("\t\t第%d页\n",page);

for(i=0,p=head,sum=0;(i<10)&&(!feof(fp));i++,p=p->next)//从文件读入活区

if(fgets(p->string,sizeof(p->string),fp))

{

puts(p->string);

p->flat=1;

p->num=strlen(p->string);

sum=sum+p->num;

}

if(feof(fp))

printf("文件已经结束!");

return 0;

}

int saveall()//退出编辑函数后执行的函数,将所有的内容存盘

{

int i,endflat=0;

char conti='y';

text *p;

for(i=0,p=head;i<10;i++,p=p->next) //将活区写入文件

if(p->flat==1)

{

fputs(p->string,out);

p->flat=0;

}

while(!feof(fp))//将其余的内容写入文件

fputc(fgetc(fp),out);

return 0;

}

int del()//删除d命令对应的函数,用来删min-max中的行,用结构体中的flat表示是否被删除

{

text *p1,*p2,*p3;

int min,max,i;

xiugai=1;

scanf("%d %d",&min,&max);

if(head==NULL)

{

printf("\nlist null!\n");

return 0;

}

p1=p2=head;

for(i=0;i

p1=p1->next;

for(i=0;i

p2=p2->next;

for(delnum=0;p1!=p2;p1=p1->next)/*删除中间的节点,将flat赋值0*/

{

p1->flat=0;

delnum=delnum+p1->num;

}

for(i=0,p3=head;i<10;i++,p3=p3->next)//显示删除后的结果

if(p3->flat==1)

puts(p3->string);

saveanddisplay(10);//将删除后的结果存盘并显示下一页内容(十行)

xiugai=1;

return 0;

}

int insert()//插入i命令对应的函数,在i行后插入文本

{

int hang,i,increhang=1,number=1;

text *p,*p1,*p2;

xiugai=1;

printf("输入要插入的行号\n");

scanf("%d",&hang);

p=NULL;

p1=NULL;

for(i=0,p1=head;inext);//找到要插入行的前一列

p=(text *)malloc(sizeof(text));//为插入行分配空间

p->flat=1;

p->next=p1->next;//从此行向下四行将插入行插入到链表中

p->pre=p1;

p1->next->pre=p;

p1->next=p;

p->string[0]=getchar();

for(i=1;(i<80)&&(p->string[i-1]!='^');i++)

{

p->string[i]=getchar();

if((i+1==80)&&(p->string[i]!='^'))//如果插入的内容超过一行的容量,则分配下一行空间并将其连入链表

{

p1=p;

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

p->flat=1;

p->next=p1->next;

p->pre=p1;

p1->next->pre=p;

p1->next=p;

i=0;

increhang++;

}

p->num=i;

}

p->string[i-1]='\n';

p->string[i]='\0';

puts("修改后的链表:");

for(p2=head;p2!=NULL;p2=p2->next)//显示出修改后的链表

puts(p2->string);

人教版信息技术九年第2课《编一个简单的程序》教案

人教版信息技术九年第2课《编一个简单的程序》教案个简单的程序 教学目标 1、熟悉标签控件、命令按钮控件 2、熟悉修改控件属性的基本方法。 3、学会测试程序并掌握生可执行文件。 教学内容:程序的感知,标签、命令按钮摆放及属性的设置 教学重、难点:标签、命令按钮的绘制及属性的设置 教法、学法:讲授法、演示法、实践法 制作一个按钮、一个程序界面,为了让应用程序更规范,我们还需要创建一个用来显示“同学们:你们好跟我来学程序设计”字样的容器。制作一个按钮、一个程序界面,为了让应用程序更规范,我们还需要创建一个用来显示“你们好跟我来学程序设计”字样的容器。制作一个按钮、一个程序界面,为了让应用程序更规范,我们还需要创建一个用来显示“同学们:你们好跟我来学程序设计”字样的容器。 教学过程 一.创设情景引入新课 引言:通过上节的学习我们对VB有了初步的了解,同学们是不是很想了解程序设计过程呢? 演示“本节要设计的程序” 1.提出问题:对这样一简单的程序你能想到什么? A创建的应用程序要有什么样的功能? B应用程序大体上由哪些元素组成? 小结:我们的第一个应用程序非常简单,程序运行时,程序界面上就会显现“你好,欢迎学习程序设计!”字样。使用者只需点击程序上的退出按钮,程序就会结束运行。 组成程序元素有:一个按钮、一个程序界面和用来显示“你好,欢迎学习程序设计”字样的容器。

授新课 1.启动 VB 6.0: 创建一个新的“标准 EXE”文件。 需要指出的是,这个以 Form1 为标题栏的程序界面就是我们需要的“程序界面”,也是用户首先看到的对象,所以尽可能将其做得美观一点。 当然,对应用界面的美化问题我们将在以后探讨。 2.绘制绘制程序界面 根据开发思路,现在我们来制作标签、按钮 ⑴标签制作 单击工具箱中的标签按钮, 把鼠标指针移到窗体中, 拖动鼠标绘制一个矩形(文字显示区域) ⑵按钮制作 3.学生练习:绘制标签、按钮 4、对标签、按钮属性进行设置: 开发任何应用程序,在完成界面布局后,应该就每一个元素进行属性设置以达到自己的要求。 当然,也可以在元素布局的过程中进行属性设置。 ①打开“属性”窗口 ②单击窗体中的labell标签选定它。 ③单击“属性”窗口中Caption选项右边的Labell. ④出现插入点后删除Labell 输入“你好欢迎学习程序设 计”. ⑤ ⑥ 5学生练习.对标签、按钮属性进行设置

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

个程序员专用的代码编 辑器 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 横空出世。它预装了所有你期望一个现代化的文本编辑器所应该具备

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.创新要求: ①在记事本中增加工具栏,工具栏中应有常使用的工具按钮; ②在记事本中增加状态栏;

编写简单C程序(1)

编写简单的C程序(1) 【实验目的】 1.掌握程序的调试方法 2.掌握输入函数和输出函数的使用 3.能够编写简单的C顺序程序 【实验内容】 一、调试程序 1、在VC中输入以下程序(源程序文件名取为errro2-1.c) #include void main( ) { int c, f; f = 100 c= 5×(f - 32) / 9; printf(“华氏温度= %f, 摄氏温度= %d\n”, f, c); } 以上程序中有3处错误,请改正,让程序运行出如下结果 华氏温度= 100, 摄氏温度= 37 2、在VC中输入以下程序(源程序文件名取为errro2-2.c) 程序的功能是:计算某个数x的平方y,并分别以“y=x*x”和“x*x=y”的形式输出x和y的值。 假设x的值为3,正确的输出结果应为: 9=3*3 3*3=9 改正以下程序中的错误,让程序运行结果正确,请不要删除给出源程序中的任何注释。 #include void main( ) { int y; y=x*x; printf(“%d=%d*%d\n”,x); // 输出y=x*x printf(“d*%d=%d\n”, y); // 输出x*x=y } 二、编程题 1、求摄氏温度26度所对应的华氏温度。计算公式如下,其中:c表示摄氏温度,f表示华氏温度。(要求摄氏温度的值从键盘输入)

3295 +=c f 2、设n 为一个三位数的整数,从键盘输入n 的值,分别求出n 的个位数字,十位数字和百位数字并输出。 例如:152的个位为2,十位为5,百位为1 提示:n 的个位数字值为n%10,十位数字为(n/10)%10,百位数字是n/100

简单的行编辑器课程设计报告

中国地质大学 C语言课程设计 题目编号和名称16 简单的行编辑器 教师姓名 学生姓名 学生学号 学生班级 所在院系 日期2010 年7 月16 日

简单的行编辑器 目录 1.题目要求………………………………………… 2.需求分析……………………………………….... 3.总体设计………………………………………… 4.详细设计………………………………………… 5.总结………………………………………………. 1.【题目要求】 设计一个简单的行编辑器 【要求】 (1)设置一个简单的行编辑器,每行以回车结束 (2)数据以文件形式存储 (3)编辑器具有查找、替换、修改数据的功能 2.【需求分析】 根据题目要求,行编辑器的数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;在程序运行过程中要实现查找、替换、修改数据的功能应提供查找、替换、修改数据等操作;另外还应提供键盘式选择菜单功能选择。 3.【总体设计】 根据上面的需求分析,可以将这一系统的设计分为输入、查找、替换修改数据、退出等四个模块(系统功能模块如图1所示) 图1 行编辑器功能模块图

4.【详细设计】 1. 主函数 主函数的设计一般较简单,一般只提供输入、功能处理和输出部分的函数调用其中各功能模块用菜单方式选择。主函数流程图如图1-1 程序如下 void main() { cout<<"\t\t\t 简单行编辑.\n"; Str s1; Str s2; Str ss; Str ss1; Str ss2; int n; s1.input_str(); int choice=-1; while(choice!=0) 图1-1 行编辑器主函数流程 { //system("cls"); cout<<"\t\t\t *******简单行编辑******\n"; cout<<"\t\t\t ***********************\n"; cout<<"\t\t\t 1: 打印字符串.\n"; cout<<"\t\t\t 2: 插入字符串.\n"; cout<<"\t\t\t 3: 删除字符串.\n"; cout<<"\t\t\t 4: 复制整个字符串.\n"; cout<<"\t\t\t 5: 替换字符串.\n"; cout<<"\t\t\t 6: 查找一个字符串的位置.\n"; cout<<"\t\t\t 7: 继续输入. \n"; cout<<"\t\t\t 0: 退出.\n"; cout<<"\t\t\t ************************\n";

简易文本编辑器说明书

中北大学 课程设计说明书 学院、系: 专业: 班级: 学生姓名:学号: 设计题目:简易文本编辑器 起迄日期: 2016年12月16日~2016年12月29日指导教师: 日期: 2016年12月29日

1 设计目的 通过用户调查分析及实际需求,开发出一个文本编辑器,可以方便用户对文本进行编辑。系统需要实现如下基本功能: (1)具有图形菜单界面; (2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除;(3)可正确存盘、取盘; (4)正确显示总行数。 2 任务概述 要设计一简易的文本编辑器,要求有图形菜单界面,也就是菜单选择的界面,要实现的功能有对文本进行存盘,取盘,在某一个盘中新建一个TXT的文件,在里面输入内容,对这个文件进行取盘,显示出文本内容,并在显示的时候显示行数,具有对文本进行查找、替换、插入、移动、删除等功能。 为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的两个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息: ⑴显示当前文本信息:从文件中读出文本,在某一个盘中创建一个文本文件,所以要读出来, 显示到显示器上,并统计出行数。 ⑵查找文本信息:因为在下面做插入,删除,移动之类的都需用到查找,在查找的时候,也要 调用一个字符匹配模式的程序,来判断查找的内容是否符合所要查找的内容。 ⑶删除文本信息:首先在数组中查找要删除的信息,查找的时候调用匹配模式的子函数,如果 找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息; ⑷插入文本信息:首先调用字符匹配模式的子函数找到插入点,如果找到该插入点,提示输入 插入信息,确认插入信息后,选择是否在这个位置插入,如果是的话执行插入,不是的话再往下查找下一个插入点。 ⑸替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的 信息内容,否则提示未找到要被替换的信息; ⑹保存文本信息:在这里使用文件写入读出的功能,把你修改完的内容保存到你所建立的文 本中。 ⑺显示文本内容:读出文件中的所有字符,显示到显示器上。 ⑻退出 3 模块划分 (1)系统主要包含主程序模块和其他操作模块。其调用关系如图(一)所示。

简单行编辑器 数据结构 课程设计汇总

中国矿业大学徐海学院计算机系《软件认知实践》报告 姓名:学号: 专业: 设计题目:简单行编辑器 指导教师: 2012年12月25

目录 第1章题目概述 (1) 第1.1节题目要求 (1) 第1.2节主要难点 (2) 第2章系统流程图 (3) 第3章数据结构和算法 (4) 第4章核心代码分析 (6) 第5章复杂度分析 (10) 第6章总结 (11) 参考文献 (13)

第1章题目概述 在这次课程设计中我选的题目是文本编辑,文本编辑几乎是每个使用电脑 的人都会遇到的问题,特别是网络小说作家们。在文本的编辑中,我们会时常 遇到文本信息的统计问题、小型子串的查找问题、子串的查找和删除问题等。 如果靠人自己去观察和执行相关操作的话,不仅累人,而且很容易出错。而使 用计算机程序去实现的话,则会省力不少,而且相对来说非常精确。本程序使 用了较快速的查找算法,可以大大提高检索的效率,相信这可一极大的方便用 户用电脑编辑文本文件。 第1.1节题目要求 文章编辑 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行; 要求 (1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标 点符号。 输出形式: (1)分行输出用户输入的各行字符; (2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数" (3)输出删除某一字符串后的文章; 实现功能 (1)文章内容的输入:包括字母、标点符号、数字等; (2)文章内容的统计:包括文章中大写字母、小写字母、数字、标点符

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

简易图片编辑器设计文档

基于Linux平台的课程设计 设计文档 学校福建师范大学闽南科技学院 专业2011级计算机科学与技术 作品名称基于Matlab简易图片编辑器组长122512011016 何亮达 组员122512011045 叶少宁 122512011060 朱彬彬 122512011066 卓建平

一、需求分析 在这高速发展的信息时代中,人们对信息交流和信息处理的技术需求也不断提高。语音和图像是人类传递信息的主要媒介,其中视觉信息在人类接收信息中占据60%,远远高于其他信息来源,所以人们在日常生活和生产中接触最多的信息种类是图像。 为了便于人类的理解从而改善图像信息;对图像数据进行处理便于机器自动理解。我们需要对图像进行处理。 二、功能划分 1、流程图 2、主要功能介绍 此程序可以对图片进行简单的编辑。 ●截图功能:可截取用户有需要的图片的部分进行保存 ●画笔功能:在图片上利用画笔进行涂鸦 ●放大镜功能:可对图片的部分进行放大显示查看细节 ●马赛克功能:可对图片进行马赛克处理 ●旋转功能:可对图片进行顺时针或逆时针旋转任意角度 ●镜像功能:可对图片进行水平或垂直的镜像处理 ●锐化功能:可对图片进行锐化 ●反色功能:可对图片进行反色处理 ●灰度功能:可将图片进行灰度变换,变成灰度图片 三、界面设计

下面介绍本作品的界面(图1)中使用到的三种图形化控件: ●按键钮(Push Button):(如图1中使用橙色框框出的例子)使用鼠标单击按钮,其 将会执行一个所定义的动作 ●函数Axes可创建坐标系并显示图形化数据,所以常常利用它来作为显示处理的图片(如 图1中使用绿色框框出的例子) 图1 ●菜单栏Tools中的Menu Editor可以用来对系统的菜单进行设计,在弹出的对话框中单 击按钮New Menu(如图2红色框框出)来进行创建菜单,可对创建后的菜单项命名、编写调用函数、快捷键设置等。若有需求可以通过按钮New Menu Item进行创建子菜单项(如图2绿色框框出)。

行编辑程序

计算机系 上机实验报告 实验项目名称行编辑程序 所属课程名称数据结构 实验类型综合型实验 班级 完整学号 姓名 成绩

实验概述: 【实验目的】 1.练习行编辑程序并写出栈的逻辑结构表示 2.掌握栈的特点并实现栈的存储表示 3.用栈解决行编辑的问题 【实验环境】(使用的软件) Visual C++ 6.0 控制台编程环境 实验内容(不够附页): 【实验方案设计与实验过程】(分析、设计、实验步骤、测试数据、实验结果)一、分析 行编辑程序的功能:接受用户从终端输入的程序或数据,并存入用户的数据区。 较好的做法:设立一个输入缓冲区,用来接收用户输入的一行字符,然后逐行存入用户数据区。 例如,当用户发现刚刚键入放入一个字符是错的时,可补符进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“@”,以表示当前行中的字符均无效。 二、设计 使用栈结构实现输入缓冲区 从终端接收一个字符进行判断: 1、不是“#”也不是“@”则压入栈顶 2、是“#”,则栈顶元素出栈 3、是“@”,则栈清空 4、接收到行结束符或全文结束符将数据送入用户数据区 三、实验步骤

四、测试数据 【实验小结】(实验过程中出现的问题、结果分析、出错原因分析等)(实验过程中出现问题举例) 1.问题: 在程序实现过程中,编译时没有出现错误: 但在运行结果时却出现如下错误: 仔细检查程序,发现是由于少写了如下一段程序:case'@':{ while(!StackEmpty(S)) Pop(S,c); };break;//构造空栈S 加上以上语句,再编译执行,程序运行正常。 成绩: 批阅日期:

C语言学习知识必背18个经典编辑程序

C语言必背18个经典程序 1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/ #include "stdio.h" main() {int i,j,result; for (i=1;i<10;i++) { for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/ } printf("\n");/*每一行后换行*/ } } 2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....*/ main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf("%12ld %12ld",f1,f2); if(i%2==0) printf("\n");/*控制输出,每行四个*/ f1=f1+f2; /*前两个月加起来赋值给第三个月*/ f2=f1+f2; /*前两个月加起来赋值给第三个月*/ } } 3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。*/ #include "math.h" main() { int m,i,k,h=0,leap=1; printf("\n"); for(m=101;m<=200;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) {leap=0;break;} if(leap) /*内循环结束后,leap依然为1,则m是素数*/

C语言程序的设计100个简单的经典例子

经典C语言程序设计100例 1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯并按条件打印笑脸 11.经典兔子问题 12.判断素数 13.水仙花数问题 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问题 21.猴子吃桃问题 22.乒乓球比赛抽签问题 23.打印菱形图案 24.分数数列求和 25.求1+2!+3!+...+20!的和26.利用递归方法求5! 27.将输入字符以相反顺序打印 28.岁数问题 29.求解正整数位数 30.判断回文数 31.星期几猜测游戏 32.改变文本颜色 33.学习gotoxy()与clrscr()函数34.练习函数调用 35.设置文本颜色 36.求100之的素数37.对10个数进行排序 38.求3*3矩阵对角线元素之和 39.数字插入数组重新排序40. 将一个数组逆序输出 41.static定义静态变量用法42. 使用auto定义变量用法43.使 用static的另一用法 44.使用external的用法 45.使用register定义变量方法 46.宏#define命令练习(1) 47.宏#define命令练习(2) 48.宏#define命令练习(3) 49.#if #ifdef和#ifndef的综 合应用 50.#include 的应用练习 51.学习使用按位与 & 52.学习使用按位或 | 53.学习使用按位异或 ^ 54.取一个整数从右端开始的 4~7位。 55.学习使用按位取反~ 56.用circle画圆形 57.学用line画直线 58.用rectangle画方形 59.画图综合例子1 60.画图综合例子2 61.打印辉三角形 62.学习putpixel画点 63.画椭圆ellipse 64.利用ellipse and rectangle 画图 65.画个最优美的图案 66.输入3个数字按大小顺序输 出 67.输入数组交换元素重新输出 68.多个整数后移位置问题 69.圆圈报数问题 70.计算一个字符串长度 71.编写输入/输出函数 72.创建链表 73.反向输出链表 74.连接两个链表 75.算一道简单题目 76.调用函数求 1/2+1/4+...+1/n 77.填空练习(指向指针的指针) 78.找到年龄最大的人 79.字符串排序 80.海滩猴子分桃 81.已知公式条件求数字 82.八进制转换为十进制 83.求0-7所能组成的奇数个数 84.由两个素数之和表示的偶数 85.判断一个素数能被几个9整 除 86.两个字符串连接程序 87.结构体变量传递 88.读取数字的整数值并打印出 该值个数的* 89.数据加密 90.专升本一题 91.时间函数举例1 92.时间函数举例2 93.时间函数举例3 94.一个猜数游戏 95.家庭财务管理小程序 96.计算字符串中子串出现的次 数 97.输入字符并保存到磁盘98. 字符串转换成大写字母并输出 保存 99.文件操作应用1 100.文件操作应用2 --------------------------------------------------------------------------------

C语言课程设计 简单的行编辑器.

语言程序设计报告 姓名: 班级: 学号: 指导教师: 课题:简单的行编辑器

简单的行编辑器 一.题目要求 1.设置一个简单的行编辑器,每行以回车结束。 2.数据以文件形式存储。 3.编辑器具有查找,替代,修改数据的功能。 二.需求分析 根据题目要求,数据以文件的形式存储,所以应提供文件的输入,输出等操作;还需要文件具有查找,替换,修改数据的功能。 三.总体设计 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 编辑,查找,修改,,删除,替换,保存,退出。 四.详细设计 1.主函数 为了各模块的独立性,主函数一般设计得比较简单,本系统主要用主函数打开上次保存的数据和进入主菜单函数 流程图

程序 main() pfile=fopen("Linedit.txt","a+"); readfile(lines,pfile); fclose(pfile); menu(lines); } int readfile(char (*lines)[MAXC],FILE *pfile) { int i=0; while(!feof(pfile)){ fgets(lines[i],MAXC,pfile); /*if(!strstr(lines[i],"\n")) return 1;*/ i++; } return 0; } 2. 主菜单函数 流程图 程序 void menu(char (*lines)[MAXC]){ int selection; do{

system("cls"); puts("\t\t***********************MUNU******************\n\n"); puts("\t\t1.Edit new line"); puts("\t\t2.Replace line"); puts("\t\t3.Delete line"); puts("\t\t4.Search line"); puts("\t\t5.Modify data"); puts("\t\t6.Save"); puts("\t\t0.Exit"); puts("\n\n\t\t********************************************\n"); printf("Please select a number:[ ]\b\b"); do{ scanf("%d",&selection); if(selection<0||selection>6) { printf("Invalid selection!Please try again "); printf("and select a number:[]\b\b\n"); } else break; }while(true); switch(selection) { case 1:edit(lines);break; case 5:modify(lines);break; case 3:mydelete(lines);break; case 4:search(lines);break; case 2:replace(lines);break; case 6:savetofile(lines);break; case 0:myexit(lines); } } while(true); } 3.各功能模块设计 (1)编辑模块 流程图

数据结构简易文本编辑器

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

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

简单行编辑程序实验报告

简单行编辑程序课程设计 一.设计要求 1.问题描述 文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。 被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法即不经济,又不总能实现。一种解决方法是逐段的编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。试按这种方法实现一个简单的行编辑程序,设文件每行不超过320个字符,很少超过80个字符。 2.需求分析 该程序要实现以下4条基本的编辑命令: (1)行插入。格式:i<行号><回车><文本>. <回车> 将<文本>插入活区中第<行号>行之后。 (2)行删除。格式:d<行号1>[<空格><行号2>.]<回车>例如 删除活区中第<行号1>行(到第<行号2>行)。 (3)活区切换。格式:n<回车> 将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。(4)活区显示。格式:p<回车>;逐页地(每页20行)显示活区内容,在每显示的一页之后请用户决定是否继续显示以后各页(如果存在)。印出的每一行要前置行号和一个空格符,行号固定占4位,增量为1。 各条命令中的行号均须在活区中各行号范围之内,只有插入命令的行号可以等于活区第一行行号减一,表示插入当前的屏幕中第一行之前,否则命令参数非法。 二.概要设计 1.主界面设计 为了实现简单行编辑程序,设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能。主控菜单运行如下:

2.存储结构设计 该系统采用串的顺序存储结构。 3.系统功能设计 (1)行插入 (2)行删除 (3)文本显示 (4)保存文件 (5)读取文件 (6)退出系统 三.模块设计 1.模块设计 本程序包含主程序模块、菜单选择模块和串操作模块。调用关系如下主程序模块菜单选择模块串操作模块 2.系统子程序及功能设计 (1)enter(int linenum) 据结构设计 ADT line{ 基本操作: enter(linenum) 初始条件:有内存。 操作结果:linenum +1. delete_text( ) 初始条件:line存在。 操作结果:若删除的最后一行,则直接删除。 若删除中间一行,则后面的linenum -1。 Load()

行编辑程序说明书

摘要 本课程设计是实现“简单的行编辑程序”,此编辑程序的主要用处是接受用户从终端输入的程序和数据,并存入用户的数据区。这个行编辑程序需要实现的功能包括:能够设立一个输入缓冲区,用于接受用户输入的一行字符然后逐行存入用户数据区;用户在输入出差错时,并在发现有误时可以及时更改。此程序是一个课程设计的程序,只是模拟的一个简单的行编辑器,如需要真正设计一个行编辑器,那么还需要更为完善的程序。 关键词:行编辑;数据结构;VC++;线性结构

Abstract This course is designed to achieve "a simple line editor", the main use of this editing program is to accept input from the terminal user programs and data, and the data stored in the user's area. This program needs to achieve line editing features include: the ability to set up an input buffer for receiving a line of characters entered by the user and stored in the user data area progressive; awry when the user input, and can be found in time to change the wrong time . This program is a curriculum design process, just simulate a simple line editor, such as the need to really design a line editor, you also need a more comprehensive program. Keyword:Line editing; data structure; VC + +; linear structure

如何编写一个简单的程序

如何编写一个简单的程序 这里为大家介绍一下如何开始编写一个真正的但是简单程序。 程序的概念: 下面一段,关于程序的概念,内容来自维基百科: 先阅读一段英文的:computer program and source code,看不懂不要紧,可以跳过去,直接看下一条。 A computer program, or just a program, is a sequence of instructions, written to perform a specified task with a computer.[1] A computer requires programs to function, typically executing the program's instructions in a central processor.[2] The program has an executable form that the computer can use directly to execute the instructions. The same program in its human-readable source code form, from which executable programs are derived ., compiled), enables a programmer to study and develop its algorithms. A collection of computer programs and related data is referred to as the software. Computer source code is typically written by computer programmers.[3] Source code is written in a programming language that usually follows one of two main paradigms: imperative or declarative programming. Source code may be converted into an executable file (sometimes called an executable program or a binary) by a compiler and later executed by a central processing unit. Alternatively, computer programs may be executed with the aid of an interpreter, or may be embedded directly into hardware. Computer programs may be ranked along functional lines: system software and application software. Two or more computer programs may run simultaneously on one computer from the perspective of the user, this process being known as multitasking. 计算机程序 计算机程序(Computer Program)是指一组指示计算机或其他具有信息处理能力装置每一步 动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个 程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语和烹饪 手法的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易看清而计算机可解读的格式,然后 运行。未经编译就可运行的程序,通常称之为脚本程序(script)。

文本编辑器的详细使用说明

文本编辑器的详细使用说明

文本编辑器的详细使用说明 ①基本操作:对作业内容进行剪切、 复制、粘贴等操作 ②文字格式化:对作业内容进行格式 调整,包括字体大小、颜色、样式等。图标依此为:【段落标签】【字体】【字体大小】【加粗】【斜体】【下划线】【删除线】【字体颜色】【背景颜色】【内容全选】【删除文字格式】 ③段落格式化:对作业中的段落进行 格式调整,包括:【对齐】【列表】【减 少缩进】【增加缩进】 ④常用的网页编辑: 超链接: 直接建立超链接:填写链接地址、选择链接页面的打开方式、输入链接文字,点击【确定】

链接我自己的附件:选择电脑上的附件,输入链接文字,点击【确定】 ●取消超链接:选中编辑器中的超链 接,点击取消即可。可以直接删除 链接文字。 ●图片: 如何上传图片 上传图片(图片要为.jpg格式)请按照使用说明中的步骤进行, 截图后如何存为.jpg格式: ①首先打开画图工具步骤: 点击【开始】----【所有程序】----【附件】----【画图】

②将图片存为.jpg格式 用qq截图后,在画图工具中的空白处右击鼠标【粘贴】,然后保存时放在桌面上,保存时将图片选择成.jpg格式。 图片的大小判断方法: 鼠标右击要上传的图片,点击【属性】 根据IE浏览器不同分类两类: ①ie6或ie7中点击【摘要】查看高度和宽度,将其记录下后填入如下框中 ②ie8及以上点击【详细信息】查看高度和宽度

上传图片: 在编辑框中找到图片按钮,按照如下步骤进行 ①开编辑框找到图片按钮 ②点击上传,找到要上传的图片

③填写长宽 ④点击确定

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