1、数据修改的主要功能是为修改数据输入出现的错误,实现:先指定该生的学号,找到该生,再输出该生当前的信息,用一个if语句对数据进行修改,再用一个循环语句对选修课信息进行修改。3. 数据插入: 数据插入的主要功能是在数据录入之后,为防止数据输入的遗漏,实现:分为两个部分,第一个是插入第一个位置,第二是插入第一个位置之后,把当前的位置赋给后面的加以实现。4数据查询:数据查询的主要功能是在数据输入之后进行分类再现,实现:分为输出所有数据,按学号查询,按姓名查询,当输入的数据满足条件时即输出所要求的。5数据删除:数据删除的主要功能是在数据录入、数据插入和数据修改完成之后对无用数据进行删除,实现:输入学号,
2、满足条件时即把后一个数值赋给前一个数值,达到删除的目的。6平均值计算:平均值计算的主要功能是求平均值,再对其进行排序,实现:用公式进行计算求平均值,之后便是排序问题,求最大值,然后依次输出各最大值,即实现了排序功能。7. 列出不及格学生清单:这部分的主要功能是列出不及格学生清单,实现:用一个判断语句,当分数小于60时,即输出相应的学生信息即可。五、系统框图六、系统流程图七、 界面设计系统运行界面(部分)如下: 图1主界面 图2主菜单图3录入数据 图4修改数据 图5插入数据图6数据查询 图7计算平均成绩 图8不及格学生统计八、程序代码#includewindows.hstring.h#inclu
3、de main() int i,w=0,u/*被选中学生的下标*/,f/*科目数量*/。int o=0/*学生总数*/,p=0,g50/*每个学生的选修课程数量*/,a,x,b/*新增学生个数*/,xx/*当前学生班级*/。char xm50/*当前学生姓名*/,h10。char oo/*判断是否继续*/,q。float s50/*平均成绩*/,max,al50。long qq。 struct student int i。/*班级*/ long j。/*学号*/ char m30。/*姓名*/ char n10。/*性别*/ int x。/*年龄*/ c50。 struct score int
4、 q。/*课程编号*/ char w50。/*课程名称*/ float e。/*学分*/ float r。/*考试成绩*/ float t。/*平时成绩*/ double y。/*综合成绩*/ z5010。 printf(nn*nnn 欢 迎 进 入nn 学生成绩管理系统nnn 设计者:剽悍的小白兔 090909XXXXnn 指导教师:TZnn XX大学 信息科学与工程学院 电气09XX班nnn 2010年7月nnn*n Press Enter to Continue)。 getchar()。system(CLS while(1) system(nn*n 系统主菜单nn1.录入数据nn2.修改
5、数据nn3.插入数据nn4.数据查询nn5.删除数据nn6.平均成绩计算nn7.列出不及格学生清单nn8.退出系统nn请输入一个数字来选择目录:nn scanf(%d,&i)。 if(i=1)/*1.录入数据*/ printf( 录入数据nn while(1) n请输入要录入的学生个数:n scanf(b)。 if(b=1) for(a=0。ab。a+) printf(n请输入第%d个学生的基本信息:nn班级 学号 姓名 性别 年龄n,a+1)。 scanf(%d %ld %s %s %dco+a.i,&co+a.j,&co+a.m,&co+a.n,&co+a.x)。n请输入此学生选修课程数量
6、: f)。 go+a=f。 for(i=0。ia。u-) cu+1=cu。 for(i=0。 zu+1i=zui。 gu+1=gu。ca+1.i,&ca+1.j,&ca+1.m,&ca+1.n,&ca+1.x)。 o=o+1。是否添加该学生的选修课程信息y/n? if(strcmp(h, ga+1=f。n请分别输入该学生选修课程信息: scanf(za+1i.q,&za+1i.w,&za+1i.e,&za+1i.r,&za+1i.t)。 for(u=o。=0。 cu+1=cu。 zu+1i=zui。 gu+1=gu。c0.i,&c0.j,&c0.m,&c0.n,&c0.x)。 o=o+1。 g
7、0=f。z0i.q,&z0i.w,&z0i.e,&z0i.r,&z0i.t)。nn是否继续插入下一学生信息y/n? else if(i=4)/*4.数据查询*/ 数据查询n for(a=0。 for(i=0。ga。 zai.y=zai.r*0.7+zai.t*0.3。nn*nn 数 据 查 询nnn1.显示全部数据nn2.按学号查询nn3.按姓名查询nn4.返回主菜单nn请输入一个数字来选择目录:p)。 if(p=1)%3.1f 综合成绩:,zai.q,zai.w,zai.e,zai.r,zai.t,zai.y)。 else if(p=2)请输入要查询学生的学号: for(i=0。 w=w+1。 if(w=0) printf(此学号不存在! else if(p=3)请输入要查询学生的姓名:xm)。 if(strcmp(xm,ca.m)=0) %3.1f 综合成绩%3.1fn此姓名不存在! else if(p=4) break。 else printf(nn是否返回数据查询界面y/n? else if(i=5)/*5.删除数据*/ 删除数据n请输入要删除的学生的学号: if(qq=ca.j) for(i=a。 ci=ci+1。 for(u=0。umax)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1