C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx

上传人:b****5 文档编号:17652210 上传时间:2022-12-07 格式:DOCX 页数:19 大小:89.67KB
下载 相关 举报
C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx_第1页
第1页 / 共19页
C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx_第2页
第2页 / 共19页
C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx_第3页
第3页 / 共19页
C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx_第4页
第4页 / 共19页
C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx

《C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

C语言实验学生成绩管理完整中南大学整理Word文档下载推荐.docx

数据修改的主要功能是为修改数据输入出现的错误,实现:

先指定该生的学号,找到该生,再输出该生当前的信息,用一个if语句对数据进行修改,再用一个循环语句对选修课信息进行修改。

3.数据插入:

数据插入的主要功能是在数据录入之后,为防止数据输入的遗漏,实现:

分为两个部分,第一个是插入第一个位置,第二是插入第一个位置之后,把当前的位置赋给后面的加以实现。

4.数据查询:

数据查询的主要功能是在数据输入之后进行分类再现,实现:

分为输出所有数据,按学号查询,按姓名查询,当输入的数据满足条件时即输出所要求的。

5.数据删除:

数据删除的主要功能是在数据录入、数据插入和数据修改完成之后对无用数据进行删除,实现:

输入学号,满足条件时即把后一个数值赋给前一个数值,达到删除的目的。

6.平均值计算:

平均值计算的主要功能是求平均值,再对其进行排序,实现:

用公式进行计算求平均值,之后便是排序问题,求最大值,然后依次输出各最大值,即实现了排序功能。

7.列出不及格学生清单:

这部分的主要功能是列出不及格学生清单,实现:

用一个判断语句,当分数小于60时,即输出相应的学生信息即可。

五、系统框图

六、系统流程图

七、界面设计

·

系统运行界面(部分)如下:

图1——主界面

图2——主菜单

图3——录入数据

图4——修改数据

图5——插入数据

图6——数据查询

图7——计算平均成绩

图8——不及格学生统计

八、程序代码

#include<

stdio.h>

windows.h>

string.h>

#include<

stdlib.h>

main()

{

inti,w=0,u/*被选中学生的下标*/,f/*科目数量*/。

into=0/*学生总数*/,p=0,g[50]/*每个学生的选修课程数量*/,a,x,b/*新增学生个数*/,xx/*当前学生班级*/。

charxm[50]/*当前学生姓名*/,h[10]。

charoo/*判断是否继续*/,q。

floats[50]/*平均成绩*/,max,al[50]。

longqq。

structstudent

{

inti。

/*班级*/

longj。

/*学号*/

charm[30]。

/*姓名*/

charn[10]。

/*性别*/

intx。

/*年龄*/

}c[50]。

structscore

intq。

/*课程编号*/

charw[50]。

/*课程名称*/

floate。

/*学分*/

floatr。

/*考试成绩*/

floatt。

/*平时成绩*/

doubley。

/*综合成绩*/

}z[50][10]。

printf("

\n\n*******************************************************************************\n\n\n欢迎进入\n\n学生成绩管理系统\n\n\n设计者:

剽悍的小白兔090909XXXX\n\n指导教师:

TZ\n\nXX大学信息科学与工程学院电气09XX班\n\n\n2010年7月\n\n\n*******************************************************************************\nPressEntertoContinue"

)。

getchar()。

system("

CLS"

while

(1)

system("

\n\n*******************************************************************************\n系统主菜单\n\n1.录入数据\n\n2.修改数据\n\n3.插入数据\n\n4.数据查询\n\n5.删除数据\n\n6.平均成绩计算\n\n7.列出不及格学生清单\n\n8.退出系统\n\n"

请输入一个数字来选择目录:

\n\n"

scanf("

%d"

&

i)。

if(i==1)/*1.录入数据*/

printf("

录入数据\n\n"

while

(1)

{

\n请输入要录入的学生个数:

\n"

scanf("

b)。

if(b<

1)printf("

\n输入错误!

\n请输入要录入的学生个数\n"

elseif(b>

=1)

for(a=0。

a<

b。

a++)

{

printf("

\n请输入第%d个学生的基本信息:

\n\n班级学号姓名性别年龄\n"

a+1)。

scanf("

%d%ld%s%s%d"

c[o+a].i,&

c[o+a].j,&

c[o+a].m,&

c[o+a].n,&

c[o+a].x)。

\n请输入此学生选修课程数量:

f)。

g[o+a]=f。

for(i=0。

i<

f。

i++)

{

printf("

\n请输入该学生第%d门选修课程信息:

\n\n课程编号课程名称学分考试成绩平时成绩\n"

i+1)。

scanf("

%d%s%f%f%f"

z[o+a][i].q,&

z[o+a][i].w,&

z[o+a][i].e,&

z[o+a][i].r,&

z[o+a][i].t)。

}

}

}

o=p+b。

p=b。

getchar()。

\n是否继续输入y/n?

%s"

h)。

if(strcmp(h,"

n"

)==0)break。

elseif(strcmp(h,"

y"

)==0)system("

}

elseif(i==2)/*2.修改数据*/

修改数据\n"

if(o==0)printf("

\n系统内没有学生信息"

else

while

(1)

{

printf("

\n请输入要修改数据的学生的学号:

scanf("

%ld"

qq)。

w=0。

o。

if(qq==c[a].j)

该学生当前信息:

班级:

%d学号:

%ld姓名:

%s性别:

%s年龄:

%d\n"

c[a].i,c[a].j,c[a].m,c[a].n,c[a].x)。

u=a。

w=w+1。

if(w==0){printf("

输入错误!

"

break。

}

\n请输入数字选择要修改的数据:

\n1.班级2.学号3.姓名4.性别5.年龄6.选修课程信息\n"

if(i!

=6)printf("

\n请输入修改后数据:

if(i==1)scanf("

c[u].i)。

elseif(i==2)scanf("

c[u].j)。

elseif(i==3)scanf("

c[u].m)。

elseif(i==4)scanf("

c[u].n)。

elseif(i==5)scanf("

c[u].x)。

elseif(i==6)

\n该学生选修课当前信息:

g[u]。

课程编号:

%d课程名称:

%s学分:

%3.1f考试成绩:

%3.1f平时成绩:

%3.1f\n"

z[u][i].q,z[u][i].w,z[u][i].e,z[u][i].r,z[u][i].t)。

\n请输入要修改的数据的当前选修课程编号:

x)。

if(x==z[u][i].q)

{

printf("

1.课程编号2.课程名称3.学分4.考试成绩5.平时成绩\n"

scanf("

xx)。

if(xx==1)scanf("

z[u][i].q)。

elseif(xx==2)scanf("

z[u][i].w)。

elseif(xx==3)scanf("

%f"

z[u][i].e)。

elseif(xx==4)scanf("

z[u][i].r)。

elseif(xx==5)scanf("

z[u][i].t)。

elseprintf("

w=w+1。

}

if(w==0)printf("

}

else{printf("

\n\n是否继续修改此学生信息y/n?

if(strcmp(h,"

elseif(strcmp(h,"

}

\n\n是否继续下一学生信息y/n?

elseif(i==3)/*3.插入数据*/

插入数据"

\n是否要将信息插入到第一个位置y/n?

)==0)

\n请输入要插入位置前一个学生的学号:

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

\n班级学号姓名性别年龄\n"

for(u=o。

u>

a。

u--)

c[u+1]=c[u]。

for(i=0。

z[u+1][i]=z[u][i]。

g[u+1]=g[u]。

c[a+1].i,&

c[a+1].j,&

c[a+1].m,&

c[a+1].n,&

c[a+1].x)。

o=o+1。

是否添加该学生的选修课程信息y/n?

if(strcmp(h,"

g[a+1]=f。

\n请分别输入该学生选修课程信息:

{

scanf("

z[a+1][i].q,&

z[a+1][i].w,&

z[a+1][i].e,&

z[a+1][i].r,&

z[a+1][i].t)。

}

for(u=o。

=0。

c[u+1]=c[u]。

z[u+1][i]=z[u][i]。

g[u+1]=g[u]。

c[0].i,&

c[0].j,&

c[0].m,&

c[0].n,&

c[0].x)。

o=o+1。

g[0]=f。

z[0][i].q,&

z[0][i].w,&

z[0][i].e,&

z[0][i].r,&

z[0][i].t)。

\n\n是否继续插入下一学生信息y/n?

elseif(i==4)/*4.数据查询*/

数据查询\n"

for(a=0。

for(i=0。

g[a]。

z[a][i].y=z[a][i].r*0.7+z[a][i].t*0.3。

\n\n*******************************************************************************\n\n数据查询\n\n\n1.显示全部数据\n\n2.按学号查询\n\n3.按姓名查询\n\n4.返回主菜单"

\n\n请输入一个数字来选择目录:

p)。

if(p==1)

%3.1f综合成绩:

z[a][i].q,z[a][i].w,z[a][i].e,z[a][i].r,z[a][i].t,z[a][i].y)。

elseif(p==2)

请输入要查询学生的学号:

for(i=0。

w=w+1。

if(w==0)printf("

此学号不存在!

elseif(p==3)

请输入要查询学生的姓名:

xm)。

if(strcmp(xm,c[a].m)==0)

{

%3.1f综合成绩%3.1f\n"

此姓名不存在!

 

elseif(p==4)

break。

elseprintf("

\n\n是否返回数据查询界面y/n?

elseif(i==5)/*5.删除数据*/

删除数据"

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

if(qq==c[a].j)

for(i=a。

c[i]=c[i+1]。

for(u=0。

u<

g[i]。

u++)

z[i][u]=z[i+1][u]。

g[i]=g[i+1]。

\n已删除\n\n"

o=o-1。

if(w==0)printf("

\n该学生不存在!

\n\n是否继续删除学生数据y/n?

elseif(i==6)/*6.平均成绩计算*/

平均成绩计算"

\n按平均成绩从高到低的次序输出学生信息:

al[a]=0。

for(u=0。

al[a]=al[a]+z[a][u].t。

s[a]=al[a]/g[a]。

max=s[a]。

for(u=a。

if(s[u]>

max)

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

当前位置:首页 > 高中教育 > 理化生

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

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