这个程序片段是什么意思,num%8==1什么意思

    ifstream infile("number.dat",ios::out);//定义输入数据流,以输入方式打开
    if(!infile)
    {
        cout<<"open error!"<<endl;
        exit(1);
    }
    chepiao *q=start;//用于对链表进行操作
    int num=1; //用于记录这是读入的第N个数据,用于判断数据类型
    string one; //用于记录第一个读入的车次
    for(;;num++)
    {
        if(num%8==1)
            if(!(infile>>one))
                break;
            else
            {
                q->left=new chepiao [1];
                sum++;
                q=q->left;
                q->CC=one;
            }
            switch(num%8)
            {
            case 2:infile>>q->FCSJh;break;
            case 3:infile>>q->FCSJm;break;
            case 4:infile>>q->QD;break;
            case 5:infile>>q->ZD;break;
            case 6:infile>>q->XCSJ;break;
            case 7:infile>>q->EDZL;break;
            case 0:infile>>q->YPSL;break;
            }
    }
    infile.close();//关闭文件

num除以8取它的余数等于1