ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:64.76KB ,
资源ID:20259034      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20259034.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生成绩管理系统设计1Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生成绩管理系统设计1Word文档下载推荐.docx

1、)和switch()实现对各函数的调用,系统根据输入的数字选项来调用相应的函数,实现相应的功能。(2)菜单函数int menu_select()函数功能:使用者通过输入数字选项实现对各功能的使用。当运行完任一功能,返回运行界面时,也要用到该函数。使用do-while循环进行菜单选择,在循环内用getchar()读如所选择的序号,并且每次运行都运用system(cls)进行清屏。(3)输入记录函数int input(student stud,int n)输入学生学号、姓名和成绩,输入后有一个提示语句是否继续输入。根据需要选择Y:继续输入记录;选择N:停止输入。使用while循环和标准输入函数进行

2、数据的输入。(4)显示所有记录函数void Display(student stud,int n) 函数功能:将输入的所有记录显示在运行界面,或将按成绩排序后的记录显示在界面。 算法描述:使用for循环进行循环输出,循环内运用if语句使十条数据可以实现暂停功能。其中还包含了一些辅助的使界面更简洁、清晰的语句(5)排序函数void sort_by_score(student stud ,int n)按学生成绩由高到底的顺序进行排序。运用简单冒泡法排序,排序后通过显示记录功能将排序后的记录显示在界面。(6)插入记录函数 int Insert_a_record(student stud int n)

3、插入学生信息,包括学生学号、姓名和成绩,插入同时按成绩进行排序,并显示“添加成功”。使用标准的输入函数输入一条学生记录,带到返回值中,并调用排序函数将该学生记录插入到排好序的记录中。(7)删除记录函数int Delete_a_record(student stud,int n)按学号将需要删除的记录删除。首先输入学号,判断是否存在该学生记录:如果存在,回车后,显示“删除成功”;如果不存在,显示“无法找到该信息”。运用标准输入函数输入需要删除记录的学生的学号,通过用while循环查找该学生信息,再运用if语句看是否存在该学生,无则返回“无法找到该信息”,有则运用for循环进行删除操作,即找到记录

4、后用后面记录覆盖前面的记录。这种方法虽不是直接将记录删除,只是将后边的学生记录复制到要删除的学生记录,但实现的功能是相同的。执行完删除命令后返回“删除成功”。(8)查询函数void Query_a_record(student stud ,int n)定义该函数为无返回值的的有参函数,根据输入的姓名查找并显示学生的学号、姓名和成绩。运用标准的输入函数输入要查找的学生姓名,然后进行while循环,用if语句进行判断是否存在该学生信息,无则显示“无法找到该信息”,有则将该学生信息运用标准输出函数输出。(9)统计系统信息函数void Statistic(student stud,int n)统计输入

5、的学生信息,包括记录总数,成绩最低和最高学生的学号、姓名和成绩,以及所有学生的平均成绩和挂科学生(即成绩小于60分)的信息。首先统计记录的条数输出总共的记录条数,然后对所有成绩求和,存入sum变量中,再求平均值并将平均值输出。用两条if语句找到最高分和最低分,并分别将他们的信息输出。最后运用for循环并定义flag作为标记挂科的变量,即当flag=1时,该学生挂科,输出他的信息。若没有学生挂科,则输出“无学生挂科”。(10)读取信息函数int AddfromText(stuent stud,int n)定义该函数为一个有返回值的有参函数,根据输入的文件名进行读取记录。运用标准输入函数输入文件名

6、,通过if语句判断,如果有该文件则打开,并使用fscanf进行操作,无该文件则显示“打开失败”。(11)存储信息函数void WritetoText(student stud,int n)该函数定义为无返回值的有参函数,可以把学生记录保存自己命名的文件中。运用while循环进行存储,并使用fprintf,存储完成之后显示“操作成功”,可以使用读取功能读取此文件的内容。4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施(1) 设计难点设计难点包括:数组的调用、按成绩运用冒泡法进行排序、查找挂科学生信息和文件的使用以及怎样将记录存储到指定文件等。(2) 解决方

7、法通过看书以及请教同学或者XX相关知识将难点一一解决。5、源程序清单执行结果#include /*引用库函数*/ stdlib.hctype.hstring.h char num10; char name20; int score; /*结构体数组变量*/ int menu_select() /*菜单函数*/ char c; do system(color 1A); /*设置界面颜色*/ /*运行前清屏*/ printf(tt 欢迎使用学生信息管理系统 ntt *学生管理信息系统* n /*菜单选择*/ tt * 1. 请输入学生的信息 ntt * 2. 显示所有学生记录 ntt * 3. 所

8、有学生成绩排序 ntt * 4. 添加学生管理信息 ntt * 5. 删除学生错误记录 ntt * 6. 查询学生成绩信息 ntt * 7. 统计系统学生信息 ntt * 8. 从正文中添加记录 ntt * 9. 将记录存储到文件中 ntt * 0. 退出学生管理信息系统 ntt 请选择使用选项:(0-9): c=getchar(); /*读入选择*/ while(c9 return(c- /*返回选择*/ int Input(Student stud,int n) /*输入若干条记录*/ int i=0; char sign,x10; /*x10为清除多余的数据所用*/ while(sign

9、!=n&sign!N) /*判断*/ ttt请输入学生证号: /*交互输入*/ scanf(ttt%s,studn+i.num);ttt请输入学生姓名:,studn+i.name);ttt请输入学生成绩:ttt%d,&studn+i.score); gets(x); /*清除多余的输入*/ ttt是否继续输入记录?(Y/N)ttt%csign); /*输入判断*/ i+; return(n+i);void Display(Student stud,int n) /*显示所有记录*/ int i; printf(ttt_n /*格式头*/ ttt学生证号 姓名 成绩n for(i=1;in+1;

10、i+) /*循环输入*/ ttt%-16s%-15s%dn,studi-1.num,studi-1.name,studi-1.score); system(pausevoid Sort_by_score(Student stud,int n) /*按成绩排序*/ int i,j,*p,*q,s; char t10; for(i=0;n-1;i+) /*冒泡法排序*/ for(j=0;jn-1-i;j+) if(studj.scorestudi.score) j=i; if(studk.scorestudi.score) k=i; aver=1.0*sum/n;ttt总计 %d 记录n,n);

11、/*总共记录数*/ ttt最高学生成绩: /*最高分*/ ttt平均成绩: %5.2fn,aver); /*平均分*/ %s 姓名:%s 成绩:,studk.num,studk.name,studk.score);ttt最低学生成绩: /*最低分*/ ,studj.num,studj.name,studj.score);nttt挂科学生信息:i+) flag=0; if(studi.score60) flag=1; +m; if(flag=1),studi.num,studi.name,studi.score); if(m) printf(ttt挂科人数为:,m); else printf(t

12、tt无学生挂科!int AddfromText(Student stud,int n) /*从文件中读入数据*/ int i=0,num; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ ttt请输入文件名:,filename); /*输入文件名*/ if(fp=fopen(filename,rb)=NULL) /*打开文件*/ ttt无法打开文件! /*打开失败信息*/ ; fscanf(fp,%dnum); /*读入总记录量*/ while(inum) /*循环读入数据*/ fscanf(fp,%s%s%d,studn+i.num,studn

13、+i.name,& n+=num; fclose(fp); /*关闭文件*/ ttt成功!tttvoid WritetoText(Student stud,int n) /*将所有记录写入文件*/ ttt从正文中添加记录:w fprintf(fp, /*循环写入数据*/ n) fprintf(fp,%-16s%-15s%dn成功!void main() /*主函数*/ int n=0; for(;) switch(menu_select() /*选择判断*/ case 1: printf(ttt请输入学生信息记录: /*输入若干条记录*/ n=Input(stu,n); break; case

14、 2:ttt显示所有学生信息记录: /*显示所有记录*/ Display(stu,n); break; case 3:ttt学生信息排序n Sort_by_score(stu,n); /*按学号排序*/ ttt学生信息排序成功! system( case 4:ttt添加学生管理记录n n=Insert_a_record(stu,n); /*插入一条记录*/ case 5:ttt删除错误学生信息记录n n=Delete_a_record(stu,n); /*按姓名查找,删除一条记录*/ case 6:ttt查询学生成绩信息n Query_a_record(stu,n); /*查找并显示一个记录*/ case 7:nttt统计系统学生信息: Statistic(stu,n); /*新增功能,输出统计信息*/ case 8: n=AddfromText(stu,n); case 9:ttt将所有记录存储到文件中n WritetoText(stu,n);

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

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