简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx

上传人:b****5 文档编号:18330482 上传时间:2022-12-15 格式:DOCX 页数:13 大小:116.09KB
下载 相关 举报
简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx_第1页
第1页 / 共13页
简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx_第2页
第2页 / 共13页
简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx_第3页
第3页 / 共13页
简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx_第4页
第4页 / 共13页
简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx

《简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx》由会员分享,可在线阅读,更多相关《简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

简单的行编辑器课程设计报告学弟学妹们不用这么辛苦找了Word文件下载.docx

主函数流程图如图1-1程序如下

voidmain()

{

cout<

<

"

\t\t\t简单行编辑.\n"

;

Strs1;

Strs2;

Strss;

Strss1;

Strss2;

intn;

s1.input_str();

intchoice=-1;

while(choice!

=0)图1-1行编辑器主函数流程

{

//system("

cls"

);

cout<

\t\t\t*******简单行编辑******\n"

\t\t\t***********************\n"

\t\t\t1:

打印字符串.\n"

\t\t\t2:

插入字符串.\n"

\t\t\t3:

删除字符串.\n"

\t\t\t4:

复制整个字符串.\n"

\t\t\t5:

替换字符串.\n"

\t\t\t6:

查找一个字符串的位置.\n"

\t\t\t7:

继续输入.\n"

\t\t\t0:

退出.\n"

\t\t\t************************\n"

\t\t\t请选择:

"

cin>

>

choice;

switch(choice)

case1:

\t\t\t1:

打印出字符串.\n"

s1.print_str(s1);

break;

case2:

\t\t\t2:

s1.insert_str(s1,s2,ss);

case3:

\t\t\t3:

s1.delete_str(s1,s2);

case4:

\t\t\t4:

s1.copy_str(s1,s2);

/*case5:

\t\t\t5:

s1.instead_str(s1,s2,ss1,ss2,n);

*/

case6:

\t\t\t6:

s1.find_position(s1,ss,n);

case7:

\t\t\t7:

继续输入.\n"

s1.go_on_input(s1);

case0:

\t\t\t0:

default:

cout<

\t\t\terror.\n"

break;

}

}

2.各功能模块的设计

(1)输入、打印模块

该程序需要输入一段字符串作为其待处理数据,所以通过键盘输入字符串作为待处理数据,以回车进入主函数界面。

选择菜单1打印出该段字符串。

其程序如下,程序运行截图如图2-12-2

voidStr:

:

input_str()

{

\t\t\t请输入字符串以#结束:

intk;

k=0;

ch[k]='

x'

while(cin>

ch[k],ch[k]!

='

#'

)k++;

len=k;

//下面的程序为:

显示整个字符串。

print_str(Str&

s1)

\n\t\t\t整个字符串为:

for(intk=0;

s1.ch[k]!

k++)

ch[k];

\n\n"

图2-1

图2-2

(2)数据修改模块

该功能可通过数据插入与数据修改两部分完成对数据的修改。

1】插入完成插入操作时须先输入要插入的位置,然后输入所要插入的字符串,以‘#’结束,回车完成插入其程序如下,运行截图如图2-3

insert_str(Str&

s,Strs2,Strss)

\t\t\t输入你要插入的位置:

inti;

cin>

i;

i--;

if(i>

s.len)

\t\t\t插入位置不存在.\n"

else{

\t\t\t输入你要插入的字符串以#结束:

intr;

r=0;

ss.ch[r]='

while(cin>

ss.ch[r],ss.ch[r]!

)r++;

ss.len=r;

if(ss.len>

MaxSize||(s.len+ss.len)>

MaxSize)

cout<

\t\t\t插入字符串大于最大值无法插入.\n"

intp=0;

for(intk=0;

k<

=i;

k++)

{

s2.ch[p]=s.ch[k];

p++;

}

for(k=0;

k<

ss.len;

s2.ch[p]=ss.ch[k];

p++;

for(k=i+1;

s.len;

{

s2.len=p;

\t\t\t新字符串的长度为"

s2.len;

s2.ch[p]='

for(intq=0;

s2.ch[q]!

q++)

s.ch[q]=s2.ch[q];

s.ch[q]='

s.len=s2.len;

cout<

插入成功.\n"

print_str(s);

}

图2-3

2】删除删除操作是作为修改模块的一部分,同插入操作共同完成修改数据的功能。

进行删除操作时,输入想从字符串上开始删除的位置,再输入删除的字符串长度。

回车即可完成删除。

其程序如下,运行截图如图2-4

delete_str(Str&

s1,Strs)

\t\t\t输入你要开始删除的位置:

s1.len)cout<

\t\t\t太大无法删除.\n"

else

{

\t\t\t输入你要删除的长度:

intj;

j;

if(i+j>

s1.len)

\t\t\t删除的太长无法删除.\n"

else{

for(intk=0;

{

s.ch[p]=s1.ch[k];

}

for(k=i+j;

s1.len;

s.len=p+1;

s.ch[p+1]='

for(intq=0;

s.ch[q]!

s1.ch[q]=s.ch[q];

s1.ch[q-1]='

s1.len=s.len-1;

\t\t\t删除成功.\n"

s1.print_str(s1);

图2-4

(3)查找模块

在字符串内寻找你想要的一段字符串,显示找到的位置。

选择查找功能的菜单,通过键盘输入所要查找字符串,回车即可找出其所在位置。

程序如下,运行截图如图2-5

find_position(Str&

s,Str&

ss,int&

n)

\t\t\t输入字符串:

ss.input_str();

inty=0;

for(inti=0;

i<

i++)

for(intj=i,k=0;

s.ch[j]==ss.ch[k];

j++,k++)

{

if(k==ss.len-1)

{cout<

\t\t\t位置是"

i+1<

.\n"

position[y]=i+1;

y++;

if(!

y)

\t\t\t没有找到要字符\n"

position[y]=-1;

n=y;

//n

图2-5

(4)替换模块

在字符串内,把某些小段字符串替换为你想要的字符串。

先输入你要改变的小段字符串,程序先找到这些字符串,再输入想要替换成的/字符串,程序完成替换功能。

其程序如下

instead_str(Str&

s1,Strs2,Strss1,Strss2,intn)

s1.find_position(s1,ss1,n);

if(n!

=0)

\t\t\t输入你想替代的字符.\n"

ss2.input_str();

\t\t\t替换成功"

\n"

s1.len="

s1.len<

ss1.len="

ss1.len<

ss2.len="

ss2.len<

n="

n<

if((s1.len-(ss1.len-ss2.len)*n)>

太长.\n"

position[n]=s1.len+1;

for(inti=0;

position[0]-1;

s2.ch[p]=s1.ch[i];

for(intnn=0;

nn<

n;

nn++)

for(intj=0;

j<

4;

j++)

{

s2.ch[p]=ss2.ch[j];

}

for(intkk=(position[nn]-1+ss1.len);

kk<

position[nn+1]-1;

kk++)

s2.ch[p]=s1.ch[kk];

for(intqq=0;

s2.ch[qq]!

qq++)

s1.ch[qq]=s2.ch[qq];

s1.ch[qq]='

s1.len=s2.len;

(5)退出

当所要运行操作完成时,可通过主函数选择退出菜单,实现程序的退出。

程序运行截图如图2-6

图2-6

5.【总结】

通过为期一周的课程设计,我们对《C语言》这门课程有了更深一步的了解。

它是计算机程序设计的重要理论技术基础,在我们专业的学习中占据着十分重要的地位。

同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。

因为我们学习知识就是为了实践。

而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。

运用《C语言》中的算法思想作数据结构,结合C语言基本知识,编写一个简单的行编辑器。

通过完成本课题,进一步熟悉C语言的基本知识,同时提升了自己的实践动手能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1