实验三 串基本操作的编程实现

实验三 串基本操作的编程实现
实验三 串基本操作的编程实现

实验三串基本操作的编程实现

【实验目的】

内容:串基本操作的编程实现

要求:

串基本操作的编程实现(2学时,验证型),掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。

【实验性质】

验证性实验(学时数:2H)

【实验内容】

字符串用常规的顺序存储法来存储,实现常用的功能。

自己编程模式:开发一个程序,用来统计文件中各种信息,如字符个数,行数等。

修改程序模式:将下面程序空白的地方填空。

程序检查模式:将本文件夹中的程序运行后总结相关功能。

【思考问题】

1.字符串的顺序存储和链表存储的差异C语言中是如何实现字符串的

2.在字符串处理方面主要有什么操作

3.字符串的操作的主要特点是什么

4.举出几个字符串的应用范例

【参考代码】

立顺序串(仅限单行的字符串,建议不用汉字。)"<

cout<<"2.显示串"<

cout<<"3.修改串"<

cout<<"4.插入串"<

cout<<"5.删除串"<

cout<<"6.查找串"<

cout<<"7.求串长度"<

cout<<"8.结束程序"<

cout<<"=========="<

}

int main()

{

int flag=0,returnvalue,position,beginposition,endposition,length; char choice,choose,newstr[maxsize];

string newstring;

menu();

while(1)

{

cout<<"请输入选择:";

cin>>choice;

switch(choice)

{

case '1':

if(flag)

{

cout<<"数据已存在,是否覆盖(y/n)";

cin>>choose;

if(choose=='N'||choose=='n')

{

cout<<"数据没有发生更改!"<

break;

}

if(choose=='Y'||choose=='y')

{

returnvalue=();

if(returnvalue==success)

cout<<"创建成功!"<

flag=1;

}

else

cout<<"输入错误!"<

}

else

{

returnvalue=();

if(returnvalue==success)

cout<<"创建成功!"<

flag=1;

}

break;

case '2':

if(flag==0)

cout<<"请先建立串!"<

else

();

break;

case '3':

if(flag==0)

cout<<"请先建立串!"<

else

{

();

cout<<"请输入要修改的初始位置:";

cin>>beginposition;

cout<<"请输入要修改的终止位置:";

cin>>endposition;

cout<<"请输入修改后的字符串:";

cin>>newstr;

returnvalue=(beginposition,endposition,newstr);

if(returnvalue==success)

{

cout<<"修改成功!"<

();

}

if(returnvalue==overflow)

{

cout<<"字符串的最大长度为"<

cout<<"发生溢出,操作失败!"<

}

if(returnvalue==range_error)

cout<<"位置错误,操作失败!"<

if(returnvalue==empty)

cout<<"字符串为空,操作失败!"<

}

break;

case '4':

if(flag==0)

cout<<"请先建立串!"<

else

{

();

cout<<"请输入要插入的位置:";

cin>>position;

cout<<"请输入要插入的字符串:";

cin>>newstr;

length=strlen(newstr);

returnvalue=(position,newstr,length);

if(returnvalue==success)

{

cout<<"插入成功!"<

();

}

if(returnvalue==overflow)

{

cout<<"字符串的最大长度为"<

cout<<"发生溢出,操作失败!"<

}

if(returnvalue==range_error)

cout<<"位置错误,操作失败!"<

}

break;

case '5':

if(flag==0)

cout<<"请先建立串!"<

else

{

();

cout<<"请输入要删除的初始位置:";

cin>>beginposition;

cout<<"请输入要删除的终止位置:";

cin>>endposition;

returnvalue=(beginposition,endposition);

if(returnvalue==success)

{

cout<<"删除成功!"<

();

}

if(returnvalue==range_error)

cout<<"位置错误,操作失败!"<

if(returnvalue==empty)

cout<<"字符串为空,操作失败!"<

}

break;

case '6':

if(flag==0)

cout<<"请先建立串!"<

else

{

();

cout<<"请输入要查找的字符串:";

cin>>newstr;

position=(newstr);

if(position>0)

{

cout<<"已找到!"<

cout<<"字符串出现的初始位置为:"<

}

if(position==0)

cout<<"您要查找的字符串不存在!"<

if(position==-1)

cout<<"字符串为空,操作失败!"<

}

break;

case '7':

if(flag==0)

cout<<"请先建立串!"<

else

{

();

length=();

cout<<"当前串的长度为:"<

}

break;

case '8':

exit(0);

break;

default:

cout<<"输入错误!\n";break;

}

cout<<"按任意键继续......"<

getch();

system("cls");

menu();

}

getch();

return 0;

}

相关主题
相关文档
最新文档