Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 程序在执行程序的其余部分之前退出_C++_Cout_Activity Finish - Fatal编程技术网

C++ 程序在执行程序的其余部分之前退出

C++ 程序在执行程序的其余部分之前退出,c++,cout,activity-finish,C++,Cout,Activity Finish,我正在尝试创建一个学生程序,但在我输入第四个名字后它停止了,它不允许我输入成绩,也不允许在最后显示列表 #include<iostream> using namespace std; int main() { string name[4]; double g1[4],g2[4],avg[4]; int cont; for(cont=1;cont<=4;cont++) { cout<<"STUD

我正在尝试创建一个学生程序,但在我输入第四个名字后它停止了,它不允许我输入成绩,也不允许在最后显示列表

#include<iostream>

using namespace std;

int main()

{

    string name[4];
    double g1[4],g2[4],avg[4];
    int cont;
    for(cont=1;cont<=4;cont++)
    {
        cout<<"STUDENT "<<cont<<"\n";
        cout<<"Name: ";
        cin>>name[cont];
        cout<<"First Grade: ";
        cin>>g1[cont];
        cout<<"Second Grade: ";
        cin>>g2[cont];
        avg[cont]=(g1[cont]+g2[cont])/2;
    }
    cout<<"STUDENTS LIST"<<"\n";
    cout<<"--------------"<<"\n";
    for(cont=1;cont<=4;cont++)
    {
        cout<<name[cont]<<" "<<avg[cont]<<"\n";
    }
}
#包括
使用名称空间std;
int main()
{
字符串名[4];
双g1[4],g2[4],平均值[4];
内部控制;

for(cont=1;cont两个循环
for(cont=1;cont
字符串名[4];
是一个包含4个元素的数组。有效索引为0、1、2和3。循环跳过第一个元素,并在最后一次迭代时访问超出边界的数组。这会导致未定义的行为。任何情况都可能发生。

cont<4
而不是
建议:将四个数组中的数据聚合为结构的一个数组。顺便说一句,arraC++中的y索引从0开始。当代码> CONT/CODE >为4时,您访问的是代码> G1[4 ] < /C>,这实际上是数组的第五个元素,超出数组。