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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生管理系统实验报告Word格式.docx

1、(10) 按学号查找学生基本信息,对学生信息进行修改后保存;要求程序运行后,先显示菜单,并提示用户输入选项,然后根据用户输入的选项执行相应的操作,要求程序设计采用自顶向下逐步求精的方法,进行模块化程序设计以及增量测试方法。功能描述:(1)可以显示菜单,根据用户的需求选择可以进行的操作(2)可以录入学生信息(3)计算每个学生的平均分;(4)按学生姓名的字典顺序或按学号从小到大顺序输出学生基本信息;(5)按年龄和性别查找学生的基本信息;(6)按学号或姓名查找学生平均分的排名及各科成绩;性能要求:要保证程序有足够的健壮性。3.算法设计(1)在主程序中通过选择的循环实现菜单的输出.(2)录入学生信息:

2、根据提示录入学生信息,包括学号,姓名,出生年月,性别,成绩.学生的信息用一个记录类型.性别用数字来代替字母, 0代表male,其他为female.(3)求其平均分,即把三科成绩相加求其平均值.(4)对学生的姓名按字典顺序或学号从小到大排序:需要把有一个选择按姓名还是学号,如果选择1则是按姓名排序输出,2则是用学号.其中排序用的是简单排序法.(5) 按年龄和性别查找学生的基本信息:需要输入年龄和性别同样的0代表male,其他为female.从学生1一直到学生三查找,如果找到就输出他的信息,否则则输出查无此人.(6) 按学号或姓名查找学生平均分的排名及各科成绩:和上面一样根据提示选择是按学号,还是

3、按姓名查找学生的平均分排名.假设按姓名则先把其平均分用简单选择法排序,然后再用一个循环找到和所需要查找的学生名字一样的学生,并输出其所对应的下标,即是他平均分的排名.(7)查找某门课程的最高分,此时也需要选择是按哪门课程,此时的三科分别是一个 枚举, 1:x:=(math);2:=(chinese);3:=(english);运用简单排序法从高到低排序,由于最高分可能不只一个所以只要分数和第一个的相同则输出.(8)查找某门课成绩在某个分数段内的学生人数和学生基本信息:”某门课程”和上述的处理一样,某个分数段需要自己输入,有一个记数器,同时赋初值0.从 1到3 开始循环如果某分数在自己定义的范围

4、之内就加一,最后输出学生的信息。(9)和第八步相似,此时要多用几个计数器,最后用计数器的值除以总人数即是其所占的百分比。(10)按学号查找信息,只要找到学生就输入他的个人信息。此时的信息就把以前的信息给覆盖了。4. 主要数据结构和标识符及其说明其中涉及到记录,枚举,数组,整型,字符串等类型。在变量的定义上实行见名知义的原则,在全局变量中:year,month,day分别代表出生年,月,日,math,chinese ,english,average分别代表数学,语文,英语,平均分。Number代表学号,name代表名字,bith代表出生年月日,sex代表性别。分数使用的是数组。三个学生也是使用的

5、数组类型,而学生的信息是用一个记录类型保存。其中birth也是使用的记录类型。在分程序中temp用来交换学生位置的媒介。I,j,m为整型,用来循环的。也有j为字符串用来代表性别。还有c,x用来代表所选择的排序类型。M,n用来输入分数段,counter用来计数。Cc代表输入的学号。5. 程序运行实例(1)输入学生信息(2)求其平均分,此时不用输出,只需要按选择按2即可。(3)按平均分或按某门课程的成绩从高到低输出学生信息:不妨设按语文从低到高输出,其学号结果应为1,2,3(4)执行第三步,选择3即可,不仿选择按姓名排序,结果应为学号为1的是第一个,其次为3号,最后为2号(5)输入19岁,male

6、,结果应为查无此人。(6)查找某门课成绩最高的学生的基本信息,某门课成绩最高的可能不只一名学生 选择数学,其结果应为学生3(7)查找没分数的人,输入2到8分,人数应该为三个人。(8)其结果应为不及格人数为3,百分数为1(9)输入要查找的学号1,并修改输入姓名,学号,性别,出生日期。(10) 选择11,退出界面。6. 源程序清单program Project2;$APPTYPE CONSOLEtype birthday=record year:integer; month: day: end; sub=(math,chinese ,english,average); student=record

7、 number: name:string10; sex:string; birth:birthday; score:array sub of integer;var stu:array 1.3 of student; m,a: averag:array1.3of real; x:sub;procedure input; n,i:beginfor i:=1 to 3 do with stui do begin write(学号:); readln(number);姓名: readln(name);性别:readln(n); if n=0 then=male elsefemale;出生日期(年,月

8、,日):readln(birth.year,birth.month,birth.day);成绩,数学,语文,英语: readln(scoremath,scorechinese,scoreenglish);end;procedure ave; i: for i: averagi:=(scoremath+scorechinese+scoreenglish)/3;procedure paixun(a:integer); temp:student; 额外加 的一个小程序用来排序输出 i,j: case a of 1:=(average); 2: 3: 4:=1 to 2 do for j:=1 to

9、3-i do if stuj.scorexstuj+1.scorex then=stuj; stuj:=stuj+1; stuj+1:=temp;writeln(按学号大小排序后的学生信息如下 writeln(学号:10,姓名性别7,生日数学语文英语平均分10); writeln(number,name,sex,birth.year:6,/,birth.month,birth.day,scoremath:6,scorechinese:7,scoreenglish:7,averagi:11:2);procedure paixun2(a:if a=1 then if stuj.namestuj+1

10、.name then writeln(number:4,name:5,birth.year:6,birth.month:4,birth.day:4,sex:10,scoremath:4,scorechinese:4,scoreenglish:4); writeln(averagi:endelseprocedure chazhao; i,m,counter: j:要查找的年龄 readln(i);性别(字符串) readln(j); counter:=0; for m: if (2011-stum.birth.year=i) and (stum.sex=j) then with stum do

11、end=counter+1; if counter=3 then查无此人procedure pingjunfenmingci(var c:real; n,i,j: m: case c of要查找的学号 read(n); if averagjaveragj+1 then=averagj; averagj:=averagj+1; averagj+1: if stui.number=n then writeln(stui.scoremath:4,stui.scorechinese:4,stui.scoreenglish:平均分排名:writeln(i);要查找的姓名 read(m); if stui

12、.name=m thenprocedure chazhaohigh(p: case p of if stuj.scorex=m) and (scorex=n) then10,name:在,m,到,n,分数段的人数为:,counter);procedure fenlei(a: counter1,counter2,counter3,counter4,counter5,i: counter1: counter2: counter3: counter4: counter5:=90) and (scorex=80) and (scorex=89) then=counter2+1=70) and (sco

13、rex=79) then=counter3+1=60) and (scorex=69) then=counter4+1=0) and (scorex=59) then=counter5+1;统计结果为优秀人数及百分比为: writeln(counter1:4,counter1/3 :良好人数及百分比为: writeln(counter2:4,counter2/3 :中等人数及百分比为: writeln(counter3:4,counter3/3 :及格人数及百分比为: writeln(counter4:4,counter4/3 :不及格人数及百分比为: writeln(counter5:4,c

14、ounter5/3 :procedure chazhaobaocun; cc,i: birth1: score1:查找的学号 readln(cc); if stui.number=cc thenreadln(name);学号:read(number);性别:readln(m); 出生日期: readln(birth1.year,birth1.month,birth1.day);数学分数,语文分数,英语分数readln(score1chinese,score1chinese,score1english); TODO -oUser -cConsole Main : Insert code here repeat-1.录入每个学生的基本信息 );2.计算每个学生的平均分3.按平均分或按某门课程的成绩从高到低输出学生信息4.按学生姓名的字典顺序或按学号从小到大顺序输出学生基本信息5.按年龄和性别查找学生的基本信息6.按学号或姓名查找学生平均分的排名及各科成绩7. 查找某门课成绩最高的学生的基本信息,某门课成绩最高的可能不只一名学生8.某成绩某分数段内的人数和信息9.统计某门课程各个类别的人数及百分比 10.按学号查找学生基本信息,对学生信息进行修改后保存11.退出系统-

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2