📄 课表.cpp
字号:
#include <string.h>
#include <stdio.h>
#include <stdlib.h> /*其它说明*/
#include <ctype.h> /*字符操作函数*/
#include <conio.h>
int ban=1;/*录入的班级数目*/
typedef struct stu
{
char name[15];/*课程名*/
char place[15];/*地点*/
char teacher[15];/*教师名*/
}kb; /*每个课的类型结构定义*/
kb KEBIAO[10][6][5];
char classes[10][20]={"1"};
void print_KEBIAO()
{
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\t ┏━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┓\n");
printf("\t ┃ 星期 ┃ 课时 ┃ 课程名 ┃ 地点 ┃ 教师 ┃\n");
for(j=0;j<5;j++)
for(i=0;i<6;i++)
{
if(KEBIAO[k][i][j].name[0]!='\0')
{
printf("\t ┃ 星期%d ┃",j+1);
printf(" 第%d大节 ┃",i+1);
printf("%-16s┃",KEBIAO[k][i][j].name);
printf("%-16s┃",KEBIAO[k][i][j].place);
printf("%-16s┃",KEBIAO[k][i][j].teacher);
printf("\n");
}
else
continue;
}
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) print_KEBIAO();
else if(q==2) break;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
system("PAUSE");
}
void add_KEBIAO()
{
system("cls");
int k,w,n,z=0,l,g,h,i;
int q,p,x;
char cc[15],a[15],b[15];
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\t1.新增一个班级\n\n\t\t\t\t\t\t2.添加单独一节课\n\n\t\t\t\t\t\t3.返回\n\n\t\t\t\t\t\t请选择: ");
scanf("%d",&x);
if(x==1)
{
printf("\n\n\t\t\t\t\t请输入您想添加课表的班级: ");
scanf("%s",b);
for(i=0;i<ban;i++)
{
if(strcmp(b,classes[i]))
z=1;
}
if(z==1)
{
strcpy(classes[ban++],b);
for(k=0;k<5;k++)
for(w=0;w<6;w++)
{
printf("\n\n\t\t 请输入星期%d第%d大节课课程名(输入*就退出此节课输入): ",k+1,w+1);
scanf("%s",cc);
if(!strcmp(cc,"*"))
continue;
strcpy(KEBIAO[ban-1][w][k].name,cc);
printf("\n\n\t\t\t\t 请输入星期%d第%d大节课上课地点: ",k+1,w+1);
scanf("%s",cc);
strcpy(KEBIAO[ban-1][w][k].place,cc);
printf("\n\n\t\t\t\t\t请输入星期%d第%d大节课教师: ",k+1,w+1);
scanf("%s",cc);
strcpy(KEBIAO[ban-1][w][k].teacher,cc);
}
}
else
{
printf("\n\n\t\t\t\t\t您输入的班级已存在!");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&g);
h=0;
if(g==1) add_KEBIAO();
else if(g==2) return;
else
{
h=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(h==1);
}
}
else if(x==2)
{
z=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;l=n;break;}
}
if(z==0)
{
printf("\n\n\t\t\t\t\t该班级不存在!");
}
if(z==1)
{
printf("\n\n\t\t\t\t\t你要添加星期几的课程: ");
scanf("%d",&k);
printf("\n\n\t\t\t\t\t你要添加第几大节的课程: ");
scanf("%d",&w);
while((k<1||k>5)&&(w<1||w>6))
{
printf("\n\n\t\t\t\t\t您输入错误!");
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&g);
h=0;
if(g==1) add_KEBIAO();
else if(g==2) return;
else
{
h=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}
if(KEBIAO[l][w][k].name[0]!='\0')
{
printf("\n\n\t\t\t\t\t该时间段已有安排了.");
do
{
printf("\n\n\t\t\t\t\t您想继续添加吗?1为继续,2为返回: ");
scanf("%d",&q);
p=0;/*防止意外p的随即值与自己规定的值匹配*/
if(q==1) add_KEBIAO();
else if(q==2) return;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
else
{
printf("\n\n\t\t\t\t\t请输入课程名: ");
scanf("%s",cc);
strcpy(KEBIAO[l][w-1][k-1].name,cc);
printf("\n\n\t\t\t\t\t请输入上课地点: ");
scanf("%s",cc);
strcpy(KEBIAO[l][w-1][k-1].place,cc);
printf("\n\n\t\t\t\t\t请输入教师: ");
scanf("%s",cc);
strcpy(KEBIAO[l][w-1][k-1].teacher,cc);
}
}
}
else if(x==3) return;
else
{
printf("\n\n\t\t\t\t\t您输入错误!");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&g);
h=0;
if(g==1) add_KEBIAO();
else if(g==2) return;
else
{
h=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(h==1);
}
system("PAUSE");
}
void alter_KEBIAO()
{
system("cls");
int k,w,q,p,g,h,l,i,z;
char a[15];
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(i=0;i<ban;i++)
{
if(strcmp(a,classes[i])==0) {z=1;l=i;}
}
if(z==1)
{
printf("\n\n\t\t\t\t\t你要修改星期几的课程: ");
scanf("%d",&k);
printf("\n\n\t\t\t\t\t你要修改第几大节的课程: ");
scanf("%d",&w);
while((k<1||k>5)&&(w<1||w>6))
{
printf("\n\n\t\t\t\t\t您输入错误!");
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&g);
h=0;
if(g==1) alter_KEBIAO();
else if(g==2) return;
else
{
h=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}
if(KEBIAO[l][w-1][k-1].name[0]=='\0')
{
printf("\n\n\t\t\t\t\t该时间段未有安排。");
do
{
printf("\n\n\t\t\t\t\t您想继续修改吗?1为继续,2为返回: ");
scanf("%d",&q);
if(q==1) alter_KEBIAO();
else if(q==2) return;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
else
{
printf("\n\n\t\t\t\t\t请输入课程名: ");
scanf("%s",KEBIAO[l][w-1][k-1].name);
printf("\n\n\t\t\t\t\t请输入上课地点: ");
scanf("%s",KEBIAO[l][w-1][k-1].place);
printf("\n\n\t\t\t\t\t请输入教师: ");
scanf("%s",KEBIAO[l][w-1][k-1].teacher);
}
}
else
{
printf("\n\n\t\t\t\t\t您所要修改的班级不存在");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&g);
if(g==1) alter_KEBIAO();
else if(g==2) return;
else
{
h=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(h==1);
}
system("PAUSE");
}
void delete_KEBIAO()
{
system("cls");
int k,w,q,p,g,h,i,z,l;
p=0;
char a[15];
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(i=0;i<ban;i++)
{
if(strcmp(a,classes[i])==0) {z=1;l=i;}
}
if(z==1)
{
printf("\n\n\t\t\t\t\t你要删除星期几的课程: ");
scanf("%d",&k);
printf("\n\n\t\t\t\t\t你要删除第几大节的课程: ");
scanf("%d",&w);
while((k<1||k>5)&&(w<1||w>6))
{
printf("\n\n\t\t\t\t\t您输入错误!");
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&g);
h=0;
if(g==1) delete_KEBIAO();
else if(g==2) return;
else
{
h=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}
if(KEBIAO[l][w-1][k-1].name[0]=='\0')
{
printf("\n\n\t\t\t\t\t该时间段未有安排。");
do
{
printf("\n\n\t\t\t\t\t您想继续删除吗?1为继续,2为返回: ");
scanf("%d",&q);
if(q==1) delete_KEBIAO();
else if(q==2) return;
else
{
p=1;
printf("\n\n\t\t\t\t\t错误输入,请重新输入!");
}
}while(p==1);
}
else
{
KEBIAO[l][w-1][k-1].name[0]='\0';
}
}
else
{
printf("\n\n\t\t\t\t\t您所要修改的班级不存在");
do
{
printf("\n\n\t\t\t\t\t您想继续查询吗?1为继续,2为返回: ");
scanf("%d",&g);
if(g==1) delete_KEBIAO();
else if(g==2) return;
else
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -