📄 menu2.cpp
字号:
scanf("%s",temp[1]);
}
//授课地点
if(i==4)
{
printf("请输入%s:",row_txt[table][i]);
scanf("%s",temp[1]);
}
//实验时间
if(i==5)
{
printf("请输入%s:",row_txt[table][i]);
scanf("%s",temp[1]);
}
//实验地点
if(i==6)
{
printf("请输入%s:",row_txt[table][i]);
scanf("%s",temp[1]);
}
}
//插入参加活动表
if(table==11)
{
//活动编号限制
if(i==1)
{
do
{
printf("请输入%s(3位):",row_txt[table][i]);
scanf("%s",temp[1]);
if(strlen(temp[1])!=3)
{
printf("\n活动编号位数错误,请重新输入!\n\n");
continue;
}
Find[1]=13;
if(find(Find,temp[1],temp[1],all).activityhead==NULL)
{
printf("\n该活动编号不存在,请重新输入!\n\n");
continue;
}
break;
}while(1);
}
//限制成绩
if(i==2)
{
do
{
if(flag==1)
{
printf("\n输入错误,请重新输入!\n\n");
}
printf("请输入%s:",row_txt[table][i]);
grade=Force();
flag=1;
}while(grade<0 ||grade>10000);
//将整型转换为字符型
itoa(grade,temp[1],10);
}
//获奖情况
if(i==3)
{
printf("请输入%s:",row_txt[table][i]);
scanf("%s",temp[1]);
}
//同时限制学号、活动编号
if(i==1)
{
do
{
printf("请输入%s(10位):",row_txt[table][4]);
scanf("%s",temp[2]);
Find[1]=1;
if(find(Find,temp[2],temp[2],all).studenthead==NULL)
{
printf("\n该学号不存在,请重新输入!\n\n");
continue;
}
if(strlen(temp[2])!=10)
{
printf("\n学号位数错误,请重新输入!\n\n");
continue;
}
Find[1]=11;
if(n[2]==1&&find(Find,temp[1],temp[2],all).joinactivityhead!=NULL)
{
printf("\n该参加活动记录已存在,请重新输入!\n\n");
continue;
}
if(n[2]==2&&find(Find,temp[1],temp[2],all).joinactivityhead==NULL)
{
printf("\n该参加活动记录不存在,请重新输入!\n\n");
continue;
}
break;
}while(1);
}
}
//插入登记表
if(table==12)
{
//限制报到编号
if(i==1)
{
do
{
printf("请输入%s(5位):",row_txt[table][i]);
scanf("%s",temp[1]);
Find[1]=8;
if(find(Find,temp[1],temp[1],all).registerhead==NULL)
{
printf("\n该报到编号不存在,请重新输入!\n\n");
continue;
}
if(strlen(temp[1])!=5)
{
printf("\n报到编号位数错误,请重新输入!\n\n");
continue;
}
break;
}while(1);
}
//同时限制报到编号和学号
if(i==1)
{
do
{
printf("请输入%s(10位):",row_txt[table][2]);
scanf("%s",temp[2]);
if(strlen(temp[2])!=10)
{
printf("\n学号位数错误,请重新输入!\n\n");
continue;
}
Find[1]=1;
if(find(Find,temp[2],temp[2],all).studenthead==NULL)
{
printf("\n该学号不存在,请重新输入!\n\n");
continue;
}
Find[1]=12;
if(n[2]==1&&find(Find,temp[1],temp[2],all).logonhead!=NULL)
{
printf("\n该登记记录已存在,请重新输入!\n\n");
continue;
}
if(n[2]==2&&find(Find,temp[1],temp[2],all).logonhead==NULL)
{
printf("\n该登记记录不存在,请重新输入!\n\n");
continue;
}
break;
}while(1);
}
//限制入校时间
if(i==3)
{
char tmpch_hour[3],tmpch_min[3];
int j;
int jump=0;
do
{
if(flag==1)
{
printf("\n输入错误,请重新输入!\n\n");
}
printf("请输入%s(例如:09:15):",row_txt[table][i]);
scanf("%s",temp[1]);
flag=1;
for(j=0;j<2;j++)
{
tmpch_hour[j]=temp[1][j];
tmpch_min[j]=temp[1][j+3];
}
tmpch_hour[j]='\0';
tmpch_min[j]='\0';
if(temp[1][2]!=':'||atoi(tmpch_hour)<0||atoi(tmpch_hour)>23||atoi(tmpch_min)<0||atoi(tmpch_min)>59)
{
jump=1;
}
}while(strlen(temp[1])!=5||jump==1);
}
}
//插入学校活动表
if(table==13)
{
//限制活动编号
if(i==1)
{
do
{
printf("请输入%s(3位):",row_txt[table][i]);
scanf("%s",temp[1]);
if(strlen(temp[1])!=3)
{
printf("\n学校活动号位数错误,请重新输入!\n\n");
continue;
}
if(n[2]==1&&find(Find,temp[1],temp[1],all).activityhead!=NULL)
{
printf("\n该学校活动号已存在,请重新输入!\n\n");
continue;
}
if(n[2]==2&&find(Find,temp[1],temp[1],all).activityhead==NULL)
{
printf("\n该学校活动号不存在,请重新输入!\n\n");
continue;
}
break;
}while(1);
}
//名称
if(i==2)
{
printf("请输入%s:",row_txt[table][i]);
scanf("%s",temp[1]);
}
//限制举行时间
if(i==3)
{
do
{
if(flag==1)
{
printf("\n输入错误,请重新输入!\n\n");
}
printf("请输入%s(例如:1990-01):",row_txt[table][i]);
scanf("%s",temp[1]);
flag=1;
}while(strlen(temp[1])!=7 || !(IsDate(temp[1],0)));
}
}
//插入寝室表
if(table==14)
{
//限制寝室编号
if(i==1)
{
do
{
printf("请输入%s(5位):",row_txt[table][i]);
scanf("%s",temp[1]);
if(strlen(temp[1])!=5)
{
printf("\n寝室号位数错误,请重新输入!\n\n");
continue;
}
if(n[2]==1&&find(Find,temp[1],temp[1],all).chamberhead!=NULL)
{
printf("\n该寝室号已存在,请重新输入!\n\n");
continue;
}
if(n[2]==2&&find(Find,temp[1],temp[1],all).chamberhead==NULL)
{
printf("\n该寝室号不存在,请重新输入!\n\n");
continue;
}
break;
}while(1);
}
//地址
if(i==2)
{
printf("请输入%s:",row_txt[table][i]);
scanf("%s",temp[1]);
}
//限制人数
if(i==3)
{
do
{
if(flag==1)
{
printf("\n输入错误,请重新输入!\n\n");
}
printf("请输入%s(0-12):",row_txt[table][i]);
grade=Force();
flag=1;
}while(grade<0 ||grade>12);
//将整型转换为字符型
itoa(grade,temp[1],10);
}
}
strcpy(tmp.str1,temp[1]);
strcpy(tmp.str2,temp[2]);
return tmp;
}
/*-----------------------------------------------------------------*
*函数: delete_sys() *
*参数: sys结构及其指针,整型 *
*作用: 删除相应表的记录 *
*返回: 无返回值 *
*-----------------------------------------------------------------*/
void delete_sys(int table,sys find,sys *all)
{
switch(table)
{
case 1:
{
STUDENT *p1,*p2;
p2=all->studenthead;
p1=p2->next;
while( p1!=NULL&&find.studenthead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 2:
{
TEACHER *p1,*p2;
p2=all->teacherhead;
p1=p2->next;
while( p1!=NULL&&find.teacherhead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 3:
{
COURSE *p1,*p2;
p2=all->coursehead;
p1=p2->next;
while( p1!=NULL&&find.coursehead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 4:
{
SPECIALITY *p1,*p2;
p2=all->specialityhead;
p1=p2->next;
while( p1!=NULL&&find.specialityhead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 5:
{
DEPARTMENT *p1,*p2;
p2=all->departmenthead;
p1=p2->next;
while( p1!=NULL&&find.departmenthead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 6:
{
CLASS *p1,*p2;
p2=all->classhead;
p1=p2->next;
while( p1!=NULL&&find.classhead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 7:
{
PROJECT *p1,*p2;
p2=all->projecthead;
p1=p2->next;
while( p1!=NULL&&find.projecthead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 8:
{
REGISTER *p1,*p2;
p2=all->registerhead;
p1=p2->next;
while( p1!=NULL&&find.registerhead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 9:
{
SC *p1,*p2;
p2=all->schead;
p1=p2->next;
while( p1!=NULL&&find.schead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 10:
{
TC *p1,*p2;
p2=all->tchead;
p1=p2->next;
while( p1!=NULL&&find.tchead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 11:
{
JOINACTIVITY *p1,*p2;
p2=all->joinactivityhead;
p1=p2->next;
while( p1!=NULL&&find.joinactivityhead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 12:
{
LOGON *p1,*p2;
p2=all->logonhead;
p1=p2->next;
while( p1!=NULL&&find.logonhead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 13:
{
ACTIVITY *p1,*p2;
p2=all->activityhead;
p1=p2->next;
while( p1!=NULL&&find.activityhead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
case 14:
{
CHAMBER *p1,*p2;
p2=all->chamberhead;
p1=p2->next;
while( p1!=NULL&&find.chamberhead!=p1)
{
p2=p1;
p1=p1->next;
}
if(p2!=NULL&&p1!=NULL)
{
p2->next=p1->next;
free(p1);
}
break;
}
default:break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -