⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu2.cpp

📁 连接到数据库(sql和access)
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			 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 + -