c++程序编译通过,但是运行时显示exe文件停止运行是怎么回事?

程序如下:#include<iostream>#include<string>#include<cstring>usingnamespacestd;constintmax... 程序如下:
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const int max=100;
class setting
{
private:
int count;
string a[max];
public:

void setmember();
string print();

};

void setting::setmember()
{
char* c="00";
char* point="0000";
cout<<"请输入集合元素(注意:当输入0000时表示集合元素输入完毕!)";
while(strcmp(c,point)!=0)
{
cin>>c;
a[count]=c;
count++;
}
cout<<"集合输入完毕"<<endl;
}

string setting::print()
{
int i;
cout<<"该集合元素为:{";
for(i=0;i<count-1;i++)
{
cout<<a[i]<<",";
}
if(i==count)
cout<<a[i]<<"}"<<endl;
return 0;

}

void display()
{
cout<<" ******************欢迎进入集合类运算小系统*******************"<<endl;
cout<<" ***** ****"<<endl;
cout<<" 1 输入集合元素"<<endl;
cout<<" 2 显示集合元素"<<endl;
cout<<" 3 退出"<<endl;
cout<<" ***** ****"<<endl;
cout<<" **********************************************************"<<endl;
}

void exit()
{
cout<<" 您好,已退出该系统,欢迎您下次使用"<<endl;
}

int main()
{
setting s1,s2,s3;
int choice;
display();
cout<<"请输入您的选择:";
cin>>choice;
if(choice<1||choice>3)
{
cout<<"您的选择有误,请再次正确选择!"<<endl;
}
else
{
switch(choice)
{
case 1:s1.setmember();
case 2:s1.print();
case 3:exit();
}
return 0;
}

}
求指教
展开
 我来答
泪梦红尘0118
2014-06-28
知道答主
回答量:23
采纳率:0%
帮助的人:5.1万
展开全部
void setting::setmember()
{
char* c="00";
char* point="0000";
cout<<"请输入集合元素(注意:当输入0000时表示集合元素输入完毕!)";
while(strcmp(c,point)!=0)
{
cin>>c;
a[count]=c;
count++;
}
cout<<"集合输入完毕"<<endl;
}
这里的a[count]=c;有问题,不能这样用
更多追问追答
追问
那该怎么用呢?a是字符串数组,把字符串c存进去不可以吗?
那该怎么用呢?a是字符串数组,把字符串c存进去不可以吗?
荒村归来dd
推荐于2017-09-21
知道答主
回答量:40
采纳率:0%
帮助的人:26.4万
展开全部

setmember 函数中

char* c="00";
char* point="0000";

不能直接对未申请空间的指针赋值

可改成下面代码

char c[]="00";
char point[]="0000";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手动阀隧道
2014-06-28 · TA获得超过306个赞
知道小有建树答主
回答量:211
采纳率:100%
帮助的人:170万
展开全部
setmember里面的count没有初始化。你为setting类添加一个构造函数,在构造函数里面添加上count=0就行了。
更多追问追答
追问
还是不行哦
追答
是哪个阶段出现异常了?程序一运行就出现异常还是输入的时候出现了异常?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式