📄 索引.cpp
字号:
p->only.pz[j]=place;
p=NULL;
break;
}
}
}
}
}
}
if(!strcmp(shuxingname,"c"))
{ z2 *place;
strcpy(head[indexcount].only.date,z0[0].c);
head[indexcount].only.pz[0]=&z0[0];
head[indexcount].only.ps[0]=NULL;
head[indexcount].only.pc[0]=NULL;
head[indexcount].left=NULL;
head[indexcount].right=NULL;
for(i=1;i<17;i++)
{
strcpy(k,z0[i].c);
place=&z0[i];
p=&head[indexcount];
fu=p;
while(p!=NULL)
{
bijiao=strcmp(k,p->only.date);
if(bijiao==-1)
{
if(p->left!=NULL) {fu=p;p=p->left;}
else
{
s1=(index *)malloc(sizeof(index));
strcpy(s1->only.date,k);
s1->only.pz[0]=place;
s1->only.pz[1]=NULL;
s1->only.pz[2]=NULL;
s1->only.pz[3]=NULL;
s1->only.pz[4]=NULL;
s1->only.ps[0]=NULL;
s1->only.pc[0]=NULL;
s1->left=NULL;
s1->right=NULL;
p->left=s1;
p=NULL;
}
}
else if(bijiao==1)
{
if(p->right!=NULL) {fu=p;p=p->right;}
else
{
s1=(index *)malloc(sizeof(index));
strcpy(s1->only.date,k);
s1->only.pz[0]=place;
s1->only.pz[1]=NULL;
s1->only.pz[2]=NULL;
s1->only.pz[3]=NULL;
s1->only.pz[4]=NULL;
s1->only.ps[0]=NULL;
s1->only.pc[0]=NULL;
s1->left=NULL;
s1->right=NULL;
p->right=s1;
p=NULL;
}
}
else
{ for(dd=0;dd<10;dd++)
{
if(p->only.pz[dd]==NULL)
{
p->only.pz[dd]=place;
p=NULL;
break;
}
}
}
}
}
}
indexcount++;
cout<<"************************第"<<indexcount<<"个索引"<<index_name[indexcount]<<"已经创建成功!***************"<<endl;
}
}
int findshuxing(char name[10],char tablename)
{
if(tablename=='s')
{
if(!strcmp(name,"s")||!strcmp(name,"sname")||!strcmp(name,"age")||!strcmp(name,"sex"))return 1;
else return 0;
}
else if(tablename=='c')
{
if(!strcmp(name,"c")||!strcmp(name,"cname")||!strcmp(name,"teacher"))return 2;
else return 0;
}
if(tablename=='z')
{
if(!strcmp(name,"s")||!strcmp(name,"c")||!strcmp(name,"grade"))return 3;
else return 0;
}
}
void del_index()
{ int i,j,k;
char name[10];
if(indexcount==0)
{
cout<<"系统不存在索引,不能删除索引!"<<endl;
goto l;
}
cout<<"请输入您要删除索引的名字:";
cin>>name;
for(i=0;i<10;i++)
{
if(!strcmp(index_name[i],name))
break;
}
if(i==10) cout<<"不存在该属性!"<<endl;
for(i=i;i<10;i++)
{
j=i+1;
head[i]=head[j];
}
indexcount--;
cout<<"索引删除成功!"<<endl;
l:cout<<endl;
}
void _select()
{ int j,i;
char name[10],name1[10],k[10];
cout<<"请输入您所要选择记录的索引值:";
cin>>name;
cout<<"请输入记录所在索引表名称:";
cin>>name1;
for(i=0;i<10;i++)
{
if(!strcmp(index_name[i],name1))
break;
}
if(i==10) cout<<"不存在该索引!"<<endl;
p=&head[i];
{
strcpy(k,name);
while(p!=NULL)
{ j=strcmp(k,p->only.date);
if(j==0)
{
printf("************************选择成功!列表如下*****************************\n");
if(p->only.pc[0]!=NULL)
{
c2 * cc2=p->only.pc[0];
printf("课程号 课程名 任课教师\n");
printf("%s,%s,%s",cc2->c,cc2->cname,cc2->teacher);
printf("\n");
}
else if(p->only.pz[0]!=NULL)
{
z2 * cc2=p->only.pz[0];
printf("学号 课程名 成绩");
printf("%s,%s,",cc2->s,cc2->c);
printf("%d",cc2->grade);
}
else if(p->only.ps[0]!=NULL)
{
s2 * cc2=p->only.ps[0];
printf("学号 姓名 年龄 性别\n");
printf("%s,%s,",cc2->s,cc2->sname);
printf(" ");
printf("%d,",cc2->age);
printf(" ");
printf("%c",cc2->sex);
printf("\n");
}
p=NULL;
}
else if(j==-1)
{
p=p->left;
}
else p=p->right;
}
}
}
void connect()
{ char name1[50],name2[10],ch,name3[3];
void intinal();
int i;
i=0;
printf("请输入连接条件:");
scanf("%c",&ch);
while(ch!='\n')
{
name1[i]=ch;
i++;
scanf("%c",&ch);
}
name1[i]='\0';
for(i=0;i<7;i++)
name2[i]=name1[i];
name2[i]='\0';
for(i=0;i<2;i++)
name3[i]=name1[i+16];
name3[i]='\0';
if(!strcmp(name2,"s.s=z.s"))
{
for(i=0;i<6;i++)
{
if(strcmp(name3,s0[i].s))
{ //cout<<name3<<" "<<s0[i].s<<endl;
strcpy(s0[i].s,"");
strcpy(s0[i].sname,"");
s0[i].age=0;
s0[i].sex=' ';
}
}
for(i=0;i<17;i++)
{
if(strcmp(name3,z0[i].s))
{
strcpy(z0[i].s,"");
strcpy(z0[i].c,"");
z0[i].grade=0;
}
}
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<"s#"<<" "<<"c#"<<" "<<"grade"<<endl;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
for(i=0;i<17;i++)
{if(strcmp(z0[i].s,""))
cout<<setiosflags(ios::left)<<setw(20)<<z0[i].s;
if(strcmp(z0[i].c,""))
cout<<setiosflags(ios::left)<<setw(20)<<z0[i].c;
if(z0[i].grade!=0)
cout<<setiosflags(ios::left)<<setw(20)<<z0[i].grade<<endl;
// cout<<endl;
}
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<"s#"<<" "<<"sname"<<" "<<"age"<<" "<<"sex"<<endl;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
for(i=0;i<6;i++)
{if(strcmp(s0[i].s,""))
cout<<setiosflags(ios::left)<<setw(20)<<s0[i].s;
if(strcmp(s0[i].sname,""))
cout<<setiosflags(ios::left)<<setw(20)<<s0[i].sname;
if(s0[i].age!=0)
cout<<setiosflags(ios::left)<<setw(20)<<s0[i].age;
if(s0[i].sex!=' ')
cout<<setiosflags(ios::left)<<setw(20)<<s0[i].sex<<endl;
}
}
else if(!strcmp(name2,"c.c=z.c"))
{
for(i=0;i<5;i++)
{
if(strcmp(name3,c0[i].c))
{
strcpy(c0[i].c,"");
strcpy(c0[i].cname,"");
strcpy(c0[i].teacher,"");
}
}
for(i=0;i<17;i++)
{
if(strcmp(name3,z0[i].c))
{
strcpy(z0[i].s,"");
strcpy(z0[i].c,"");
z0[i].grade=0;
}
}
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<"s#"<<" "<<"c#"<<" "<<"grade"<<endl;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
for(i=0;i<17;i++)
{ if(strcmp(z0[i].s,""))
cout<<setiosflags(ios::left)<<setw(20)<<z0[i].s;
if(strcmp(z0[i].c,""))
cout<<setiosflags(ios::left)<<setw(20)<<z0[i].c;
if(z0[i].grade!=0)
cout<<setiosflags(ios::left)<<setw(20)<<z0[i].grade<<endl;
}
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<"c#"<<" "<<"cname"<<" "<<"teacher"<<endl;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
for(i=0;i<5;i++)
{if(strcmp(c0[i].c,""))
cout<<setiosflags(ios::left)<<setw(20)<<c0[i].c<<" ";
if(strcmp(c0[i].cname,""))
cout<<setiosflags(ios::left)<<setw(20)<<c0[i].cname;
if(strcmp(c0[i].teacher,""))
cout<<setiosflags(ios::left)<<setw(20)<<c0[i].teacher<<endl;
}
}
intinal();
}
void display()
{
cout<<" ********欢迎进入试验五:索引********"<<endl;
cout<<" (1)创建索引;"<<endl;
cout<<" (2) 删除索引;"<<endl;
cout<<" (3) 选择操作;"<<endl;
cout<<" (4)连接操作;"<<endl;
cout<<" (0)退出系统;"<<endl;
cout<<"********************************************************"<<endl;
}
void intinal()
{
strcpy(s0[0].s,"s1");
strcpy(s0[1].s,"s2");
strcpy(s0[2].s,"s3");
strcpy(s0[3].s,"s4");
strcpy(s0[4].s,"s5");
strcpy(s0[5].s,"s8");
s0[0].s[2]='\0';
s0[1].s[2]='\0';
s0[2].s[2]='\0';
s0[3].s[2]='\0';
s0[4].s[2]='\0';
s0[5].s[2]='\0';
strcpy(s0[0].sname,"wang");
strcpy(s0[1].sname,"xiao");
strcpy(s0[2].sname,"chen");
strcpy(s0[3].sname,"juan");
strcpy(s0[4].sname,"ying");
strcpy(s0[5].sname,"dong");
s0[0].age=20;
s0[1].age=19;
s0[2].age=22;
s0[3].age=19;
s0[4].age=21;
s0[5].age=18;
s0[0].sex='m';
s0[1].sex='m';
s0[2].sex='m';
s0[3].sex='m';
s0[4].sex='f';
s0[5].sex='f';
strcpy(c0[0].c,"c1");
strcpy(c0[1].c,"c2");
strcpy(c0[2].c,"c3");
strcpy(c0[3].c,"c4");
strcpy(c0[4].c,"c5");
strcpy(c0[0].cname,"db");
strcpy(c0[1].cname,"ms");
strcpy(c0[2].cname,"cy");
strcpy(c0[3].cname,"pa");
strcpy(c0[4].cname,"os");
strcpy(c0[0].teacher,"lin");
strcpy(c0[1].teacher,"hua");
strcpy(c0[2].teacher,"yin");
strcpy(c0[3].teacher,"shi");
strcpy(c0[4].teacher,"wen");
strcpy(z0[0].s,"s1");
strcpy(z0[1].s,"s1");
strcpy(z0[2].s,"s1");
strcpy(z0[3].s,"s1");
strcpy(z0[4].s,"s1");
strcpy(z0[5].s,"s2");
strcpy(z0[6].s,"s3");
strcpy(z0[7].s,"s3");
strcpy(z0[8].s,"s3");
strcpy(z0[9].s,"s4");
strcpy(z0[10].s,"s4");
strcpy(z0[11].s,"s5");
strcpy(z0[12].s,"s5");
strcpy(z0[13].s,"s5");
strcpy(z0[14].s,"s5");
strcpy(z0[15].s,"s8");
strcpy(z0[16].s,"s8");
strcpy(z0[0].c,"c1");
strcpy(z0[1].c,"c2");
strcpy(z0[2].c,"c3");
strcpy(z0[3].c,"c4");
strcpy(z0[4].c,"c5");
strcpy(z0[5].c,"c1");
strcpy(z0[6].c,"c1");
strcpy(z0[7].c,"c2");
strcpy(z0[8].c,"c3");
strcpy(z0[9].c,"c1");
strcpy(z0[10].c,"c4");
strcpy(z0[11].c,"c1");
strcpy(z0[12].c,"c2");
strcpy(z0[13].c,"c3");
strcpy(z0[14].c,"c5");
strcpy(z0[15].c,"c1");
strcpy(z0[16].c,"c3");
z0[0].grade=80;
z0[1].grade=70;
z0[2].grade=85;
z0[3].grade=90;
z0[4].grade=70;
z0[5].grade=85;
z0[6].grade=90;
z0[7].grade=85;
z0[8].grade=95;
z0[9].grade=75;
z0[10].grade=70;
z0[11].grade=70;
z0[12].grade=60;
z0[13].grade=80;
z0[14].grade=65;
z0[15].grade=90;
z0[16].grade=95;
z0[0].mark=0;
z0[1].mark=0;
z0[2].mark=0;
z0[3].mark=0;
z0[4].mark=0;
z0[5].mark=0;
z0[6].mark=0;
z0[7].mark=0;
z0[8].mark=0;
z0[9].mark=0;
z0[10].mark=0;
z0[11].mark=0;
z0[12].mark=0;
z0[13].mark=0;
z0[14].mark=0;
z0[15].mark=0;
z0[16].mark=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -