c语言学生管理系统文档格式.docx

上传人:b****3 文档编号:18248625 上传时间:2022-12-14 格式:DOCX 页数:30 大小:18.42KB
下载 相关 举报
c语言学生管理系统文档格式.docx_第1页
第1页 / 共30页
c语言学生管理系统文档格式.docx_第2页
第2页 / 共30页
c语言学生管理系统文档格式.docx_第3页
第3页 / 共30页
c语言学生管理系统文档格式.docx_第4页
第4页 / 共30页
c语言学生管理系统文档格式.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

c语言学生管理系统文档格式.docx

《c语言学生管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《c语言学生管理系统文档格式.docx(30页珍藏版)》请在冰豆网上搜索。

c语言学生管理系统文档格式.docx

\t\t\t\t3按一门课成绩顺序排序\n"

\t\t\t\t4按一门课成绩降序排序\n"

\t\t\t\t5返回上级菜单\n"

\t\t\t\t6返回主系统\n"

//按某门课成绩排序菜单

voidmenupx3()

inti;

for(i=1;

i<

=n;

i++)

*%d按科目%d的成绩排序\n"

i,i);

//学生信息维护菜单

voidmenuxxwh()

\n\n\n\t\t\t\*************学生信息维护*************\n"

\n\t\t\t\t1显示所有学生信息\n"

\t\t\t\t2计算每个学生的总分和平均分\n"

\t\t\t\t3按学号查找一个同学\n"

\t\t\t\t4按姓名查找一个同学\n"

\t\t\t\t5按学号删除一个同学的信息\n"

\t\t\t\t6按姓名删除一个同学的信息\n"

\t\t\t\t7添加一个同学的信息\n"

\t\t\t\t8修改一个同学的信息\n"

\t\t\t\t9返回上级菜单\n"

\t\t\t\t10返回主系统\n"

//链表

link*creat()

link*head,*p;

inti,j=0;

FILE*fp1;

head=NULL;

p=(link*)malloc(sizeof(link));

if(p==NULL)

printf("

申请内存出错!

"

else

head=p;

已正确读取文件\n"

m,n);

fp1=fopen("

输入.txt"

"

r"

if(fp1==NULL)

读取文件失败!

while(j<

m)

j++;

fscanf(fp1,"

%d%s%s"

&

p->

number,p->

name,p->

sex);

for(i=0;

n;

%d"

score[i]);

next=(link*)malloc(sizeof(link));

if(p->

next==NULL)

if(j==m)

p->

next=NULL;

p=p->

next;

fclose(fp1);

returnhead;

}

//信息输入到文件

voidfscan(link*head)

FILE*fp;

link*t;

inti,j;

t=head;

fp=fopen("

输出.txt"

w+"

if(fp==NULL)

文件处理错误!

else

fprintf(fp,"

学号姓名性别"

for(j=1;

j<

j++)

科目%d"

j);

\n"

while(t!

=NULL)

%4d%s%s"

t->

number,t->

name,t->

%4d"

t=t->

fclose(fp);

信息已写入文件!

/*//链表复制

link*copcreat(link*head)

link*p,*q,*h,*t=NULL;

inti;

p=head;

h=NULL;

q=(link*)malloc(sizeof(link));

if(q==NULL)

h=q;

while(p!

q->

ave=p->

ave;

number=p->

number;

for(i=0;

{

q->

score[i]=p->

score[i];

}

sum=p->

sum;

strcpy(q->

name);

sex,p->

if(q->

{p=p->

t=q;

q=q->

t->

returnh;

*/

//显示学生信息

voidprint(link*head)

link*t,*h;

t=h=head;

"

****"

学生信息"

//计算每个同学的总分、平均分

link*sum(link*head)

link*p;

p=head;

while(p!

p->

sum=0;

ave=0;

sum+=p->

sum/n;

//输出成绩、总分、平均分

voidprint1(link*head)

*****"

学生成绩和总分"

总分平均分\n"

%.2f"

sum);

ave);

//排序

//按总分顺序排序

link*sumsxpx(link*head)

link*p,*q,*temp;

temp=(link*)malloc(sizeof(link));

for(p=head;

p!

=NULL;

p=p->

next)

for(q=p->

q!

q=q->

{

if(p->

sum>

sum)

temp->

temp->

{

temp->

}

strcpy(temp->

p->

sum=q->

ave=q->

number=q->

for(i=0;

p->

score[i]=q->

strcpy(p->

name,q->

sex,q->

q->

sum=temp->

ave=temp->

number=temp->

q->

score[i]=temp->

strcpy(q->

name,temp->

sex,temp->

}

}

//按总分降序排序

link*sumjxpx(link*head)

sum<

//按一门课顺序排序

link*scoresxpx(link*head)

link*h=head;

link*p,*q,*temp;

inta,i;

请选择一门课科目:

scanf("

a);

score[a-1]>

score[a-1])

//按一门课降序排序

link*scorejxpx(link*head)

score[a-1]<

//按学号查找一个同学信息

link*findxh(link*head)

intx;

link*h,*t=NULL;

请输入学生的学号\n"

scanf("

x);

for(h=head;

h!

h=h->

if(x==h->

number)

t=h;

break;

returnt;

//按姓名查找一个同学

link*findxm(link*head)

charstr[10];

link*h,*t=NULL;

请输入学生的姓名\n"

getchar();

gets(str);

for(h=head;

if(strcmp(h->

name,str)==0)

//按学号删除一个同学

link*delxh(link*head)

intkey,k=0;

link*h,*t,*p;

h=t=p=head;

请输入要删除的学生的学号:

key);

for(;

k++;

if(k>

2)

t=t->

if((key==p->

number)&

&

(k==1))

h=p->

elseif(key==p->

number&

k>

1)

{

next=p->

elseif(key==p->

t=NULL;

returnh;

//按姓名删除一个同学

link*delxm(link*head)

intk=0;

charstr[10];

请输入要删除的学生的姓名:

getchar();

gets(str);

if((strcmp(p->

name,str)==0)&

elseif(strcmp(p->

name,str)==0&

elseif(strcmp(p->

//添加一个学生信息

link*add(link*head)

link*h,*h1;

inti,k=0;

h1=(link*)malloc(sizeof(link));

请输入要添加学生的信息:

学号姓名性别"

i+1);

h1->

number,h1->

name,h1->

h1->

next=head;

h=h1;

//修改一个同学的信息

link*xg(link*t)

link*p=t;

请输入这个同学的所有信息:

returnp;

//主函数

main()

inta,b,c,i,j;

link*h,*t,*d;

link*f,*p;

L:

\n\n\n\n\n\n\t\t\t\********欢迎使用学生信息管理系统********\n"

\n\n\t\t\t\t制作人:

\n\n\t\t\t\t请输入学生数和科目数:

%d%d"

m,&

n);

H:

system("

cls"

menu();

while

(1)

switch(a)

case1:

h=creat();

}

break;

case2:

print(h);

}break;

case3:

{system("

c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1