kmplayer中文版-cf改名字

学生信息管理系统c
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