学生成绩管理系统工程报告_第1页
学生成绩管理系统工程报告_第2页
学生成绩管理系统工程报告_第3页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学生成绩管理系统工程报告物理学 416 班 赵增月 F12 2011412194 日期: 2013 年 12 月 19 日一·实验目的1·巩固学习过的 c 语言知识点,数组的定义输入和输出,函数的定义声明和调用,指针在数组调用时的使用和作为函数参数使用等;2·熟练掌握程序的模块化设计;3·在运行程序,调试程序中发现错误,改正错误;4·学以致用,将所学知识和具体实际应用相结合,锻炼自己解决实际问题的能力。二·设计功能1·系统的界面显示和功能选择;2·学生信息的录入与显示;3·学生成绩的查找与修改;4

2、3;学生总分与课程平均分的统计及按总分排序。三·程序流程图(见附页)四·程序源代码#include<stdio.h>#define CLSNUM 3#define STUNUM 3void enter(float scoreSTUNUMCLSNUM,int nIDSTUNUM);void display(int nIDSTUNUM,float scoreSTUNUMCLSNUM,float totalCLSNUM,float savrgSTUNUM);void seek(int nIDSTUNUM,float scoreSTUNUMCLSNUM); void a

3、lter(int nIDSTUNUM,float scoreSTUNUMCLSNUM);void statistics(int nIDSTUNUM,float savrgCLSNUM,float totalSTUNUM,float scoreSTUNUMCLSNUM);void main()int i,j,k,tmp,a;float scoreSTUNUMCLSNUM;int nIDSTUNUM;float savrgCLSNUM=0;float totalSTUNUM=0;printf("*n");printf("学生成绩管理系统n");printf(

4、"*n");printf("1. 录入成绩 t2.显示成绩 t3.查找成绩 n4.修改成绩 t5.统计成绩 t6.退出系统 n");while (1)printf(" 请按功能选项输入数字1-6,按 Esc 键退出系统 n");int option;scanf("%d",&option);switch(option)case 1:enter(score,nID);break;/ 录入成绩case 2:display(nID,score,total,savrg);break;/ 显示成绩case 3:seek

5、(nID,score);break;/ 查找成绩case 4:alter(nID,score);break;/ 修改成绩case 5:statistics(nID,savrg,total,score);break;/ 统计成绩case 6:printf(" 谢谢使用,再见!n");break;default:printf(" 输入数据有误,请输入数字1-8n");break;while(getchar()!='n');voidenter(floatscoreSTUNUMCLSNUM,intnIDSTUNUM)/录入成绩函数int i,j;

6、int *p;p=nID;int i,j,k;int *p;p=nID;printf("IDtscore1tscore2tscore3tn");for(i=0;i<STUNUM;i+)总分for(i=0;i<STUNUM;i+)printf("%dt",*p+i);for(j=0;j<CLSNUM;j+)printf(" 请输入第%d 个学生的信息:n",i+1);printf("nID:");scanf("%d",p+i);for(j=0;j<CLSNUM;j+)pri

7、ntf("score%d:n",j+1);printf("%.1ft",scoreij);printf("%.1fn",totali);printf(" 平均 t");for(k=0;k<CLSNUM;k+)scanf("%f",&scoreij);printf("%.1ft",savrgk);printf("n");voiddisplay(intnIDSTUNUM,floatscoreSTUNUMCLSNUM,floattotalCLSNU

8、M,floatsavrgSTUNUM)/显voidseek(intnIDSTUNUM,floatscoreSTUNUMCLSNUM)/查找成绩函数int a,i,j,tmp;示成绩函数printf("请输入学生ID : n");scanf("%d",&a);printf("1. 计算学生总分 t2. 计算学科平均for(i=0;i<STUNUM;i+)分 t3.学生成绩排序 n");printf(" 请选择功能选项: n");if(a=nIDi)scanf("%d",&op

9、tion);tmp=i;switch(option)case 1:for(i=0;i<STUNUM;i+)printf("IDtscore1tscore2tscore3n");printf("%dt",nIDtmp);for(j=0;j<CLSNUM;j+)for(j=0;j<CLSNUM;j+)totali+=scoreij;printf("%.1ft",scoretmpj);printf(" 学生总分计算完成,请到显示成绩功能下查看 n");break;printf("n"

10、);case 2:for(j=0;j<CLSNUM;j+)for(i=0;i<STUNUM;i+)voidalter(intnIDSTUNUM,floatscoreSTUNUMCLSNUM)/修改成绩函数savrgj+=(scoreij/STUNUM);int n,i,j,tmp;printf(" 学科平均分计算完成,printf(" 请输入要修改的学生ID : n");请到显示成绩功能下查看 n");break;scanf("%d",&n);case 3:for(i=0;i<STUNUM;i+)for(i=

11、0;i<STUNUM;i+)k=i;if(n=nIDi)for(j=i+1;j<STUNUM;j+)tmp=i;if (totalk<totalj)k=j;printf("1.score1t2.score2t3.score3n");t=totali;printf(" 请选择要修改的课程编号n");totali=totalk;scanf("%d",&j);totalk=t;j=j-1;p=nIDi;printf(" 请输入修改后的成绩:n");nIDi=nIDk;scanf("%f

12、",&scoretmpj);nIDk=p;printf("ID 为 %d 的课程 %d的成绩成功修for(l=0;l<CLSNUM;l+)改为 %.1fn",n,j+1,scoretmpj);tmpl=scoreil;scoreil=scorekl;voidstatistics(intnIDSTUNUM,floatscorekl=tmpl;savrgCLSNUM,floattotalSTUNUM,floatscoreSTUNUMCLSNUM)/统计成绩函数int option,i,j,k,p,l;float t,tmpCLSNUM;printf(&q

13、uot; 学生成绩已按学生总分降序排序,请到显示成绩功能下查看n");default:printf(" 输入数据有误, 请输入数字 1-3n");break;五·测试结果*学生成绩管理系统*1.录入成绩2.显示成绩3.查找成绩4.修改成绩 5.统计成绩 6.退出系统请按功能选项输入数字 1-6,按 Esc 键退出系统1请输入第1 个学生的信息:nID:01score1:1score2:1score3:1请输入第2 个学生的信息:nID:02score1:2score2:2score3:2请输入第3 个学生的信息:nID:03score1:3score2:

14、3score3:3请按功能选项输入数字1-6,按 Esc 键退出系统2IDscore1score2score3总分11.01.01.00.022.02.02.00.033.03.03.00.0平均0.00.00.0请按功能选项输入数字1-6,按 Esc 键退出系统3请输入学生 ID :01IDscore1score2score311.01.01.0请按功能选项输入数字1-6,按 Esc 键退出系统4请输入要修改的学生ID :011.score12.score23.score3请选择要修改的课程编号1请输入修改后的成绩:0ID 为 1 的课程 1 的成绩成功修改为0.0请按功能选项输入数字1-6

15、,按 Esc 键退出系统2IDscore1 score2score3总分10.01.01.00.022.02.02.00.033.03.03.00.0平均0.00.00.0请按功能选项输入数字1-6,按 Esc 键退出系统51. 计算学生总分2.计算学科平均分3.学生成绩排序请选择功能选项:1学生总分计算完成,请到显示成绩功能下查3.学生成绩排序看请按功能选项输入数字系统51. 计算学生总分3.学生成绩排序请选择功能选项:1-6,按 Esc 键退出3学生成绩已按学生总分降序排序, 请到显示成绩功能下查看2. 计 算 学 科 平 均 分请按功能选项输入数字 1-6,按 Esc 键退出系统请选择功

16、能选项:22IDscore1score2score3总分学科平均分计算完成, 请到显示成绩功能下33.03.03.09.0查看22.02.02.06.0请按功能选项输入数字1-6,按 Esc 键退出10.01.01.02.0系统平均1.72.02.05请按功能选项输入数字1-6,按 Esc 键退出1.计算学生总分2.计算学科平均分系统六·反思与总结学生成绩管理系统的设计,综合运用了c 语言课程所学的知识,小到输入输出格式的控制,大到整个程序模块化的设计,都需要细心地编写和整体的考量。在细节问题上, 我时常犯错误, 像标点符号和是否应该取地址这样的问题, 这说明我对基础知识点还不太熟悉

17、,这样小小的错误隐秘而又关键,时常让整个程序的编写陷入僵局,但是通过一次次修改与调试, 最终还是改正了这些错误, 也让我对知识掌握的更加深刻和牢固,这是很大的收获。要完成每一项设计功能, 需要认真分析所提要求, 按部就班的编写程序代码, 最重要的是要有清晰的逻辑思维,在顺序结构、循环结构、条件结构中游刃有余。特别是循环结构,要注意循环的三要素,在多层循环中找准位置进行操作。进无止境,程序编写上还有很多可以优化的地方,愿批评指正。5771001803090012095 5790368228596330825771001803090012386 57613739973576069657710018

18、03090013594 5780775799025155125771001803090012387 5771649826018180515771001803090012138 5721311921589183265771001803090012359 5790368223610760535771001803090012356 5761352861437917425771001803090012355 57508786970469327917088100343355274 10122994432583337917088100343355275 10186673293883200817088100343356107 10158115250150052217088100343356108 10100018005987173217088100343354295 10107419414268701

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论