kmplayer中文版-cf改名字
![学生信息管理系统c](/uploads/image/0644.jpg)
2023年4月4日发(作者:手机 youtube)
C语⾔⽤顺序表实现学⽣信息管理系统
#include
#include
#defineMaxSize1000
typedefstructStudent
{
intnum;
charname[20];
intage;
floatscore[10];
/*
//运算符重载
booloperator==(constStudent&datetype)const
{
if((num==)&&(stricmp(name,))&&(age==))
{
intflag=0;
for(inti=0;i<10;i++)
{
if(score[i]==[i])
flag++;
}
if(flag==10)
returntrue;
else
returnfalse;
}
returnfalse;
}
booloperator<(constStudent&datetype)const
{
if((num<)&&(stricmp(name,)<0)&&(age<))
{
intflag=0;
for(inti=0;i<10;i++)
{
if(score[i]<[i])
flag++;
}
if(flag==10)
returntrue;
else
returnfalse;
}
returnfalse;
}
*/
}DateType;
typedefstructSeqList
{
DateTypedata[MaxSize];
intlast;
}SeqList;
//初始化
SeqList*Init_SeqList()
{
SeqList*L=newSeqList;
if(L)
{
L->last=-1;
returnL;
}
}
}
//插⼊算法
intInsert_SeqList(SeqList*L,inti,DateTypex)
{
intj;
if(L->last+1==MaxSize)
return-1;
if(i<1||i>L->last+2)
return0;
for(j=L->last;j>=i-1;j--)
L->data[j+1]=L->data[j];
L->data[i-1]=x;
L->last++;
return1;
}
//删除算法
intDelete_SeqList(SeqList*L,inti)
{
intj;
if(i<1||i>L->last+1)
return0;
for(j=i;j<=L->last;j++)
{
L->data[j-1]=L->data[j];
}
L->last--;
return1;
}
//查找算法
intLocation_SeqList(SeqList*L,DateTypex)
{
inti=0;
while(i<=L->last&&L->data[i].num==)//如果直接进⾏⽐较(L->data[i]==x),会报错。⾃定义的数据类型不能直接⽐较。有多种⽅法,可以解决这个问题
i++;//⼀是,通过运算符重载进⾏⽐较。⼆是,可以直接⽐较其中可以确定的愤恨的信息。如果有其他简单的⽅法,可以共享⼀下呦!
if(i>L->last)
return-1;
else
returni;
}
/*
//划分算法
voidPart_SeqList(SeqList*L)
{
inti,j;
DateTypex,y;
x=L->data[0];
for(i=1;i<=L->last;i++)
{
if(L->data[i]
{
y=L->data[i];
for(j=i-1;j>=0;j--)
{
L->data[j+1]=L->data[j];
}
L->data[0]=y;
}
}
}
*/
//输出学⽣信息
voidprint(SeqList*L)
{
for(inti=0;i<=L->last;i++)
{
printf("%d%10s%2d",L->data[i].num,L->data[i].name,L->data[i].age);
printf("%d%10s%2d",L->data[i].num,L->data[i].name,L->data[i].age);
for(intj=0;j<10;j++)
{
printf("%6.2f",L->data[i].score[j]);
}
printf("n");
}
}
intmain()
{
SeqList*p=Init_SeqList();
intnum;
printf("请输⼊三名同学的学号,姓名,年龄,各科成绩n");
for(inti=0;i<3;i++)
{
p->last++;
scanf("%d%s%d",&p->data[i].num,&p->data[i].name,&p->data[i].age);
for(intj=0;j<10;j++)
scanf("%f",&p->data[i].score[j]);
}
intflag;
printf("请输⼊你需要进⾏的操作:n");
printf("1.插⼊学⽣信息n");
printf("2.删除学⽣信息n");
printf("3.查找学⽣信息n");
printf("4.对学⽣信息进⾏划分n");
scanf("%d",&flag);
//插⼊算法
if(flag==1)
{
DateTypedd;
intlocseat;
printf("请输⼊你需要插⼊的学⽣的信息和位置:n");
p->last++;
scanf("%d%s%d",&,&,&);
for(intj=0;j<10;j++)
scanf("%f",&[j]);
scanf("%d",&locseat);
intinsert_flag=Insert_SeqList(p,locseat,dd);
if(insert_flag==-1)
printf("对不起,表已满,不能进⾏插⼊学⽣信息!!n");
elseif(insert_flag==0)
printf("对不起,你插⼊学⽣信息的位置不对!!n");
else
{
printf("插⼊成功n");
print(p);
}
}
//删除1
if(flag==2)
{
intseat;
printf("请输⼊你需要删除的学⽣信息的位置:n");
scanf("%d",&seat);
intdelete_flag=Delete_SeqList(p,seat);
if(delete_flag==0)
printf("对不起,删除学⽣信息的位置不对!!n");
else
{
printf("删除成功n");
print(p);
}
}
//位置查找1
if(flag==3)
if(flag==3)
{
DateTyped;
printf("请输⼊你需要查找的学⽣的信息:n");
scanf("%d%s%d",&,&,&);
for(intj=0;j<10;j++)
scanf("%f",&[j]);
intlocation_flag=Location_SeqList(p,d);
if(location_flag==-1)
printf("对不起,没有查找到这个学⽣!!n");
else
printf("该学⽣的位置在%dn",location_flag);
}
/*
//划分算法
if(flag==4)
{
Part_SeqList(p);
print(p);
}
*/
return0;
}
更多推荐
学生信息管理系统c
发布评论