文档库 最新最全的文档下载
当前位置:文档库 › 学生表的排序和插入操作(VC完成)

学生表的排序和插入操作(VC完成)


// shiyan4.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include
#include
#include
struct Student
{
char id[10];
char name[10];
int math;
int chinese;
int english;
};

void ShowAll(Student data[10])
{
for(int i=0;i<10;i++)
{
/*printf("ID=%s\n",data[i].id);
printf("NAME=%s\n",data[i].name);
printf("MATH=%d\n",data[i].math);
printf("ID=%s\n",data[i].id); */
cout<<"ID="<}
};
void shunxu(Student data[10],int xuehao)
{

for(int i=0;i<10;i++)
{
if(xuehao==atoi(data[i].id))
{
cout<<"ID找到"<cout<<"ID="<}
else
cout<<"没有符合条件的记录!"<}
};
void zheban(Student data[10],int xuehao,int start,int end)
{
printf("开始");
cout<<"折半查找从"<int mid=(start+end)/2;
printf("mid=%d",mid);
if(xuehao==atoi(data[mid].id))
{
cout<<"ID找到"<cout<<"ID="<}
else if(xuehao>atoi(data[mid].id))
{
start=mid+1;
zheban(data,xuehao,start,end);
}
else
{
end=mid-1;
zheban(data,xuehao,start,end);
}
};
void charu(Student data[10])
{
int i,j;
Student temp;
for(i=1;i<10;i++)
{
temp=data[i];
j=i;
while(j>0 && temp.math{
data[j]=data[j-1];
j--;
}
data[j]=temp;
}
ShowAll(data);
}
void xuanze(Student data[10])
{
int i,j;
Student temp;
for(i=0;i<9;i++)
{
int k=i;
for(j=i+1;j<10;j++)
if(data[j].chineseif(k!=i)
{
temp=data[i];
data[i]=data[k];
data[k]=temp;
}
}
ShowAll(data);
}
void maopao(Student data[10])
{
Student temp;
for(int i=1;i<10;i++)
for(int j=0;j<10-i;j++)
if(data[j].english>data[j+1].english)
{
temp=data[j];
data[j]=data[j+1];
data[j+1]=temp;
}
ShowAll(data);
}


int main(int argc, char* argv[])
{
printf("Hello World!\n");
Student s[10];
for(int i=0;i<10;i++)
{
char res[10];
sprintf(res,"%s%d","12345678",i);
strcpy(s[i].id,res);
strcpy(s[i].name,res);

}

s[0].math=84;

s[0].chinese=82;

s[0].english=91;

s[1].math=80;

s[1].chinese=45;

s[1].english=93;

s[2].math=90;

s[2].chinese=86;

s[2].en

glish=92;

s[3].math=96;

s[3].chinese=69;

s[3].english=99;

s[4].math=87;

s[4].chinese=77;

s[4].english=89;

s[5].math=85;

s[5].chinese=84;

s[5].english=87;

s[6].math=55;

s[6].chinese=88;

s[6].english=96;

s[7].math=66;

s[7].chinese=85;

s[7].english=32;

s[8].math=88;

s[8].chinese=78;

s[8].english=56;

s[9].math=79;

s[9].chinese=67;

s[9].english=95;
ShowAll(s);
int x;
while(x!=0)
{
cout<<"1——查找"<cout<<"2——排序"<cout<<"0——退出"<cin>>x;
if(x==1)
{
cout<<"4——顺序查找"<cout<<"5——折半查找"<cout<<"6——退出查找"<int xx;
cin>>xx;
if(xx==4)
{
int uid;
cout<<"ID="<cin>>uid;
shunxu(s,uid);
}
if(xx==5)
{
int uid;
cout<<"ID="<cin>>uid;
zheban(s,uid,0,9);
}
if(xx==6) break;

}
if(x==2)
{
cout<<"7——插入排序"<cout<<"8——选择排序"<cout<<"9——冒泡排序"<cout<<"10——退出排序"<int xy;
cin>>xy;
if(xy==7) charu(s);
else if(xy==8) xuanze(s);
else if(xy==9) maopao(s);
else break;
}
if(x==0)
break;
}
return 0;
}


相关文档
相关文档 最新文档