VC++,为什么exe文件无法执行,数字输完按回车就退出了,怎么弄(不要在命令提示符里运行的) 10
#include<iostream.h>classarray{intpx[4][4];intn,im,jm;inti,j;public:array(intb[][4]){...
#include<iostream.h>
class array
{
int px[4][4];int n,im,jm;int i,j;
public:
array(int b[][4])
{
n=4;im=0;jm=0;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
px[i][j]=b[i][j];
}
}
void find(int x)
{
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
{
if(x==px[i][j])
{
im=i;jm=j;
}
}
}
}
void print()
{
int x=px[0][0];
cout<<"数组为:\n";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout<<px[i][j]<<'\t';
if(x>=px[i][j])x=px[i][j];
if(j==3)cout<<endl;
}
}
cout<<"所查找的数位于第"<<im<<"行第"<<jm<<"列"<<endl;
cout<<"最小值:"<<x<<endl;
}
};
void main()
{
int b[4][4]={5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4};
cout<<"请输入所要查找的数:";
int x;cin>>x;
array me(b);
me.find(x);
me.print();
} 展开
class array
{
int px[4][4];int n,im,jm;int i,j;
public:
array(int b[][4])
{
n=4;im=0;jm=0;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
px[i][j]=b[i][j];
}
}
void find(int x)
{
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
{
if(x==px[i][j])
{
im=i;jm=j;
}
}
}
}
void print()
{
int x=px[0][0];
cout<<"数组为:\n";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout<<px[i][j]<<'\t';
if(x>=px[i][j])x=px[i][j];
if(j==3)cout<<endl;
}
}
cout<<"所查找的数位于第"<<im<<"行第"<<jm<<"列"<<endl;
cout<<"最小值:"<<x<<endl;
}
};
void main()
{
int b[4][4]={5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4};
cout<<"请输入所要查找的数:";
int x;cin>>x;
array me(b);
me.find(x);
me.print();
} 展开
3个回答
展开全部
正常,程序执行完了,当然就退了
控制台程序就是这个样子的
执行main函数嘛,执行完了不退干什么啊,没代码执行了啊
就是这样设计的
你是应该想让它不要立刻退,而是打印输出结果后,别退,让你看显示输出的结果吧
要不然,立刻退了,那些输出结果,根本看不到,来不及看就退了没了
一般要加条语句,让程序等待你的输入,再退
也就是等待你输入任意键,再退出,也可以判定必须是某个键才退
getch()
getchar()
电脑上的QQ或者计算器不是控制台程序,它们随时都在处理着各种窗口消息,其实也是个循环,就是看有消息就处理,没有消息就继续检查给有消息,这个还只是主线程的任务
控制台程序就是这个样子的
执行main函数嘛,执行完了不退干什么啊,没代码执行了啊
就是这样设计的
你是应该想让它不要立刻退,而是打印输出结果后,别退,让你看显示输出的结果吧
要不然,立刻退了,那些输出结果,根本看不到,来不及看就退了没了
一般要加条语句,让程序等待你的输入,再退
也就是等待你输入任意键,再退出,也可以判定必须是某个键才退
getch()
getchar()
电脑上的QQ或者计算器不是控制台程序,它们随时都在处理着各种窗口消息,其实也是个循环,就是看有消息就处理,没有消息就继续检查给有消息,这个还只是主线程的任务
展开全部
两种方法:1:在最后一行结尾大括号前加入cin.get();cin.get();如果还不行就多加几遍。2:或者也是在这个地方加入system("pause");程序暂停,就可以了。第二种方法百分百成功。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
include<iostream.h>
class array
{
int px[4][4];int n,im,jm;int i,j;
public:
array(int b[][4])
{
n=4;im=0;jm=0;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
px[i][j]=b[i][j];
}
}
void find(int x)
{
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
{
if(x==px[i][j])
{
im=i;jm=j;
}
}
}
}
void print()
{
int x=px[0][0];
cout<<"数组为:\n";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout<<px[i][j]<<'\t';
if(x>=px[i][j])x=px[i][j];
if(j==3)cout<<endl;
}
}
cout<<"所查找的数位于第"<<im<<"行第"<<jm<<"列"<<endl;
cout<<"最小值:"<<x<<endl;
}
};
void main()
{
while (1)
{
int b[4][4]={5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4};
cout<<"请输入所要查找的数:";
int x;cin>>x;
array me(b);
me.find(x);
me.print();
}
}
加个while循环就不退出了
class array
{
int px[4][4];int n,im,jm;int i,j;
public:
array(int b[][4])
{
n=4;im=0;jm=0;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
px[i][j]=b[i][j];
}
}
void find(int x)
{
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
{
if(x==px[i][j])
{
im=i;jm=j;
}
}
}
}
void print()
{
int x=px[0][0];
cout<<"数组为:\n";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout<<px[i][j]<<'\t';
if(x>=px[i][j])x=px[i][j];
if(j==3)cout<<endl;
}
}
cout<<"所查找的数位于第"<<im<<"行第"<<jm<<"列"<<endl;
cout<<"最小值:"<<x<<endl;
}
};
void main()
{
while (1)
{
int b[4][4]={5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4};
cout<<"请输入所要查找的数:";
int x;cin>>x;
array me(b);
me.find(x);
me.print();
}
}
加个while循环就不退出了
更多追问追答
追问
我不是要这个,我的程序没错,我只是想将这个程序应用,就像电脑上的QQ或者计算器一样,去执行exe文件
但执行exe时数字输完,回车就退了,怎的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询