📄 课表.cpp
字号:
h=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(h==1);
}
system("PAUSE");
}
void searchbyclasses()
{
system("cls");
int i,j,n,z,q,p,k;
char a[20];
z=0;/*作为班级不匹配的标志*/
q=0;
printf("\t\t\t\t ┏━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t\t\t\t ┃ 课 表 查 询 系 统 ┃\n");
printf("\t\t\t\t ┗━━━━━━━━━━━━━━━━━━━━━━━┛");
printf("\n\n************************************************************************************************************************");
printf("\n\n\t\t\t\t\t你想要查询哪个班的课程表: ");
scanf("%s",a);
for(n=0;n<ban;n++)
{
if(strcmp(a,classes[n])==0) {z=1;k=n;break;}
}
if(z==1)
{
printf("\n\n\t\t\t\t\t\t\t%s\n\n",classes[k]);
printf(" ┏━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┓\n");
printf(" ┃ ┃ 星期一 ┃ 星期二 ┃ 星期三 ┃ 星期四 ┃ 星期五 ┃\n");
for(i=0;i<6;++i)
{
printf(" ┃ 第%d大节 ┃",i+1);
for(j=0;j<5;j++)
printf("%-16s┃",KEBIAO[k][i][j].name);
printf("\n");
}
printf(" ┗━━━━━━━━┻━━━━━━━━┻━━━━━━━━┻━━━━━━━━┻━━━━━━━━┻━━━━━━━━┛\n");
}
else
{
printf("\n\n\t\t\t\t\t你所输入的班级不存在\n");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&q);
p=0;
if(q==1) searchbyclasses();
else if(q==2) break;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
system("PAUSE");
}
void searchbyday()
{
system("cls");
int i,j,n,z,q,p,k,w;
char a[20];
z=0;/*作为班级不匹配的标志*/
q=0;
printf("\n\n\t\t\t\t\t你想要查询哪个班的课程表: ");
scanf("%s",a);
for(n=0;n<ban;n++)
{
if(strcmp(a,classes[n])==0) {z=1;w=n;break;}
}
if(z==1)
{
printf("\n\n\t\t\t\t\t你想查询星期几的课表: ");
scanf("%d",&j);
if(j>0&&j<6)
{
printf("\n\n\t\t\t\t\t\t 星期%d\n\n",j);
printf("\t\t ┏━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┓\n");
printf("\t\t ┃ 课时 ┃ 课程名 ┃ 地点 ┃ 教师 ┃\n");
for(i=0;i<6;++i)
{
printf("\t\t ┃ 第%d大节 ┃",i+1);
printf("%-16s┃",KEBIAO[w][i][j-1].name);
printf("%-16s┃",KEBIAO[w][i][j-1].place);
printf("%-16s┃",KEBIAO[w][i][j-1].teacher);
printf("\n");
}
printf("\t\t ┗━━━━━━━━┻━━━━━━━━┻━━━━━━━━┻━━━━━━━━┛\n");
}
else
{
printf("\n\n\t\t\t\t\t你所输入的星期不存在!");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&q);
p=0;
if(q==1) searchbyday();
else if(q==2) break;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
}
else
{
printf("\n\n\t\t\t\t\t你所输入的班级不存在!");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&q);
p=0;
if(q==1) searchbyday();
else if(q==2) break;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
system("PAUSE");
}
void searchbyteacher()
{
system("cls");
int i,j,n,z,q,p,k,w;
char a[10];
z=0;/*作为班级不匹配的标志*/
q=0;
printf("\n\n\t\t\t\t\t请输入教师名: ");
scanf("%s",a);
for(k=0;k<ban;k++)
for(i=0;i<6;i++)
for(j=0;j<5;j++)
{
if(strcmp(a,KEBIAO[k][i][j].teacher)==0) {z=1;break;}
}
if(z==1)
{
printf("\n\n\t\t\t\t\t你想查询星期几的课表: ");
scanf("%d",&j);
if(j>0&&j<6)
{
printf("\n\n\t\t\t\t\t 您在星期%d的课\n\n",j);
printf("\t ┏━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┓\n");
printf("\t ┃ 课时 ┃ 班级 ┃ 课程名 ┃ 地点 ┃ 教师 ┃\n");
for(w=0;w<ban;w++)
{
for(i=0;i<6;++i)
{
while(strcmp(a,KEBIAO[w][i][j-1].teacher)==0)
{
printf("\t ┃ 第%d大节 ┃",i+1);
printf("%-16s┃",classes[w]);
printf("%-16s┃",KEBIAO[w][i][j-1].name);
printf("%-16s┃",KEBIAO[w][i][j-1].place);
printf("%-16s┃",KEBIAO[w][i][j-1].teacher);
printf("\n");
if(strcmp(a,KEBIAO[w][i][j-1].teacher)==0) break;
}
}
}
printf("\t ┗━━━━━━━━┻━━━━━━━━┻━━━━━━━━┻━━━━━━━━┻━━━━━━━━┛\n");
}
else
{
printf("\n\n\t\t\t\t\t你所输入的星期不存在!");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&q);
p=0;
if(q==1) searchbyteacher();
else if(q==2) break;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
}
else
{
printf("\n\n\t\t\t\t\t此教师不存在!");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&q);
p=0;
if(q==1) searchbyteacher();
else if(q==2) break;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
system("PAUSE");
}
void menu1_KEBIAO()
{
system("cls");
int i;
while(i)
{
system("cls");
printf("\t\t\t\t ┏━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t\t\t\t ┃ 课 表 查 询 系 统 ┃\n");
printf("\t\t\t\t ┗━━━━━━━━━━━━━━━━━━━━━━━┛");
printf("\n\n************************************************************************************************************************");
printf("\n\n\n\n\t\t\t\t\t\t 1.按班级查询\n\n\t\t\t\t\t\t 2.按星期几查询\n\n\t\t\t\t\t\t 3.按教师查询(教师用)\n\n\t\t\t\t\t\t 0.返回");
printf("\n\n\t\t\t\t\t\t 请选择:");
scanf("%d",&i);
if(i==1) searchbyclasses();
else if(i==2) searchbyday();
else if(i==3) searchbyteacher();
else if(i==0) system("PAUSE");
else
{
printf("无此选项!");
system("PAUSE");
}
}
}
void save(kb KEBIAO[][6][5],int ban,char classes[][20] )
{
int i,j,k;
FILE *fp; /*指向文件的指针*/
if((fp=fopen("record.txt","wb"))==NULL) /*打开文件,并判断打开是否正常*/
{
printf("can not open file!");/*没打开*/
exit(1); /*退出*/
}
printf("\nSaving file\n"); /*输出提示信息*/
fprintf(fp,"%d",ban); /*将记录数写入文件*/
fprintf(fp,"\r\n"); /*将换行符号写入文件*/
for(k=0;k<ban;k++)
{
fprintf(fp,"%-20s",classes[k]);/*格式写入记录*/
fprintf(fp,"\r\n"); /*将换行符号写入文件*/
}
for(k=0;k<ban;k++)
for(i=0;i<6;i++)
for(j=0;j<5;j++)
{
if(KEBIAO[k][i][j].name[0]!='\0')
{
fprintf(fp,"%-2d%-2d%-2d",k,i,j);
fprintf(fp,"\r\n"); /*将换行符号写入文件*/
fprintf(fp,"%-15s%-15s%-15s",KEBIAO[k][i][j].name,KEBIAO[k][i][j].place,KEBIAO[k][i][j].teacher);/*格式写入记录*/
fprintf(fp,"\r\n"); /*将换行符号写入文件*/
}
}
fclose(fp);/*关闭文件*/
printf("****Save success***\n"); /*显示保存成功*/
system("PAUSE");
}
int load(kb KEBIAO[][6][5],int ban,char classes[][20])
{
int i,j,k,t;
FILE *fp; /*指向文件的指针*/
if((fp=fopen("record.txt","rb"))==NULL)/*打开文件*/
{
printf("can not open file\n"); /*不能打开*/
exit(1); /*退出*/
}
fscanf(fp,"%d",&ban); /*读入记录数*/
for(k=0;k<ban;k++)
{
fscanf(fp,"%20s",classes[k]); /*按格式读入记录*/
}
while(!feof(fp))
{
fscanf(fp,"%2d%2d%2d",&k,&i,&j);
fscanf(fp,"%15s%15s%15s",KEBIAO[k][i][j].name,KEBIAO[k][i][j].place,KEBIAO[k][i][j].teacher);
}
fclose(fp); /*关闭文件*/
printf("You have success read data from file!!!\n"); /*显示读取成功*/
system("PAUSE");
return ban;
}
void menu2_KEBIAO()
{
system("cls");
int i;
while(i)
{
system("cls");
printf("\t\t\t\t ┏━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t\t\t\t ┃ 课 表 管 理 系 统 ┃\n");
printf("\t\t\t\t ┗━━━━━━━━━━━━━━━━━━━━━━━┛");
printf("\n\n************************************************************************************************************************");
printf("\n\n\n\n\t\t\t\t\t\t 1.显示课表信息\n\n\t\t\t\t\t\t 2.添加课表\n\n\t\t\t\t\t\t 3.修改课表信息\n\n\t\t\t\t\t\t 4.删除课表信息\n\n\t\t\t\t\t\t 5.保存课表\n\n\t\t\t\t\t\t 6.读取课表\n\n\t\t\t\t\t\t 0.返回");
printf("\n\n\t\t\t\t\t\t 请选择:");
scanf("%d",&i);
if(i==1) print_KEBIAO();
else if(i==2) add_KEBIAO();
else if(i==3) alter_KEBIAO();
else if(i==4) delete_KEBIAO();
else if(i==5) save(KEBIAO,ban,classes);
else if(i==6) ban=load(KEBIAO,ban,classes);
else if(i==0) system("PAUSE");
else
{
printf("无此选项!");
system("PAUSE");
}
}
}
void mima_KIBAO()
{
system("cls");
char a[10];
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t请输入密码:");
scanf("%s",a);
if(strcmp(a,"123")==0)
menu2_KEBIAO();
else
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t密码错误!\n");
system("PAUSE");
}
main()
{
system("cls");
system("mode con: cols=120 lines=40");
int i;
int ban=1;
int total_KEBIAO=0;
char classes[10][20]={"1"};
while(i)
{
system("cls");
printf("\t\t\t\t ┏━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t\t\t\t ┃ 课 表 查 询 管 理 系 统 ┃\n");
printf("\t\t\t\t ┗━━━━━━━━━━━━━━━━━━━━━━━┛");
printf("\n\n************************************************************************************************************************");
printf("\n\n\n\n\t\t\t\t\t\t 1.课表查询\n\n\t\t\t\t\t\t 2.课表管理\n\n\t\t\t\t\t\t 0.退出");
printf("\n\n\t\t\t\t\t\t 请选择:");
scanf("%d",&i);
if(i==1) menu1_KEBIAO();
else if(i==2) mima_KIBAO();
else if(i==0) system("PAUSE");
else
{
printf("无此选项!");
system("PAUSE");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -