没有语法错误但是不能运行exe文件,显示停止工作?

int main()
{
string nam,tel,addr;
string cour;
int sal;
string tit;
string gra;
string mar;
ifstream infile("C:\\a\\data.txt");
int n;
int i,j,k;
infile>>n;
CStudent stu[n];
CTeacher tea[i];
CProfessor pro[j];
CDean d1;
d1.doit();
infile>>j;
for(int a=0;a<j;a++)
{
pro[j].doit();
}
infile>>i;
for(int b=0;b<i;b++)
{
tea[i].doit();
}
infile>>k;
for(int c=0;c<k;c++)
{
stu[n].doit();
}
return 0;
}

紫衣仙女
浏览 82回答 2
2回答

绝地无双

CStudent stu[n];CTeacher tea[i];CProfessor pro[j];CDean d1;d1.doit();infile>>j;for(int a=0;a<j;a++){pro[j].doit();}infile>>i;这几行换成下面的顺序你再试试infile>>i;infile>>j;CStudent stu[n];CTeacher tea[i];CProfessor pro[j];CDean d1;d1.doit();for(int a=0;a<j;a++){pro[j].doit();}

莫回无

1、C++编写程序,并不是说,能通过编译就一定能正常运行。2、不能正常运行的原因多种多样,碰得最多的就是指针指向的地址出错,或数据越界(实际上也是指针问题),或找不到相应的资源(比如找不到需要读取的文件)等等。3、最常规的调试方法无外乎两种,第一种是传统的使用编译环境进行逐步跟踪,设定断点,我是不喜欢这种方法的,因为这种方法常常会连着编译环境一起弄得冻死不响应。4、另一种就是对敏感的功能模块分段进行注释掉,以确定问题出在哪个位置,另外使用ShowMessage等输出语句暂停程序的运行,抛出显示敏感变量进行查看,这种方法好处是独立性强,不会影响编译环境,即使冻死了,也可以用win带的功能强行中断,坏处是需要反复编译测试。本人比较喜欢这种方法。
打开App,查看更多内容
随时随地看视频慕课网APP