我的显示功能有问题

时间:2018-04-30 04:45:48

标签: c++ visual-studio

我正在为一个使用名为employee的类的项目工作。我遇到问题的地方在于显示功能。一切都正确显示,直到它结束,输出最终抛出的符号列表:

抛出

异常:读取访问冲突。 这是0xFF4000。

我已经缩小到显示功能或输出显示的循环。对此问题的任何帮助将不胜感激。

#include <iostream>
#include <iomanip>

using namespace std;

class Employee {
private:
    int empcode;
    char empname[10];

public:
    void getdata();
    void display();

};

void Employee::getdata() {
    cout << "\nNAME : ";
    cin >> empname;
    cout << "\nCODE : ";
    cin >> empcode;
} 

void Employee::display() {
    cout << endl << setw(20) << empname << setw(10) << empcode << endl;
}

int main()
   {
Employee Emp[6];

    cout << "Enter employee details:\n ";
   for (int i = 0; i<6; i++)
{
    cout << "\nemployee " << i + 1 << endl; 
    Emp[i].getdata();
}
cout << "\nEmployee details are as follows :";
cout << "\n\n" << setw(20) << "NAME" << setw(10) << "CODE";
cout << "\n------------------------------";

for (int i = 0; 1 <= 6; i++)
    Emp[i].display();

return 0;
}

1 个答案:

答案 0 :(得分:1)

你的第二个循环错了:

for(int i = 0; 1 <= 6; i ++)

应该是:

for (int i = 0; i < 6; i++)

1 < 6会一直循环,但是i++每次迭代都会增加,当它变为6时,它会尝试访问不存在的元素Emp[6],只有{{} 1}}