求问这个程序怎么修改?case 0怎么返回功能菜单啊?

liwotorie liwotorie 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include<iostream.h>
#include<assert.h>
#include<string.h>
class string
{public:
void show() //显示字符串
{
cout<<str<<endl;
}
int length() //求长度
{
return size;
}
string insert(char*s,int pos)//字符串插入
{
string temp;
temp.size=strlen(s)+size;
for(int i=0;i<pos;i++)
{
temp.str[i]=str[i];
}
for(int j=0;j<pos+strlen(s);j++)
{
temp.str[pos+j]=s[j];
}
for(int k=0;k<temp.size;k++)
temp.str[pos+strlen(s0=k]=str[pos+k];
string replace(char*s,char*p,char*t)//字符串替换
string::size_type pos=0;
string::size_type a=p.size();
string::size_type b=t.size();
while((pos=s.find(p,pos))!=string::npos)
s.erase(pos,a);
s.insert(pos,t);
pos+=b;
void Delete(char*ch[],int n)//字符串删除
int len = strlen(ch);//得到字符串的长度(自带函数在#include<string.h>中)
for(int i=0;i<len;i++)
if(i>=n)
ch[i-1]=ch[i];//把n-1后的前面字符全部替换为为后面的字符
char *str = ch;//用str拷贝ch
str[len-1] = '\0';//把最后一位变为字符串结束标志,因此导致内存泄漏,因为后面还有一个'/0'
ch = new char[len-1];//新开辟一块空间
for(int i;i<=len-1;i++)//把str"/0/0"第二个/0之前的字符全部拷贝到ch中
ch[i] = str[i];
delete char*str;//把之前的空间释放
int index(char *s, char *t)//字符串的查找
if (!s || !t) return -1;
char *p = strstr(s,t);
if (!p) return -1;
return p - s;
void Strcat(char*z)//字符串的连接
char*a;
a=new char[strlen(z)+length];
strcpy(a,str);
strcat(a,z);
str=a;
cout<<str<<endl;
int main()
{
while (a!=0)
{
cout<<"------------------------------------------------------------------------------"<<endl;
cout<<"请选择功能操作:"<<endl;
cout<<"1.生成字符串"<<endl;
cout<<"2.显示"<<endl;
cout<<"3.求字符串长度"<<endl;
cout<<"4.字符串插入"<<endl;
cout<<"5.字符串替换"<<endl;
cout<<"6.字符串删除"<<endl;
cout<<"7.字符串查找"<<endl;
cout<<"8.字符串的连接"<<endl;
cout<<"0.返回"<<endl;
cin>>a;
switch(a)
{
case 0:
case 1:cout<<"请输入字符串:"<<endl;
char*s1=nem char;
cin>>s1;
break;
case 2:cout<<"你输入的字符串为:"<<endl;
String s1;
s1.show();
break;
case 3:
cout<<"你输入的字符串长度为:"<<s1.length()<<endl;
break;
case 4:
cout<<"请输入插入位置:";
int pos;
cin>>pos;
cout<<"输入你想插入的字符串:";
char*s2=nem char;
cin>>s2;
string s1=s1.insert(st2.pos);
cout<<"新的字符串为:";
s1.show();
break;
case 5:
cout<<"请输入替换内容:";
char*s4=new char;
cin>>s4;
cout<<"请输入被替换部分:";
char*s5=nem char;
cin>>s5;
string s1=replace(s1,s5,s4);
cout<<"新的字符串为:";
s1.show();
break;
case 6:
cout<<"请输入你要删除的字符位数:";
cin>>a;
string s1=delete(s1,a);
cout<<"新的字符串为:";
s1.show();
break;
case 7:
cout<<"请输入要查找的字符串:";
char*s5=new char;
cin>>s5;
string s1=index(s1,s5);
cout<<"新的字符串为:";
s1.show();
break;
case 8:
cout<<"请输入另一个字符串:";
char*s6=new char;
cin>>s6;
s1=strcat(s1,s6);
cout<<"连接后的字符串为:";
s1.show();
break;
default:cout<<"操作错误!请输入正确序号!"<<endl;
}
};
return 0;
}




错误:233.cpp
D:\vc++\MyProjects\123\233.cpp(135) : error C2958: the left parenthesis '(' found at 'D:\vc++\MyProjects\123\233.cpp(27)' was not matched correctly
D:\vc++\MyProjects\123\233.cpp(139) : fatal error C1075: end of file found before the left brace '{' at 'D:\vc++\MyProjects\123\233.cpp(15)' was matched
执行 cl.exe 时出错.
...全文

相关推荐

Android动态修改ToolBar的Menu菜单示例

例如,你可能希望在某些情况下隐藏某些功能,或者在特定的界面展示特定的菜单项。通过掌握动态修改Menu的方法,你可以更好地控制和定制Android应用的界面交互。

weixin_38536397

五十、【Linux系统shell脚本】case语句 、 函数及中断控制演示

本文介绍了Shell编程中case多分支语句、函数封装和中断控制的用法。case语句支持多种匹配模式(固定字符串、通配符、字符组等),适用于服务管理脚本和文件类型识别等场景。函数部分讲解了定义语法、参数传递、作用域规则和返回值处理,并通过计算器和用户检查示例说明。中断控制介绍了break/continue循环控制、exit退出脚本以及trap信号捕获机制,包含清理临时文件等实际应用。最后总结了各命令的关键语法和功能,为Shell脚本开发提供了实用参考。

爱听雨的少年

084、屏幕流程逻辑与CASE

所以那种“点完按钮要清空输入框”的需求,千万别在PAI的CASE里直接CLEAR屏幕字段,你应该让这个按钮触发一个“清空模式”,然后跳到一个中间屏幕,再跳回来,或者干脆在PAI里把内存变量清掉,下一次PBO用内存值去MODIFY屏幕字段。后来在PBO的MODIFY SCREEN之后加了个断点,单步进去才发现,问题不在PBO,而在PAI里那个CASE语句——用户按“查询”时,FUNCTION CODE走了某个分支,里面一条SCREEN-ACTIVE = '0’把整个子屏幕给干掉了,字段自然就灰了。

云端码字人

Android组件实现长按弹出上下文菜单功能的方法

menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(0, MENU_UPDATE, 0, "修改信息"); menu.add

weixin_38500607

Android小程序实现选项菜单

"Android小程序实现选项菜单" Android小程序实现选项菜单是Android应用程序中的一种常见交互方式,通过选项菜单可以实现各种功能的调用和设置。

weixin_38526823
评论 1
收藏 已收藏
分享
返回顶部
liwotorie
C++ Builder 13,871 成员 102,696 内容