《matlab学生成绩管理系统(共6页).doc》由会员分享,可在线阅读,更多相关《matlab学生成绩管理系统(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上编写一个对本班学生本学期成绩管理程序。输入学号、姓名、科目、成绩(设有5名同学、4门功课)。能自动对成绩进行单科或综合的排序、查找 答:judge=input(是输入(1)还是查找(2)还是排序(3)?);if judge=1 for n=1:5 txt=请输入第 int2str(n) 个学生姓名:; labn,1=input(txt); txt=请输入第 int2str(n) 个学生学号:; labn,2=input(txt); txt=请输入第 int2str(n) 个学生数学成绩:; labn,3=input(txt); txt=请输入第 int2str(n)
2、个学生外语成绩:; labn,4=input(txt); txt=请输入第 int2str(n) 个学生语文成绩:; labn,5=input(txt); txt=请输入第 int2str(n) 个学生物理成绩:; labn,6=input(txt); labn,7=labn,3+labn,4+labn,5+labn,6; end labn+1,1=none;%留出一个空行以便以后的操作 labn+1,2=-1; labn+1,3=-1; labn+1,4=-1; labn+1,5=-1; labn+1,6=-1; save lab labelseif judge=2 load lab.mat
3、 k=input(你是要用学号(1)还是姓名(2)查找?); if k=1 num=input(请输入学号); m=1; while(num=labm,2&m5 disp(查无此人) else %txt=姓名:+int2str(labm,1); %disp(labm,1); disp(labm,1); txt=学号 int2str(labm,2); disp(txt); txt=数学成绩 int2str(labm,2); disp(txt); txt=外语成绩 int2str(labm,2); disp(txt); txt=语文成绩 int2str(labm,2); disp(txt); tx
4、t=物理成绩 int2str(labm,2); disp(txt); end else name=input(请输入姓名); m=1; while(strcmp(name,labm,1)&m5 disp(查无此人) else %txt=姓名:+int2str(labm,1); %disp(labm,1); disp(labm,1); txt=学号 int2str(labm,2); disp(txt); txt=数学成绩 int2str(labm,3); disp(txt); txt=外语成绩 int2str(labm,4); disp(txt); txt=语文成绩 int2str(labm,5
5、); disp(txt); txt=物理成绩 int2str(labm,6); disp(txt); end endelse load lab.mat; turn=input(按什么顺序排?从大到小(1)从小到大(2)); info=input(按什么排序?学号(1)数学成绩(2)外语成绩(3)语文成绩(4)物理成绩(5)综合成绩(6)); if turn=1 switch info case 1 for flag=1:4 for i=5:-1:2 if labi,2=labi-1,2 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab
6、6,j; end end end end case 2 for flag=1:4 for i=5:-1:2 if labi,3=labi-1,3 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end case 3 for flag=1:4 for i=5:-1:2 if labi,4=labi-1,4 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end case 4 for flag=1:4 for i
7、=5:-1:2 if labi,5=labi-1,5 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end case 5 for flag=1:4 for i=5:-1:2 if labi,6=labi-1,6 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end case 6 for flag=1:4 for i=5:-1:2 if labi,7=labi-1,7 for j=1:7 lab6,j=la
8、bi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end otherwise disp(未做任何改动); end else switch info case 1 for flag=1:4 for i=5:-1:2 if labi,2=labi-1,2 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end case 2 for flag=1:4 for i=5:-1:2 if labi,3=labi-1,3 for j=1:7 lab6,j=lab
9、i-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end case 3 for flag=1:4 for i=5:-1:2 if labi,4=labi-1,4 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end case 4 for flag=1:4 for i=5:-1:2 if labi,5=labi-1,5 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end
10、 end end case 5 for flag=1:4 for i=5:-1:2 if labi,6=labi-1,6 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end case 6 for flag=1:4 for i=5:-1:2 if labi,7=labi-1,7 for j=1:7 lab6,j=labi-1,j; labi-1,j=labi,j; labi,j=lab6,j; end end end end otherwise disp(未做任何改动); end end save
11、lab lab; read=input(排序完成,是否查看?查看(1)不查看(2)); if read=1 for k=1:5 disp(labk,1); txt=学号 int2str(labk,2); disp(txt); txt=数学成绩 int2str(labk,3); disp(txt); txt=外语成绩 int2str(labk,4); disp(txt); txt=语文成绩 int2str(labk,5); disp(txt); txt=物理成绩 int2str(labk,6); disp(txt); end endend本程序可完全实现题目中要求的全部功能,但在排序时希望以后可以改为用调用函数的形式来简化程序,而且对于用户错误操作的提醒方面尚有不足专心-专注-专业