文档视界 最新最全的文档下载
当前位置:文档视界 › 简单行编辑程序实验报告

简单行编辑程序实验报告

简单行编辑程序实验报告
简单行编辑程序实验报告

简单行编辑程序课程设计

一.设计要求

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()

初始条件:存在文件file

操作结果:打开文件。

} ADT line

2.系统主要子程序详细设计

(1)主程序模块设计

void main(int argc,char *argv[]) {

char s[80],choice,fname[80];

int linenum=1;

start=NULL;

last=NULL;

if(argc==2) load(argv[1]);

do{

choice=menu_select();

switch(choice)

{

case 1:printf("行号:");

gets(s);

linenum=atoi(s);

enter(linenum);

break;

case 2:delete_text();

break;

case 3:list();

break;

case 4:printf("\t文件名:");

gets(fname);

save(fname);

break;

case 5:printf("\t文件名:");

gets(fname);

load(fname);

break;

case 6:exit(0);

}

}while(1);

}

menu_select()

{

char s[80];

int c;

printf("\t**欢迎使用简单行编辑程序**\n");

printf("\t\t\t\t1.行插入\n");

printf("\t\t\t\t2.行删除\n");

printf("\t\t\t\t3.文本显示\n");

printf("\t\t\t\t4.保存文件\n");

printf("\t\t\t\t5.读取文件\n");

printf("\t\t\t\t6.退出\n");

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

do{

printf("\n\n\t\t 请选择:");

gets(s);

c=atoi(s);

}while(c<0||c>6);

return(c);

}

(2)主要工作函数

/*将文本插在指定行端部*/

enter(int linenum)

{

struct line *info;

for(;;)

{

info=(struct line *)malloc(sizeof(struct line));

if(!info)

{

printf("\t! 内存不够!\n");

return(NULL);

}

printf("%d:",linenum);

gets(info->text);

info->num=linenum;

if(*info->text)

{

if(find(linenum)) patchup(linenum,1);

if(*info->text) start=dls_store(info);

}

else break;

linenum++;

}

return(linenum);

}

/*当文本内容插在文件中间时其下面的内容的行号必须增加1,而删除时,被删除的文本后面的行号必须减1 */

void patchup(int n,int incr)

{

struct line *i;

i=find(n);

while(i){

i->num=i->num+incr;

i=i->next;

}

}

/*按行号排序后插入*/

struct line *dls_store(struct line *i) {

struct line *old,*p;

if(last==NULL)

{

i->next=NULL;

i->prior=NULL;

last=i;

return(i);

}

p=start;

old=NULL;

while(p)

{

if(p->num)

{

old=p;

p=p->next;

}

else

{

if(p->prior)

{

p->prior->next=i;

i->next=p;

p->prior=i;

return start;

}

i->next=p;

i->prior=NULL;

p->prior=i;

return(i);

}

}

old->next=i;

i->next=NULL;

i->prior=old;

last=i;

return start;

}

/*删除一行*/

void delete_text()

{

struct line *info;

char s[80];

int linenum;

printf("行号:");

gets(s);

linenum=atoi(s);

info=find(linenum);

if(info)

{

if(start==info)

{

start=info->next;

if(start) start->prior=NULL;

else last=NULL;

}

else

{

info->prior->next=info->next;

if(info!=last)

info->next->prior=info->prior;

else last=info->prior;

}

free(info);

patchup(linenum+1,-1);

}

}

/*查找一行文本*/

struct line *find(int linenum) {

struct line *info;

info=start;

while(info)

{

if(linenum==info->num) return(info);

info=info->next;

}

return(NULL);

}

/*显示文本*/

void list()

{

struct line *info;

info=start;

while(info)

{

printf("%d:%s\n",info->num,info->text);

info=info->next;

}

printf("\n\n");

}

/*存文件*/

void save(char *fname)

{

struct line *info;

char *p;

FILE *fp;

if((fp=fopen(fname,"w"))==NULL)

{

printf("\t Can't open the file !\n");

exit(0);

}

printf("\t Saved :\n");

info=start;

while(info)

{

p=info->text;

while(*p) putc(*p++,fp);

putc('\n',fp);

info=info->next;

}

fclose(fp);

}

/*读取文件*/

void load(char *fname)

{

struct line *info,*temp;

char *p;

FILE *fp;

int size,inct;

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

{

printf("\t Can't open the file !\n");

exit(0);

}

while(start)

{

temp=start;

start=start->next;

free(temp);

}

printf("\n\t Reading...\n");

size=sizeof(struct line);

start=(struct line*)malloc(size);

if(!start)

{

printf("\n\t内存已经用完!");

return;

}

info=start;

p=info->text;

inct=1;

while((*p=getc(fp))!=EOF)

{

p++;

while((*p=getc(fp))!='\n') p++;

*p='\0';

info->num=inct++;

info->next=(struct line*)malloc(size);

if(!info->next)

{

printf("\n\t内存已经用完!");

return;

}

info->prior=temp;

temp=info;

info=info->next;

p=info->text;

}

temp->next=NULL;

last=temp;

free(info);

start->prior=NULL;

fclose(fp);

}

四.测试分析

1.主菜单

2.行插入

3.行删除及文本显示

4.保存及读取文件

5.退出

主菜单下输入5并回车即退出“简单行编辑程序”。

五.源程序清单

#include <>

#include <>

#include <>

struct line{

char text[81];

int num; /*行号*/

struct line *next; /*指向下一个输入项目的指针*/

struct line *prior; /*指向前一个项目的指针*/ };

struct line *start; /*指向表中第一个项目的指针*/

struct line *last; /*指向表中最后一个项目的指针*/

struct line *find(int),*dls_store(struct line *);

void patchup(int,int),delete_text(),list(),save(char *),load(char *); menu_select();

enter(int linenum);

void main(int argc,char *argv[])

{

char s[80],choice,fname[80];

int linenum=1;

start=NULL;

last=NULL;

if(argc==2) load(argv[1]);/*读取命令行上的文件*/

do{

choice=menu_select();

switch(choice)

{

case 1:printf("行号:");

gets(s);

linenum=atoi(s);

enter(linenum);

break;

case 2:delete_text();

break;

case 3:list();

break;

case 4:printf("\t文件名:");

gets(fname);

save(fname);

break;

case 5:printf("\t文件名:");

gets(fname);

load(fname);

break;

case 6:exit(0);

}

}while(1);

}

/* 显示菜单,供用户选择*/

menu_select()

char s[80];

int c;

printf("\t**欢迎使用简单行编辑程序**\n");

printf("\t\t\t\t1.行插入\n");

printf("\t\t\t\t2.行删除\n");

printf("\t\t\t\t3.文本显示\n");

printf("\t\t\t\t4.保存文件\n");

printf("\t\t\t\t5.读取文件\n");

printf("\t\t\t\t6.退出\n");

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

do{

printf("\n\n\t\t 请选择:");

gets(s);

c=atoi(s);

}while(c<0||c>6);

return(c);

}

/*将文本插在指定行端部*/

enter(int linenum)

{

struct line *info;

for(;;)

{

info=(struct line *)malloc(sizeof(struct line));

if(!info)

{

printf("\t! 内存不够!\n");

return(NULL);

}

printf("%d:",linenum);

gets(info->text);

info->num=linenum;

if(*info->text)

{

if(find(linenum)) patchup(linenum,1);

if(*info->text) start=dls_store(info);

}

else break;

linenum++;

}

return(linenum);

}

/*当文本内容插在文件中间时其下面的内容的行号必须增加1,而删除时,被删除的文本后面的行号必须减1 */

void patchup(int n,int incr)

{

struct line *i;

i=find(n);

while(i){

i->num=i->num+incr;

i=i->next;

}

}

/*按行号排序后插入*/

struct line *dls_store(struct line *i)

{

struct line *old,*p;

if(last==NULL)

{

i->next=NULL;

i->prior=NULL;

last=i;

return(i);

}

p=start;

old=NULL;

while(p)

{

if(p->num)

{

old=p;

p=p->next;

}

else

{

if(p->prior)

{

p->prior->next=i;

i->next=p;

p->prior=i;

return start;

}

i->next=p;

i->prior=NULL;

p->prior=i;

return(i);

}

}

old->next=i;

i->next=NULL;

i->prior=old;

last=i;

return start;

}

/*删除一行*/

void delete_text()

{

struct line *info;

char s[80];

int linenum;

printf("行号:");

gets(s);

linenum=atoi(s);

info=find(linenum);

if(info)

{

if(start==info)

{

start=info->next;

if(start) start->prior=NULL;

else last=NULL;

}

else

{

info->prior->next=info->next;

if(info!=last)

info->next->prior=info->prior;

else last=info->prior;

}

free(info);

patchup(linenum+1,-1);

}

}

/*查找一行文本*/

struct line *find(int linenum) {

struct line *info;

info=start;

while(info)

{

if(linenum==info->num) return(info);

info=info->next;

}

return(NULL);

}

/*显示文本*/

void list()

{

struct line *info;

info=start;

while(info)

{

printf("%d:%s\n",info->num,info->text);

info=info->next;

}

printf("\n\n");

}

/*存文件*/

void save(char *fname)

{

struct line *info;

char *p;

FILE *fp;

if((fp=fopen(fname,"w"))==NULL)

{

printf("\t Can't open the file !\n");

exit(0);

}

printf("\t Saved :\n");

info=start;

while(info)

{

p=info->text;

while(*p) putc(*p++,fp);

putc('\n',fp);

info=info->next;

}

fclose(fp);

}

/*读取文件*/

void load(char *fname)

{

struct line *info,*temp;

char *p;

FILE *fp;

int size,inct;

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

{

printf("\t Can't open the file !\n");

exit(0);

}

while(start)

{

temp=start;

start=start->next;

free(temp);

}

printf("\n\t Reading...\n");

size=sizeof(struct line);

start=(struct line*)malloc(size);

if(!start)

{

printf("\n\t内存已经用完!");

return;

}

info=start;

p=info->text;

inct=1;

while((*p=getc(fp))!=EOF)

{

p++;

while((*p=getc(fp))!='\n') p++;

*p='\0';

info->num=inct++;

info->next=(struct line*)malloc(size);

if(!info->next)

{

printf("\n\t内存已经用完!");

return;

}

info->prior=temp;

temp=info;

info=info->next;

p=info->text;

}

temp->next=NULL;

last=temp;

free(info);

start->prior=NULL;

fclose(fp);

}

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

个程序员专用的代码编 辑器 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语言课程设计 题目编号和名称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)系统主要包含主程序模块和其他操作模块。其调用关系如图(一)所示。

路由器实验报告1

路由器技术实验报告

《路由器技术》实验指导书 一.实验总学时(课外学时/课学时):22 开实验个数: 7 二.适用专业:计算机专业 三.考核方式及办法:在规定实验时间完成实验要求,依据实验过程、实验结果和实验报告综合考核。四.配套的实验教材或指导书:自编实验指导书 五. 实验项目: 实验一:Packet Tracer软件使用交换机的配置与管理 (容一):认识 Packet Tracer软件 Packet Tracher介绍 Packet Tracer 是 Cisco 公司针对CCNA认证开发的一个用来设计、配置和故障排除网络的模拟软件。Packer Tracer 模拟器软件比 Boson 功能强大,比 Dynamips 操作简单,非常适合网络设备初学者使用。学习任务: 1、安装 Packer Tracer; 2、利用一台型号为 2960 的交换机将 2pc机互连组建一个小型局域网; 3、分别设置pc机的ip 地址; 4、验证 pc 机间可以互通。 实验设备: Switch_2960 1 台;PC 2 台;直连线 配置信息: PC1 IP: 192.168.1.2 Submask: 255.255.255.0 Gateway: 192.168.1.1 PC2 IP: 192.168.1.3 Submask: 255.255.255.0 Gateway: 192.168.1.1

(容二):交换机的基本配置与管理 1.实验目标: 掌握交换机基本信息的配置管理。 2.实验背景: 某公司新进一批交换机,在投入网络以后要进行初始配置与管理,你作为网络管理员,对交换机进行基本的配置与管理。 3.技术原理: 交换机的管理方式基本分为两种:带管理和带外管理。 1.通过交换机的 Console 端口管理交换机属于带外管理;这种管理方式不占用交换机的网络端口,第一次配置交换机必须利用 Console端口进行配置。 2.通过Telnet、拨号等方式属于带管理。 交换机的命令行操作模式主要包括: ●用户模式 Switch> ●特权模式 Switch# ●全局配置模式 Switch(config)# ●端口模式 Switch(config-if)# 4.实验步骤: ●新建Packet Tracer 拓扑图 ●了解交换机命令行 ●进入特权模式(en) ●进入全局配置模式(conf t) ●进入交换机端口视图模式(int f0/1) ●返回到上级模式(exit) ●从全局以下模式返回到特权模式(end) ●帮助信息(如? 、co?、copy?) ● ●命令简写(如 conf t) ●命令自动补全(Tab) ●快捷键(ctrl+c 中断测试,ctrl+z 退回到特权视图)

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

中国矿业大学徐海学院计算机系《软件认知实践》报告 姓名:学号: 专业: 设计题目:简单行编辑器 指导教师: 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)文章内容的统计:包括文章中大写字母、小写字母、数字、标点符

路由器实验报告1

路由器技术实验报告 ------------安徽工业大学计算机与科学技术学院

《路由器技术》实验指导书 一.实验总学时(课外学时/课内学时):22 开实验个数: 7 二.适用专业:计算机专业 三.考核方式及办法:在规定实验时间内完成实验要求,依据实验过程、实验结果和实验报告综合考核。四.配套的实验教材或指导书:自编实验指导书 五. 实验项目: 实验一:Packet Tracer软件使用交换机的配置与管理 (内容一):认识 Packet Tracer软件 Packet Tracher介绍 Packet Tracer 是 Cisco 公司针对CCNA认证开发的一个用来设计、配置和故障排除网络的模拟软件。Packer Tracer 模拟器软件比 Boson 功能强大,比 Dynamips 操作简单,非常适合网络设备初学者使用。学习任务: 1、安装 Packer Tracer; 2、利用一台型号为 2960 的交换机将 2pc机互连组建一个小型局域网; 3、分别设置pc机的ip 地址; 4、验证 pc 机间可以互通。 实验设备: Switch_2960 1 台;PC 2 台;直连线 配置信息: PC1 IP: Submask: Gateway: PC2 IP: Submask::

(内容二):交换机的基本配置与管理 1.实验目标: 掌握交换机基本信息的配置管理。 2.实验背景: 某公司新进一批交换机,在投入网络以后要进行初始配置与管理,你作为网络管理员,对交换机进行基本的配置与管理。 3.技术原理: 交换机的管理方式基本分为两种:带内管理和带外管理。 1.通过交换机的 Console 端口管理交换机属于带外管理;这种管理方式不占用交换机的网络端口,第一次配置交换机必须利用 Console端口进行配置。 2.通过Telnet、拨号等方式属于带内管理。 交换机的命令行操作模式主要包括: 用户模式 Switch> 特权模式 Switch# 全局配置模式 Switch(config)# 端口模式 Switch(config-if)# 4.实验步骤: 新建Packet Tracer 拓扑图 了解交换机命令行 进入特权模式(en) 进入全局配置模式(conf t) 进入交换机端口视图模式(int f0/1) 返回到上级模式(exit) 从全局以下模式返回到特权模式(end) 帮助信息(如、co、copy)

简易图片编辑器设计文档

基于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 加上以上语句,再编译执行,程序运行正常。 成绩: 批阅日期:

路由器实验报告

路由器实验报告

————————————————————————————————作者: ————————————————————————————————日期: ?

路由器技术实验报告 ------------安徽工业大学计算机与科学技术学院

《路由器技术》实验指导书 一.实验总学时(课外学时/课内学时):22 开实验个数:7 二.适用专业:计算机专业 三.考核方式及办法:在规定实验时间内完成实验要求,依据实验过程、实验结果和实验报告综合考核。 四.配套的实验教材或指导书:自编实验指导书 五. 实验项目: 实验一:PacketTracer软件使用交换机的配置与管理 (内容一):认识PacketTracer软件 Packet Tracher介绍 Packet Tracer是Cisco公司针对CCNA认证开发的一个用来设计、配置和故障排除网络的模拟软件。 Packer Tracer 模拟器软件比Boson 功能强大,比Dynamips 操作简单,非常适合网络设备初学者使用。 学习任务: 1、安装Packer Tracer; 2、利用一台型号为2960 的交换机将2pc机互连组建一个小型局域网; 3、分别设置pc机的ip 地址; 4、验证pc 机间可以互通。 实验设备: Switch_2960 1台;PC2 台;直连线 配置信息: PC1 IP:192.168.1.2 Submask:255.255.255.0 Gateway:192.168.1.1 PC2 IP:192.168.1.3 Submask:255.255.255.0 Gateway: 192.168.1.1

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语言课程设计 简单的行编辑器.

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

简单的行编辑器 一.题目要求 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)编辑模块 流程图

路由器基本配置_实验报告

路由器基本配置_实验报告 《组网技术》实验报告 姓名学号教学班计算机网络 任课教师王丽娟指导教师王丽娟班主任 2013-6-3 实验地点广西某家具公司机房实验时间 实验项目名称:路由器基本配置 实验目标及要求: 通过CISCO路由器,了解路由器的各个接口的用途、配接方法,路由器配置命令、状态模式的功能,在此基础上通过超级终端完成对路由器的各种基本配置,如:路由器的命名、特权密码的设置、LAN接口的配置、WAN接口的配置、静态路由的配置等等。并用命令保存和查验配置信息。 实验环境及工具: CISCO路由器,PC机,网线,专用电缆(RS232,V35),CONSOLE。 实验内容及过程: 实验内容: 观察CISCO路由器,了解路由器基本知识; 学习电缆连接; 查看CISCO路由器的操作,了解路由器工作原理; 学习基本的路由器配置。 实验步骤: 配置相应的IP参数 打开计算机的“超级终端”程序 此超级终端内输入的命令都是对路由器A的操作,超级终端窗口内所有输出都是路由器A的 输出。 键入“,”列入命令提示。 7-A>? Exec commands: <1-99> Session number to resume access-enable Create a temporary Access-List entry access-profile Apply user-profile to interface clear Reset functions connect Open a terminal connection disable Turn off privileged commands disconnect Disconnect an existing network connection

数据结构简易文本编辑器

数据结构简易文本编辑 器 文稿归稿存档编号:[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()

路由器及其配置实验报告

《路由器及其配置》实验结果文件 附:实验配置命令清单及显示结果 1.交换机(路由器)A 夏战辉: ra(config)#hostname RA RA(config)#int s1/2 RA(config-if)#ip add 172.16.10.1 255.255.255.0 RA(config-if)#clock rate 64000 RA(config-if)#clock rate setting is only valid for DCE ports. no shutdown RA(config-if)#no shutdown RA(config-if)#exit RA(config)#int f1/0 RA(config-if)#ip add 192.168.10.1 255.255.255.0 RA(config-if)#end RA# Configured from console by console RA#show int s 1/2 serial 1/2 is UP , line protocol is UP Hardware is PQ2 SCC HDLC CONTROLLER serial Interface address is: 172.16.10.1/24 MTU 1500 bytes, BW 2000 Kbit Encapsulation protocol is HDLC, loopback not set Keepalive interval is 10 sec , set Carrier delay is 2 sec

RXload is 1 ,Txload is 1 Queueing strategy: WFQ 5 minutes input rate 17 bits/sec, 0 packets/sec 5 minutes output rate 17 bits/sec, 0 packets/sec 450 packets input, 9900 bytes, 0 no buffer Received 450 broadcasts, 0 runts, 0 giants 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 abort 450 packets output, 9900 bytes, 0 underruns 0 output errors, 0 collisions, 4 interface resets 1 carrier transitions V35 DTE cable DCD=up DSR=up DTR=up RTS=up CTS=up RA#show runn Building configuration... Current configuration : 619 bytes ! version 8.4 (building 15) hostname RA ! ! ! ! ! ! ! ! ! no service password-encryption ! ! ! ! ! ! interface serial 1/2 ip address 172.16.10.1 255.255.255.0 ! --More- Show running-config

行编辑程序说明书

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

路由器实验报告

实验报告 实验时间2016 年6 月 1 日实验成绩 实验名称路由器配置实验 小组成员冯伟俊、陈宽子 一、实验目的 a、掌握路由器的基本配置; b、掌握路由器的静态路由配置。 二、实验仪器设备及软件 Packet tracer 两个1841路由器、两个2960交换机、四台终端主机PC、串行线一条、直连线若干 三、实验方案 实验分为配置与测试两部分。为了使两人都能熟练操作,一人进行配置,另一人进行测试,出现问题由两人共同排查。 1、按照实验报告所给的拓补图在学生端软件上进行连接并配置。 2、配置个PC端的IP地址、子网掩码、默认网关。 3、进行测试排查问题。 四、实验测试方案 主要测试方案是为检查路由器一边内部网路是否畅通和两个路由器连接的两个网络是否联通,各个PC终端之间能否通信。我们采用以PC1分别ping 终端PC2与PC3. 五、实验步骤 1、按照实验拓扑图进行器材的选择,进行连接后,开始进行两个路由 器R1、R2的配置(图中路由器直接使用的是软件设置的R0与R1)

2、进行PC0、1、2、3的ip与网关的配置。 这是pc0的ip与网关的配置图,其他PC操作一样。 然后进行PC0pingPC1与PC2的测试

实验表明PC0能ping通PC1但是与PC2的试验中出现了请求超时。 因为在交换机的下,PC0与PC1处于同一网络下而PC2则处在另一个路由器连接的网络。 3、R0与R1的静态路由配置 R2的静态路由的配置 R1静态路由的配置 4、测试:使用PC0去ping主机PC1与PC2

PC0依然能够ping通PC1,PC0ping通PC2. 六、实验结果与分析 当R1与R2的静态路由配置成功后,主机PC1才能ping通PC3,但是在路由器一边的内部网路通信,如PC1与PC2之间能够ping通。如此,pc3与pc4之间也可联、通。 七、实验2总结及体会 1、实验中出现了对于路由器的端口DCE与DTE分辨不清,导致了混淆 不清,导致了我们重新配置路由器与终端。后来才知在路由器终端上面有小时钟的图标就是DCE端口。 2、在进行路由器两个端口的配置配置,忘记输入no shutdown使得路由 器与路由器之间,路由器与交换机之间始终没有联通。最后排查接口状态才发现故障。

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

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

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

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

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

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

③填写长宽 ④点击确定

相关文档
相关文档 最新文档