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

📄 select.cpp

📁 实现:SELECT [ALL|DISTINCT] <属性表达式>[
💻 CPP
📖 第 1 页 / 共 3 页
字号:
					if(intCno!=cour[i].cno){
						printf("%-20s %6d %6d %-10s\n",cour[i].cname,cour[i].cno,cour[i].ccredit,cour[i].tname);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有课程号为%s的课程.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"tname"))
			{
				int flag=0;
				printf(" 课程名称             课程号  学分 任课教师\n");
				for(i=0;i<COURSESIZE;i++){
					if(strcmp(inputWhere[2],cour[i].tname)){
						printf("%-20s %6d %6d %-10s\n",cour[i].cname,cour[i].cno,cour[i].ccredit,cour[i].tname);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有名为%s的任课教师.\n",inputWhere[2]);
			}
			else printf("查询条件字段输入错误.\n");
		}
		else printf("查询条件中谓词输入错误,ss没有该谓词.\n");
	}

/*******************************************************/

/****************处理grade表****************************/

/*******************************************************/
	else if(!strcmp(inputFrom[0],"grade"))
	{
		readGrade();
/*.....................................................*/
/*                查询条件为"="时                     */		
/*.....................................................*/
		if(!strcmp(inputWhere[1],"="))
		{
			if(!strcmp(inputWhere[0],"cno"))
			{
				int flag=0;
				int intCno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intCno==gra[i].cno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有课程号为%s的课程的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"score"))
			{
				int flag=0;
				int intScore=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intScore==gra[i].score){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有分数%s的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"sno"))
			{
				int flag=0;
				int intSno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intSno==gra[i].sno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有学号为%s的学生的成绩.\n",inputWhere[2]);
			}
			else printf("查询条件字段输入错误.\n");
		}
/*.....................................................*/
/*                查询条件为"<"时                     */		
/*.....................................................*/
		else if(!strcmp(inputWhere[1],"<"))
		{
			if(!strcmp(inputWhere[0],"cno"))
			{
				int flag=0;
				int intCno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intCno>gra[i].cno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有课程号为%s的课程的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"score"))
			{
				int flag=0;
				int intScore=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intScore>gra[i].score){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有分数%s的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"sno"))
			{
				int flag=0;
				int intSno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intSno>gra[i].sno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有学号为%s的学生的成绩.\n",inputWhere[2]);
			}
			else printf("查询条件字段输入错误.\n");
		}
/*.....................................................*/
/*                查询条件为">"时                     */		
/*.....................................................*/
		else if(!strcmp(inputWhere[1],">"))
		{
			if(!strcmp(inputWhere[0],"cno"))
			{
				int flag=0;
				int intCno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intCno<gra[i].cno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有课程号为%s的课程的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"score"))
			{
				int flag=0;
				int intScore=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intScore<gra[i].score){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有分数%s的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"sno"))
			{
				int flag=0;
				int intSno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intSno<gra[i].sno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有学号为%s的学生的成绩.\n",inputWhere[2]);
			}
			else printf("查询条件字段输入错误.\n");
		}
/*.....................................................*/
/*                查询条件为"<="时                     */		
/*.....................................................*/
		else if(!strcmp(inputWhere[1],"<="))
		{
			if(!strcmp(inputWhere[0],"cno"))
			{
				int flag=0;
				int intCno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intCno>=gra[i].cno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有课程号为%s的课程的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"score"))
			{
				int flag=0;
				int intScore=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intScore>=gra[i].score){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有分数%s的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"sno"))
			{
				int flag=0;
				int intSno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intSno>=gra[i].sno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有学号为%s的学生的成绩.\n",inputWhere[2]);
			}
			else printf("查询条件字段输入错误.\n");
		}
/*.....................................................*/
/*                查询条件为">="时                     */		
/*.....................................................*/
		else if(!strcmp(inputWhere[1],">="))
		{
			if(!strcmp(inputWhere[0],"cno"))
			{
				int flag=0;
				int intCno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intCno<=gra[i].cno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有课程号为%s的课程的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"score"))
			{
				int flag=0;
				int intScore=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intScore<=gra[i].score){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有分数%s的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"sno"))
			{
				int flag=0;
				int intSno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intSno<=gra[i].sno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有学号为%s的学生的成绩.\n",inputWhere[2]);
			}
			else printf("查询条件字段输入错误.\n");
		}
/*.....................................................*/
/*                查询条件为"!="时                     */		
/*.....................................................*/
		else if(!strcmp(inputWhere[1],"!="))
		{
			if(!strcmp(inputWhere[0],"cno"))
			{
				int flag=0;
				int intCno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intCno!=gra[i].cno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有课程号为%s的课程的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"score"))
			{
				int flag=0;
				int intScore=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intScore!=gra[i].score){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有分数%s的成绩.\n",inputWhere[2]);
			}
			else if(!strcmp(inputWhere[0],"sno"))
			{
				int flag=0;
				int intSno=atoi(inputWhere[2]);
				printf("学号  课程号  分数\n");
				for(i=0;i<GRADESIZE;i++){
					if(intSno!=gra[i].sno){
						printf("%4d %4d %8.1f\n",gra[i].sno,gra[i].cno,gra[i].score);
						flag=1;
					}
				}
				if(flag==0)
					printf("没有学号为%s的学生的成绩.\n",inputWhere[2]);
			}
			else printf("查询条件字段输入错误.\n");
		}
		else printf("查询条件中谓词输入错误,没有该谓词.\n");
	}
	else printf("表输入错误,没有该表.\n");
}

void main()
{
	char choose[15];
	while(1)
	{
		printf("           实现select查询语句");
		printf("\n");
		printf("*****************************************\n");
		printf("\n");
		printf("              select:查询\n");
		printf("\n");
		printf("              searchtable:查询表\n");
		printf("\n");
		printf("              searchAttr:查询属性\n");
		printf("\n");
		printf("              exit:退出\n");
		printf("\n");
		printf("******************************************\n");
		printf("\n");
		printf("请输入:");
		scanf("%s",choose);
		printf("\n");		
		if(!strcmp(choose,"select")){
			selects();
		}
		else if(!strcmp(choose,"searchtable")){
			searchtable();
		}
		else if(!strcmp(choose,"searchAttr")){
			searchAttr();
		}
		else if(!strcmp(choose,"exit")){
			printf("exit\n");
			exit(0);
		}
		else
		{
			printf("error\n");
			printf("\n");
		}	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -