实验三 串基本操作的编程实现
【实验目的】
内容:串基本操作的编程实现 要求:
串基本操作的编程实现(2学时,验证型),掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。
【实验性质】
验证性实验(学时数:2H)
【实验内容】
字符串用常规的顺序存储法来存储,实现常用的功能。
自己编程模式:开发一个程序,用来统计文件中各种信息,如字符个数,行数等。 修改程序模式:将下面程序空白的地方填空。
程序检查模式:将本文件夹中的程序运行后总结相关功能。
【思考问题】
字符串的顺序存储和链表存储的差异C语言中是如何实现字符串的 在字符串处理方面主要有什么操作 字符串的操作的主要特点是什么 举出几个字符串的应用范例
【参考代码】
立顺序串(仅限单行的字符串,建议不用汉字。)\ cout<<\显示串\ cout<<\修改串\ cout<<\插入串\ cout<<\删除串\ cout<<\查找串\ cout<<\求串长度\ cout<<\结束程序\ 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) { } { } break;
returnvalue=(); if(returnvalue==success)
cout<<\创建成功!\ flag=1;
cout<<\数据已存在,是否覆盖(y/n)\ cin>>choose;
if(choose=='N'||choose=='n') { }
if(choose=='Y'||choose=='y') { } else
cout<<\输入错误!\ returnvalue=(); if(returnvalue==success) cout<<\创建成功!\ flag=1;
cout<<\数据没有发生更改!\ break;
else
case '2':
if(flag==0) else
();
break;
cout<<\请先建立串!\
case '3':
if(flag==0) else
cout<<\请先建立串!\
{ } break;
();
cout<<\请输入要修改的初始位置:\ cin>>beginposition;
cout<<\请输入要修改的终止位置:\ cin>>endposition;
cout<<\请输入修改后的字符串:\ cin>>newstr;
if(returnvalue==success) { }
if(returnvalue==overflow) { }
if(returnvalue==range_error)
cout<<\位置错误,操作失败!\ cout<<\字符串为空,操作失败!\ if(returnvalue==empty)
cout<<\字符串的最大长度为\ cout<<\发生溢出,操作失败!\ cout<<\修改成功!\ ();
returnvalue=(beginposition,endposition,newstr);
case '4':
if(flag==0) else {
();
cout<<\请输入要插入的位置:\ cout<<\请输入要插入的字符串:\ length=strlen(newstr); cout<<\请先建立串!\
cin>>position; cin>>newstr;
returnvalue=(position,newstr,length); if(returnvalue==success)
{ }
cout<<\插入成功!\ ();
if(returnvalue==overflow) { }
if(returnvalue==range_error) } break;
cout<<\位置错误,操作失败!\
cout<<\字符串的最大长度为\ cout<<\发生溢出,操作失败!\
case '5':
if(flag==0) else { }
();
cout<<\请输入要删除的初始位置:\ cin>>beginposition;
cout<<\请输入要删除的终止位置:\ cin>>endposition;
returnvalue=(beginposition,endposition); if(returnvalue==success) { }
if(returnvalue==range_error)
cout<<\位置错误,操作失败!\ cout<<\字符串为空,操作失败!\
if(returnvalue==empty)
cout<<\删除成功!\ ();
cout<<\请先建立串!\
break;
case '6':
if(flag==0) else {
();
cout<<\请输入要查找的字符串:\ cin>>newstr; position=(newstr);
cout<<\请先建立串!\
}
if(position>0) { }
if(position==0)
cout<<\您要查找的字符串不存在!\ cout<<\字符串为空,操作失败!\
if(position==-1)
cout<<\已找到!\
cout<<\字符串出现的初始位置为:\
break;
case '7':
if(flag==0) else { } break;
(); length=();
cout<<\当前串的长度为:\ cout<<\请先建立串!\
case '8':
exit(0); break;
default:
cout<<\输入错误!\\n\
}
cout<<\按任意键继续......\
getch();
system(\ menu(); } }
getch(); return 0;