实验三 串基本操作的编程实现
实验三串基本操作的编程实现
【实验目的】
内容:串基本操作的编程实现
要求:
串基本操作的编程实现(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; }