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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(数据结构课程设计报告学生成绩管理系统.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数据结构课程设计报告学生成绩管理系统.doc

1、 淮 海 工 学 院 计算机工程学院 课程设计报告 设计名称: 数据结构课程设计 选题名称: 学生成绩管理系统 系 (院): 计算机工程学院 设计时间: 2013.12.23~2013。1.5 设计地点: 软件工程实验室、教室 指导教师评语: 签名: 年 月 日 数据结构课程设计报告 第 22 页,共 页 1.课程设计目的 1、训练学

2、生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3。提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4。训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。 2.课程设计任务与要求: 任务 根据教材《数据结构—C语言描述》(耿国华主编)和参考书《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、

3、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。 设计题目从任务书所列选题表中选取,每班每题不得超过2人。 学生自选课题 学生原则上可以结合个人爱好自选课题,要求课题有一定的深度与难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。学生自选课题需在18周前报课程设计指导教师批准方可生效。 要求: 1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率.在程序设计阶段应尽量利用已有的

4、标准函数,加大代码的重用率。 2、。设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。 3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释; 4、每位同学需提交可独立运行的程序; 5 、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算); 6、课程设计实践作为培养学生动手能力的一种手段,单独考核。 3.课程设计说明书 一 需求分析 该程序是模拟成绩管理系统,实现对学生成绩的录入,修改,插入,查询,删除,排序,统计等基本功能,本程序有以下规定: 1. 管理员可以进行学生信息的录入

5、包括姓名,学号,班级,性别,各科成绩等信息 2. 管理员和学生都可以进行成绩的查询(通过姓名,学号进行查询) 3. 管理员还可以对学生信息进行管理(修改(整个或者单个记录项进行修改),插入(在已有的信息下进行有顺序的插入),删除(将整个记录删除)),排序(按各科成绩高低进行排序,或者按姓名进行排序,或者是按学号进行排序),统计(各个学科的最高分,最低分,及格率)。 二 概要设计 l 系统用到的抽象数据类型定义: ADT LinearList{ 数据元素:D={ai|ai∈D0,i=1,2,…,n,n≥0,D0为某一数据对象} 关系:S={〈ai,ai+1〉|ai,ai+1∈D

6、0,i=1,2,…,n—1} 基本操作: Locate(L,e) DestroyList(L) ClearList(L) GetData(L,i) InsList(L,i,e) DelList(L,i,&e) }ADT LinearList l 系统中的子程序和功能说明: fprint(StudentList *st) 保存到文件 StudentList *create(StudentList *st,int n) Createseq(StudentList *st)录入学生信息 Amst(StudentList *st, char name[])修改学生信息 In

7、sertst(StudentList *st)插入学生信息 Deletest(StudentList *st,StudentType *e)删除学生信息 Search(StudentList *st,char n[20])学生信息查询系统 Sort(StudentList *st,char sc[20])学生信息排序系统 Jige(StudentList st,char subnum[20]) 统计学科及格率 Bestscore(StudentList st,char subnum[]) 统计学科最高分 Leastscore(StudentList st,char subnum

8、[])统计学科最低分 Menu()主菜单 menu(StudentList *st)小菜单 main()主函数 l 功能实现过程 void Createseq(StudentList *st) 录入学生信息 { 输入学生的个数; 输入学生信息项的个数; 输入学生信息项的表头; for(j=1;j<=len;j++) 输入表头信息; 依次录入学生信息: for(i=1;i<=a;i++) { for(j=1;j〈=学生信息项的个数;j++) 输入学生信息; } 是否保存信息(输入1或者2): 输入选择; if

9、选择为1) 调用保存函数; if(选择为2) 输出未保存; 输出学生信息; } void Amst(StudentList *st, char name[]) 修改学生信息 { for(i=1;i〈=len;i++) { if(输入的修改名字和记录中的学生的名字相同) 找到该学生的位置; } 输入你要修改的该学生记录项; for(j=1;j〈=a;j++) 找到该记录项; 输入修改后的信息; 显示修改的学生的信息; } int Deletest(StudentList *st,StudentType *e) 删除学生

10、信息 { 输入删除的位置; if(删除的位置不在范围内) 输出删除的位置不合法; 找到该位置进行删除; 输出删除后全部学生信息; } int Search(StudentList *st,char n[20]) 查询学生信息 { for(int i=1;i<=st—>length;i++) { for(j=1;j〈=st—>stunum;j++) { if(学生某个信息与记录项相同) 找到该位置; } } 输出查找到的学生的信息; 否则的话输出你

11、查找的学生不存在; } int Sort(StudentList *st,char sc[20]) 对学生信息排序 { for(j=1;j<=st-〉stunum;j++) { 找到要进行排序的那一列; } 进行该列排序;/*冒泡排序*/ 输出排序结果; } void Jige(StudentList st,char subnum[20]) 统计学科及格率 { for(j=1;j〈=st-〉stunum;j++) 找到要统计的成绩的那一列; for(int i=1;i<=n;i++) if(分数

12、大于等于六十) a++; 求出及格率; 输出该学科的及格率; } l 系统程序功能流程图 成绩管理系统 信息管理 信息统计 信息排序 信息查找 信息录入 平均分 最低分 最高分 学号排序 姓名排序 成绩排序 姓名查找 学号查找 基本信息 信息修改 信息插入 信息删除 l 功能实现过程 三 详细设计 void Createseq(StudentList *st) 录入学生信息 { int k; int i; int len; 学生的个数 in

13、t a; 学生信息项的个数 int j; printf("输入学生的个数:”); scanf(”%d”,&len); st—〉length=len; printf(”输入学生信息项的个数:"); scanf(”%d”,&a); st-〉stunum=a; printf(”输入学生信息项的表头:"); for(j=1;j〈=a;j++) { scanf("%s”,&st—>r[0].data[j]); } printf("依次录入学生信息:\n"); fo

14、r(i=1;i<=len;i++) { for(j=1;j〈=a;j++) { scanf(”%s",&st—〉r[i]。data[j]); } } printf("是否保存信息(输入1或者2):”); scanf(”%d",&k); if(k==1) { fprint(st); printf(”保存成功!!”); } if(k==2) printf(”未保存!!"); printf(”输出学生信息:\n"); for(j=1;j〈=a;j++) printf("%s

15、\t”,st—〉r[0].data[j]); printf(”\n"); for(i=1;i〈=len;i++) { for(j=1;j〈=a;j++) printf(”%s\t”,st->r[i].data[j]); printf(”\n"); } } void Amst(StudentList *st, char name[]) 修改学生信息 { int i,j; int len=st—〉length; int a=st—>stunum; int k,p; char str[2

16、0]; 修改的项目 char ne[20]; for(i=1;i<=len;i++) { if(strcmp(st-〉r[i]。data[1],name)==0) p=i; } for(i=0;i〈=len;i++) { for(j=1;j〈=a;j++) printf(”%s\t",st—>r[i]。data[j]); printf("\n"); } printf("输入你要修改的学生信息项目:"); scanf(”%s",&str); for(j=1;j〈=a;j++) {

17、 if(strcmp(st—〉r[0]。data[j],str)==0) k=j; } printf(”\n输入修改信息:"); scanf("%s",&ne); strcpy(st-〉r[p]。data[k],ne); printf(”\n修改的学生信息为:\n"); for(j=1;j〈=a;j++) { printf(”%s\t”,st—〉r[0].data[j]); printf(”%s\t",st-〉r[p]。data[j]); } } int Deletest(StudentList *st,Stude

18、ntType *e) 删除学生信息 { int i; printf(”\n输入你要删除的位置:”); scanf("%d”,&i); if((i<1)||(i〉st->length)) { printf(”删除的位置不合法!!”); return(ERROR); } *e=st—〉r[i]; for(int k=i;k〈=st—〉length;k++) st-〉r[k]=st—>r[k+1]; st—〉length——; for(int p=0;p〈=st-〉length;p++) { for(int j=1;j<=

19、st—〉stunum;j++) { printf("%s\t”,st—〉r[0].data[j]); printf("%s\t",st—〉r[p].data[j]); } printf("\n"); } return(OK); } int Search(StudentList *st,char n[20]) 查找 { int a=0; int r; int k; int j; for(int i=1;i〈=st—〉length;i++) { for(j=1;j〈=st—>stunum;j++)

20、{ if(strcmp(st->r[i]。data[j],n)==0) { k=i; r=j; } } a=1; } if(a==1) { printf(”\n查找的学生信息为:\n"); for(j=1;j〈=st->stunum;j++) printf(”%s\t”,st—〉r[k]。data[j]); } else if(a==0) printf(”你查找的学生不存在!!"); return(OK); } int Sort(StudentList *st,char sc[20])

21、 //冒泡排序 { StudentType x; int j,i; int p; int n; for(j=1;j〈=st->stunum;j++) { if(strcmp(st-〉r[0]。data[j],sc)==0) p=j; } n=st—>length; int change=1; for(i=1;i〈=n-1&&change;i++) { change=0; for(int k=1;k〈=n-i;k++) { if(strcmp(st—〉r[k]。data[p],st->r[k+1].data[p

22、])〉0) { x=st—〉r[k]; st—〉r[k]=st—〉r[k+1]; st-〉r[k+1]=x; change=1; } } } for(i=1;i〈=st—〉length;i++) { for(j=1;j〈=st—>stunum;j++) printf(”%s\t”,st->r[i]。data[j]); printf(”\n”); } return(OK); } void Jige(StudentList st,char subnum[20]) //

23、统计学科及格率 { char b[10]=”60"; double s; int a=0; int p; int n=st。length; for(int j=1;j〈=st.stunum;j++) { if(strcmp(st。r[0]。data[j],subnum)==0) p=j; } for(int i=1;i〈=n;i++) { if(strcmp(st。r[i].data[p],b)>=0) a++; } s=(a*(1.0))/(n*1。0); printf("%s的学科及格率为%f",st。r[0

24、].data[p],s); } 四 设计与调试分析 1。这个程序采用一个结构体:学生信息结构体。采用的是顺序表的存储结构,顺序表的长度表示学生的个数。每个数组里面还有一个二维数组,表示每个学生含有的数据项. 2。由于前期工作考虑的不是很周全,采用了顺序表,这对于实现程序的插入和删除的功能显然效率不是很高 3。由于先前成绩定义成了字符型,所以对于成绩的比大小有些麻烦。我对于字符型转化成数字进行加减不是很清楚,所以在实现统计功能中并没有包括成绩的总分计算以及平均分的计算,这是该系统的漏洞。 五 用户手册 【 使用说明 】 1. 进入学生成绩管理系统主页面 2. 根据身份的不同进入

25、不同的系统界面(如果是管理员则进入含有五个子系统选择的界面,而学生则只可以进入查询学生信息的界面) 3. 如果要录入学生的信息,则选择1,可以人工的控制要输入的学生个数以及每个学生含有的记录项,注意输完了保存进文件 4. 如果要对学生进行管理,就选择2,将进入对学生管理的三项选择界面。如果要修改学生信息,选择1,输入要修改的学生的名字,找到该学生并输入要修改的学生的记录项,进行修改。如果要插入学生信息,选择2,选择插入的位置,当你插入的位置不合法时,会有提示。如果要删除学生信息,输入你要删除的学生的位置,如果没该学生则删除不合法。 5. 如果要查找学生信息,则选择3,输入你要查找的学生的

26、姓名或者学号,如果没有该学生就提示你查找的学生不存在。有该学生就会输出该学生的所以信息. 6. 如果要对学生信息进行排序,就选择4,输入你要进行排序的学生的记录项,它就会将该记录项把学生信息进行升序排列 7. 如果要对学生信息进行统计,就选择5.如果要对学科成绩进行最高分统计,就选择1,然后输入你要统计的学科名,系统会找出该学科的最高分。如果要对学科成绩进行及格率的统计,则选择2,输入你要统计的学科名,系统会算出该学科的及格率。如果要对学科成绩进行最低分统计,则选择3,输入你要统计的学科名,系统会找出该学科的最低分。 8. 如果系统结束,则按6结束. 【 程序中的头文件 】 #inc

27、lude〈stdio。h〉 #include

28、序 6. 查找学生 (1)学号查找 (2)姓名查找 7. 统计 (1) 最高分 (2) 及格率 (3) 最低分 8. 学生查询 七 附录(源程序清单) #include〈stdio。h〉 #include〈stdlib。h> #include〈string。h〉 #include〈fstream.h> #define ERROR 0 #define OK 1 #define MAX_size 20 #define LIST_SIZE 100 //线性表长度 typedef char KeyType; typedef struct{ Ke

29、yType data[MAX_size][MAX_size]; }StudentType; typedef struct{ StudentType r[LIST_SIZE+1]; int length; int stunum; }StudentList; FILE *fp; void Menu() { printf(”\n*************************学生成绩管理系统**************************\n”); printf(”*********************1。录 入 学 生 的 基 本 信 息*********

30、*********\n”); printf("*************** 2。对 学 生 信 息 进 行 管 理 ************\n”); printf("******** 3。查 找 学 生 信 息 *********\n”); printf(”*************** 4。对 学 生 信 息 进 行 排 序 ************\n"); printf(”***************** 5.对 学 生 信 息 进 行 统 计

31、 ***************\n"); printf(”******************* 6.退 出 系 统 ********************\n"); } void fprint(StudentList *st) //保存到文件 { int len=st—〉length; int a=st-〉stunum; if((fp=fopen(”students_list.txt",”wb"))==NULL) { printf("File open error!\n”); exit(0);

32、 } for(int i=0;i〈=len;i++) { fwrite(&st—〉r[i],sizeof(StudentList),1,fp); }/*将学生信息写入文件*/ fclose(fp); /*关闭文件*/ printf("\n学生信息已成功保存到文件 students_list.txt 中!\n"); //getchar(); } StudentList *create(StudentList *st,int n) //读出文件 { if((fp=fopen("students_li

33、st.txt”,"rb”))==NULL) { printf("File open error!\n”); exit(0); } for(int i=0;i<=n;i++) fread(&st—〉r[i],sizeof(StudentList),1,fp); fclose(fp); return st; } void Createseq(StudentList *st) //录入学生信息 { int k; int i; int len; // 学生的个数 int a;

34、 //学生信息项的个数 int j; printf(”输入学生的个数:"); scanf("%d”,&len); st-〉length=len; printf("输入学生信息项的个数:”); scanf(”%d”,&a); st—〉stunum=a; printf("输入学生信息项的表头:"); for(j=1;j<=a;j++) { scanf(”%s",&st—〉r[0]。data[j]); } printf(”依次录入学生信息:\n”); for(i=1;

35、i<=len;i++) { for(j=1;j〈=a;j++) { scanf("%s”,&st—〉r[i].data[j]); } } printf("是否保存信息(输入1或者2):”); scanf(”%d”,&k); if(k==1) { fprint(st); printf(”保存成功!!”); } if(k==2) printf("未保存!!"); printf("输出学生信息:\n"); for(j=1;j<=a;j++) printf(”%s\t",st

36、—>r[0].data[j]); printf("\n”); for(i=1;i〈=len;i++) { for(j=1;j<=a;j++) printf(”%s\t",st—〉r[i].data[j]); printf("\n”); } } void Amst(StudentList *st, char name[]) //修改学生信息 { int i,j; int len=st—〉length; int a=st—〉stunum; int k,p; char str[20];

37、 // 修改的项目 char ne[20]; for(i=1;i<=len;i++) { if(strcmp(st—>r[i]。data[1],name)==0) p=i; } for(i=0;i〈=len;i++) { for(j=1;j〈=a;j++) printf(”%s\t",st—〉r[i].data[j]); printf(”\n”); } printf(”输入你要修改的学生信息项目:"); scanf(”%s”,&str); for(j=1;j〈=a;j++) {

38、 if(strcmp(st—〉r[0]。data[j],str)==0) k=j; } printf(”\n输入修改信息:”); scanf("%s",&ne); strcpy(st—〉r[p]。data[k],ne); printf("\n修改的学生信息为:\n"); for(j=1;j<=a;j++) { printf(”%s\t”,st—〉r[0]。data[j]); printf("%s\t",st->r[p]。data[j]); } } int Insertst(StudentList *st) //

39、插入学生信息 { int i; printf("\n输入你要插入的位置:”); scanf(”%d”,&i); if((i〈1)||(i>st-〉length+1)) { printf(”插入的位置不合法!!”); return(ERROR); } if(st—〉length>=LIST_SIZE) { printf(”表已满,无法插入"); return(ERROR); } for(int k=st-〉length;k>=i;k-—) st—〉r[k+1]=st—>r[k]; for(int j=1;j〈=st-〉s

40、tunum;j++) { printf(”%s”,st->r[0].data[j]); scanf(”%s",&st—〉r[i]。data[j]); } st—〉length++; for(int p=0;p<=st—>length;p++) { for(j=1;j〈=st->stunum;j++) printf("%s\t",st—〉r[p]。data[j]); printf(”\n”); } fprint(st); return(OK); } int Deletest(StudentList *st,Stu

41、dentType *e)//删除学生信息 { int i; printf(”\n输入你要删除的位置:”); scanf(”%d”,&i); if((i<1)||(i〉st—>length)) { printf(”删除的位置不合法!!”); return(ERROR); } *e=st-〉r[i]; for(int k=i;k〈=st—>length;k++) st—>r[k]=st-〉r[k+1]; st—〉length——; for(int p=0;p<=st-〉length;p++) { for(int j=1;j<

42、st—〉stunum;j++) { printf(”%s\t”,st—>r[p]。data[j]); } printf("\n"); } fprint(st); return(OK); } int Search(StudentList *st,char n[20]) //查找 { int a=0; int r; int k; int j; for(int i=1;i〈=st—〉length;i++) { for(j=1;j<=st—>stunum;j++) { if(strcmp(st-〉r[

43、i]。data[j],n)==0) { k=i; r=j; a=1; } } } if(a==1) { printf(”\n查找的学生信息为:\n"); for(j=1;j〈=st—>stunum;j++) printf(”%s\t”,st-〉r[k]。data[j]); } else if(a==0) printf(”你查找的学生不存在!!"); return(OK); } int Sort(StudentList *st,char sc[20]) //冒泡排序 { Student

44、Type x; int j,i; int p; int n; for(j=1;j〈=st-〉stunum;j++) { if(strcmp(st—>r[0].data[j],sc)==0) p=j; } n=st—〉length; int change=1; for(i=1;i〈=n-1&&change;i++) { change=0; for(int k=1;k〈=n—i;k++) { if(strcmp(st—〉r[k].data[p],st—〉r[k+1]。data[p])>0) { x=s

45、t—〉r[k]; st—〉r[k]=st-〉r[k+1]; st-〉r[k+1]=x; change=1; } } } for(i=1;i〈=st-〉length;i++) { for(j=1;j<=st—〉stunum;j++) printf("%s\t”,st->r[i].data[j]); printf(”\n"); } return(OK); } void Jige(StudentList st,char subnum[20]) //统计学科及格率 { char b[

46、10]=”60"; double s; int a=0; int p; int n=st.length; for(int j=1;j〈=st。stunum;j++) { if(strcmp(st.r[0]。data[j],subnum)==0) p=j; } for(int i=1;i〈=n;i++) { if(strcmp(st。r[i]。data[p],b)〉=0) a++; } s=(a*(1。0))/(n*1。0); printf("%s的学科及格率为%f”,st.r[0]。data[p],s); } vo

47、id Bestscore(StudentList st,char subnum[]) //统计学科最高分 { int max=1; int j; int p; int n=st。length; for(j=1;j<=st。stunum;j++) { if(strcmp(st。r[0]。data[j],subnum)==0) p=j; } for(int i=1;i<=n;i++) { if(strcmp(st.r[i].data[p],st。r[max]。data[p])〉0) max=i; } printf(”%s

48、的学科的最高分为%s”,st.r[0]。data[p],st。r[max]。data[p]); } void Leastscore(StudentList st,char subnum[]) //统计学科最低分 { int min=st。length; int j; int p; int n=st.length; for(j=1;j〈=st。stunum;j++) { if(strcmp(st.r[0].data[j],subnum)==0) p=j; } for(int i=1;i〈=n;i++) { if(strcmp(st.

49、r[i]。data[p],st.r[min]。data[p])<0) min=i; } printf("%s的学科的最低分为%s”,st。r[0]。data[p],st。r[min]。data[p]); } void menu(StudentList *st) { StudentType *x; x=(StudentType*)malloc(sizeof(StudentType)); int a; printf("1。修 改 学 生 信 息\n”); printf("2.插 入 学 生 信 息\n"); printf("3。删 除 学 生 信 息\

50、n”); printf(”\n输入序号:\n”); scanf(”%d”,&a); switch(a) { case 1: char na[20]; printf(”请输入你要修改的学生的姓名:”); scanf(”%s”,&na); Amst(st,na); break; case 2: Insertst(st); break; case 3: Deletest(st,x); break; } } void main() //主函数 { int a; int e; int

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服