📄 pk06.c
字号:
{clrscr();
sound1();
printf("\n请输入班号:");
scanf("%d",&ta);
y=0;
for(bx=0;bx<bx3;bx++)
if(ta==clno[bx])
{y=1;break;}
}
while(y==0);
}
else if(jg=='a')
{r--;
sound6();
if(r==-1)r=5;
if(xg==xg2)
xg=xg2+15;
else
xg=xg-3;
}
else if(jg=='d')
{r++;
sound6();
if(r==6)r=0;
if(xg==xg2+15)
xg=xg2;
else
xg=xg+3;
}
else if(jg=='w')
{jie=jie-1;
sound6();
if(jie==-1)jie=6;
if(yg==yg2)
yg=yg2+7;
else
yg=yg-1;
if(yg==yg2+4)yg--;
}
else if(jg=='s')
{jie=jie+1;
sound6();
if(jie==7)jie=0;
if(yg==yg2+7)
yg=yg2;
else
yg=yg+1;
if(yg==yg2+4)yg++;
}
else if(jg=='g'&& z02==0)
sdel();
else if(jg=='c'&& z02==0)
scopy();
else if(jg=='h'&& z02==0)
sxch();
else if(jg=='p'&& z02==0)
spast();
else if(jg=='f'&& z02==0)
sfill();
else if(jg=='k')
{cls();
chake1(bx);
cls();
chuxian3();
tishi();
}
else if(jg=='t')
{
cls();
chuxian3();
tishi();
}
else
sound1();
ch='n';
if(jg=='x')
{cls();
chake();
return;}
}/* end do */
while(ch!='#');
}/*end sub tk*/
void sound1()
{sound(440);
delay(40*ddt);
nosound();}
void sound2()
{sound(220);
delay(40*ddt);
nosound();}
void sound3()
{sound(1000);
delay(40*ddt);
nosound();}
void sound6()
{sound(110);
delay(20*ddt);
nosound();}
void sdel()
{
sound1();
if(kx==kong)return;
/*ddddddddddddddd dddddddddddddddd*/
chuxian3();
gotoxy(1,14);
printf("\n 星期%d 第%d节 %s",r+1,jie+1,kemu[kx]);
printf(" ,确实要删除吗?(y/n)");
do
{ch=getch();
if(ch=='n')
{sound3();
tishi();
return;}
}
while(ch!='y');
clb[bx][jie][r]=kong;
clbt[bx][jie][r]=kong;
tcbk[tc4][jie][r]=kong;
tcbb[tc4][jie][r]=kong;
sound2();
/*gotoxy(1,16);*/
tishi();
return;
}
void scopy()
{
sound1();
chuxian3();
gotoxy(1,14);
printf("\ncopy %s to...",kemu[kx]);
kxtmp1=kx;
tishi();
}
void spast()
{sound1();
chuxian3();
gotoxy(1,14);
kx=kxtmp1;
printf("\n 星期%d 第%d节 %s",r+1,jie+1,kemu[kx]);
printf(" ,确实要粘贴吗?(y/n)");
do
{ch=getch();
if(ch=='n')
{sound1();
tishi();
return;}
}
while(ch!='y');
ch='n';
for(ta=0;ta<tcnumber;ta++)
for(tt=0;tt<yubk;tt++)
{if(banke[ta][tt][0]==kong)break;
if(banke[ta][tt][0]!=bx)continue;
if(banke[ta][tt][1]!=kx)continue;
ch='y';
i=ta;
}
if(ch=='n')
{printf("\nerror!!! --- sub spast()--- 11111111");
sound3();
getch();
}
y=stkno(i,bx4);
if(y!=0)
{sound3();
return;
}
clb[bx][jie][r]=kx;
clbt[bx][jie][r]=i;
tcbk[i][jie][r]=kx;
tcbb[i][jie][r]=bx;
sound2();
tishi();
}
void sfill()
{int wk;
sound1();
chuxian3();
gotoxy(1,14);
printf("\n 填课: 星期%d 第%d节,请选择科目:",r+1,jie+1);
do
{
for(wk=0;wk<kenumber;wk++)
{printf(" %s ?(y/n/x--exit)",kemu[wk]);
ch1='n';
do
{ch=getch();
if(ch=='x')
{sound3();
tishi();
return;}
if(ch=='y' || ch=='x')
ch1='y';
}
while(ch1!='y');
if(ch=='y')break;
} /* end for wk **/
}
while(ch!='y');
if(ch=='x')
return;
kx=wk;
ch='n';
for(ta=0;ta<tcnumber;ta++)
for(tt=0;tt<yubk;tt++)
{if(banke[ta][tt][0]==kong)continue;
if(banke[ta][tt][0]!=bx)continue;
if(banke[ta][tt][1]!=kx)continue;
ch='y';
i=ta;
}
if(ch=='n')
{printf("\nerror!!! --- sub spast()--- 11111111");
sound3();
getch();
}
y=stkno(i,bx4);
printf("\ni=%d tc4=%d bx=%d bx4=%d",i,tc4,bx,bx4);
if(y!=0)
{sound3();
tishi();
return;
}
clb[bx][jie][r]=kx;
clbt[bx][jie][r]=i;
tcbk[i][jie][r]=kx;
tcbb[i][jie][r]=bx;
sound2();
tishi();
} /* end sfill() */
void sound4()
{sound(330);
delay(50*ddt);
sound(550);
delay(40*ddt);
nosound();
}
void sound42()
{sound(770);
delay(60*ddt);
sound(220);
delay(60*ddt);
nosound();
}
/************* cha ke() *******/
void chake()
{char tmp[yuke],x,y,z,kx,r,kx1,kx2,bx;
int i,j,sumqian=0,sumduo=0;
chuxian3();
clrscr();
for(i=0;i<clnumber;i++)
{x=yer[i]-1;
for(j=0;j<yuke;j++)tmp[j]=0;
for(j=0;j<7;j++)
{for(r=0;r<6;r++)
{kx=clb[i][j][r];
if(kx==kong)continue;
/* if(guken!=0)
{for(k=0;k<guken;k++)
{if(kx==gukexu[k])
{y=1;break;}
y=0;
}
if(y==1)continue;
} */
tmp[kx]++;
}
} /* j */
for(j=0;j<yuke;j++)
{y=zhoujie[j][x];
if(tmp[j]==y)continue;
if(tmp[j]<y)
{printf("\n %d班 %s , 应该排%d节,",clno[i],kemu[j],y);
printf(" 8888888 已排%d节, 欠%d节,x--exit",tmp[j],y-tmp[j]);
sumqian=sumqian+y-tmp[j];
if(getch()=='x')return;
continue;}
if(tmp[j]>y)
{printf("\n %d班 %s , 应该排%d节,",clno[i],kemu[j],y);
printf(" 8888888 已排%d节,多%d节x--exit.",tmp[j],tmp[j]-y);
sumduo=sumduo+tmp[j]-y;
if(getch()=='x')return;
continue;}
} /* j */
} /* i */
sound1();
printf("\n合计: 欠 %d节, 多%d节.",sumqian,sumduo);
printf("\n班表检查完毕.");
getch();
for(i=0;i<tcnumber;i++)
{
for(j=0;j<7;j++)
{for(r=0;r<6;r++)
{kx1=tcbk[i][j][r];
bx=tcbb[i][j][r];
if(kx1==kong && bx==kong)continue;
kx2=clb[bx][j][r];
if(kx1==kx2)continue;
printf("\n%d=%s教师表 第%d日 第 %d节 %s,与%d班表不一.",i,name[i],r+1,j+1,kemu[kx2],clno[bx]);
if(getch()=='x')return;
} /* r */
} /* j */
} /*i*/
printf("\n教师表检查完毕.('y'--exit)");
do
;
while(getch()!='y');
}
/************* cha ke1() *******/
void chake1(char bx)
{char tmp[yuke],x,y,z,kx,r,kx1,kx2,bx2;
int i,j,sumqian=0,sumduo=0;
chuxian3();
clrscr();
i=bx;
x=yer[i]-1;
for(j=0;j<yuke;j++)tmp[j]=0;
for(j=0;j<7;j++)
{for(r=0;r<6;r++)
{kx=clb[i][j][r];
if(kx==kong)continue;
/* if(guken!=0)
{for(k=0;k<guken;k++)
{if(kx==gukexu[k])
{y=1;break;}
y=0;
}
if(y==1)continue;
} */
tmp[kx]++;
}
} /* j */
for(j=0;j<yuke;j++)
{y=zhoujie[j][x];
if(tmp[j]==y)continue;
if(tmp[j]<y)
{printf("\n %d班 %s , 应该排%d节,",clno[i],kemu[j],y);
printf(" 8888888 已排%d节, 欠%d节x--exit.",tmp[j],y-tmp[j]);
sumqian=sumqian+y-tmp[j];
if(getch()=='x')return;
continue;}
if(tmp[j]>y)
{printf("\n %d班 %s , 应该排%d节,",clno[i],kemu[j],y);
printf(" 8888888 已排%d节,多%d节x--exit.",tmp[j],tmp[j]-y);
sumduo=sumduo+tmp[j]-y;
if(getch()=='x')return;
continue;}
} /* j */
sound1();
printf("\n合计: 欠 %d节, 多%d节.",sumqian,sumduo);
printf("\n班表检查完毕.");
getch();
for(i=0;i<tcnumber;i++)
{
for(j=0;j<7;j++)
{for(r=0;r<6;r++)
{kx1=tcbk[i][j][r];
bx=tcbb[i][j][r];
if(kx1==kong && bx==kong)continue;
kx2=clb[bx][j][r];
if(kx1==kx2)continue;
printf("\n%d=%s教师表 第%d日 第 %d节 %s,与%d班表不一.",i,name[i],r+1,j+1,kemu[kx2],clno[bx]);
if(getch()=='x')return;
} /* r */
} /* j */
} /*i*/
printf("\n教师表检查完毕.('y'--exit)");
do
;
while(getch()!='y');
}
/************ stkno() ***********/
int stkno(int i,int bx)
{ int chai,chaj,tmp;
char tkxp;
tkxp=clb[bx][jie][r];
if(tkxp!=kong)return 1; /* clb(班表)不空,排下一节 */
if(tcbb[i][jie][r]!=kong)return 1; /* tcb(教师表)不空,排下一节*/
tmp=0;
for(chai=0;chai<7;chai++) /* jin tian yi pai le duo shao ke? */
{if(tcbb[i][chai][r]!=kong)tmp++;}
if(tmp>3)return 1;
return 0;/* 可排 */
} /* end sub stkno */
void huifu()
{
clb[bx][jie2][r2]=kx2;
clbt[bx][jie2][r2]=i2;
if(qtc2b==1)
{tcbk[i2][jie2][r2]=kx2;
tcbb[i2][jie2][r2]=bx;
}
clb[bx][jie1][r1]=kx1;
clbt[bx][jie1][r1]=i1;
if(qtc1b==1)
{tcbk[i1][jie1][r1]=kx1;
tcbb[i1][jie1][r1]=bx;
}
sound3();
jie=jie2;
r=r2;
}
void sxch()
{char ti1,ti2;
itmp=i;
ripin=4;
xchbiao++;
if(xchbiao==1)
{jie1=jie;
r1=r;
kx1=clb[bx][jie][r];
i1=clbt[bx][jie][r];
sound4();
return;
}
xchbiao=0;
qtc1b=0;
qtc2b=0;
jie2=jie;
r2=r;
kx2=clb[bx][jie][r];
i2=clbt[bx][jie][r];
if(kx1==kong && kx2==kong)
{sound3();return;}
ti1=i1;
ti2=i2;
if(i2<0){i2=i2+256;}
if(i1<0){i1=i1+256;}
clb[bx][jie2][r2]=kong;
clbt[bx][jie2][r2]=kong;
if(ti2!=kong)
{if(tcbb[i2][jie2][r2]==bx)
{tcbk[i2][jie2][r2]=kong;
tcbb[i2][jie2][r2]=kong;
qtc2b=1;}}
clb[bx][jie1][r1]=kong;
clbt[bx][jie1][r1]=kong;
if(ti1!=kong)
{if(tcbb[i1][jie1][r1]==bx)
{tcbk[i1][jie1][r1]=kong;
tcbb[i1][jie1][r1]=kong;
qtc1b=1;}}
i=i1;
kx=kx1;
r=r2;
jie=jie2;
if(i<0)i=i+256;
if(kx1==kong)
y=0;
else
y=stkno(i1,bx4);
if(y!=0)
{huifu();
return;
}
clb[bx][jie2][r2]=kx1;
clbt[bx][jie2][r2]=ti1;
if(ti1!=kong)
{tcbk[i1][jie2][r2]=kx1;
tcbb[i1][jie2][r2]=bx;}
else
;
i=i2;
kx=kx2;
jie=jie1;
r=r1;
if(kx2==kong)
y=0;
else
y=stkno(i2,bx4);
if(y!=0)
{if(ti1!=kong)
{tcbk[i1][jie2][r2]=kong;
tcbb[i1][jie2][r2]=kong;}
huifu();
return;
}
clb[bx][jie1][r1]=kx2;
clbt[bx][jie1][r1]=ti2;
if(ti2!=kong)
{tcbk[i2][jie1][r1]=kx2;
tcbb[i2][jie1][r1]=bx;}
else
;
i=ti1;
kx=kx1;
jie=jie2;
r=r2;
sound42();
}
void tiao()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -