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

付费下载

下载本文档

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

文档简介

1、学生成绩管理系统工程报告物理学416班 赵增月 F122011412194 日期:2013年12月19日一实验目的1 巩固学习过的c语言知识点,数组的定义输入和输出,函数的定义声明和调用,指针在 数组调用时的使用和作为函数参数使用等;2熟练掌握程序的模块化设计;3在运行程序,调试程序中发现错误,改正错误;4学以致用,将所学知识和具体实际应用相结合,锻炼自己解决实际问题的能力。二设计功能1 系统的界面显示和功能选择;2学生信息的录入与显示;3学生成绩的查找与修改;4学生总分与课程平均分的统计及按总分排序。三程序流程图(见附页)四程序源代码#in clude<stdio.h>#defi

2、 ne CLSNUM 3#defi ne STUNUM 3 void en ter(float scoreSTUNUMCLSNUM,i nt nIDSTUNUM);totalCLSNUM,floattotalSTUNUM,floatvoid display(int nIDSTUNUM,float scoreSTUNUMCLSNUM,float savrgSTUNUM);void seek(i nt nIDSTUNUM,float scoreSTUNUMCLSNUM);void alter(i nt n IDSTUNUM,float scoreSTUNUMCLSNUM);voidstatisti

3、cs(i ntnIDSTUNUM,float savrgCLSNUM,floatscoreSTUNUMCLSNUM);void mai n()int i,j,k,tm p,a;float scoreSTUNUMCLSNUM;int nlDSTUNUM;float savrgCLSNUM=0;float totalSTUNUM=0;prin tf("* n");prin tf("学生成绩管理系统n");prin tf("* n ")printf("1.录入成绩t2.显示成绩t3.查找成绩n4.修改成绩t5.统计成绩t6.退出系

4、统n"); while (1)printf(”请按功能选项输入数字1-6,按Esc键退出系统n");int op ti on;scan f("%d", &op tio n);switch( op ti on)case 1:e nter(score ,n ID);break;/ 录入成绩case 2:display(nID,score,total,savrg);break;/ 显示成绩case 3:seek( nlD,score);break;/ 查找成绩case 4:alter(nID,score);break;/ 修改成绩case 5:stat

5、istics(nID,savrg,total,score);break;/ 统计成绩case 6:printf("谢谢使用,再见!n”);break;default:printf("输入数据有误,请输入数字1-8n”);break; while(getchar()!='n');en ter(floatvoid scoreSTUNUMCLSNUM,i nt nIDSTUNUM)/录入成绩函数 int i,j;int *p;p=n ID;for(i=0;i<STUNUM;i+)printf(”请输入第%d个学生的信息: n",i+1);prin

6、tf(" nID:");scan f("%d" ,p+i);for(j=0;j<CLSNUM;j+)prin tf("score%d:n",j+1); scan f("%f", &scoreij);int i,j,k;int *p;p=n ID;printf("IDtscore1tscore2tscore3t总 分n");for(i=0;i<STUNUM;i+)prin tf("%dt",* p+i);for(j=0;j<CLSNUM;j+)prin

7、 tf("%.1ft",scoreij);prin tf("%.1fn",totali);printf(” 平均 t");for(k=0;k<CLSNUM;k+)prin tf("%.1ft",savrgk);prin tf("n");dis play(i ntnIDSTUNUM,floatvoidscoreSTUNUMCLSNUM,float totalCLSNUM,float savrgSTUNUM)/ 显 示成绩函数voidseek(i ntn IDSTUNUM,floatscoreSTUNU

8、MCLSNUM)/ 查找成绩函数 int a,i,j,t mp;printf(” 请输入学生 ID : rr);scan f("%d",&a);for(i=0;i<STUNUM;i+) if(a=nlDi)tmp=i;prin tf("IDtscore1tscore2tscore3n"); prin tf("%dt", nlDtm p);for(j=0;j<CLSNUM;j+)prin tf("%.1ft",scoret mp j);prin tf("n");prin tf(

9、"1 .计算学生总分t2.计算学科平均 分t3.学生成绩排序n");printf(”请选择功能选项:n");scan f("%d", &op tio n);switch( op ti on)case 1:for(i=0;i<STUNUM;i+)for(j=0;j<CLSNUM;j+) totali+=scoreij;printf(”学生总分计算完成,请 到显示成绩功能下查看n");break;case 2:for(j=0;j<CLSNUM;j+)for(i=0;i<STUNUM;i+)voidalter

10、(i ntnIDSTUNUM,floatscoreSTUNUMCLSNUM)/ 修改成绩函数 int n,i,j,t mp;printf(”请输入要修改的学生ID : n");scan f("%d",&n);for(i=0;i<STUNUM;i+)if(n=nlDi)tmp=i;prin tf("1.score1t2.score2t3.score3n"); printf(”请选择要修改的课程编号n"); scan f("%d",&j);j=j-1;printf(”请输入修改后的成绩:n&quo

11、t;);scan f("%f", &scoret mp j);printf("ID 为%d的课程%d的成绩成功修改为 %.1fn",n,j+1,scoretmpj); void statistics(i nt nIDSTUNUM,float savrgCLSNUM,float totalSTUNUM,float scoreSTUNUMCLSNUM)/ 统计成绩函数 int option ,i,j,k, p,l;float t,t mp CLSNUM;savrgj+=(scoreij/STUNUM);printf("学科平均分计算完成,请

12、到显示成绩功能下查看n");break;case 3:for(i=0;i<STUNUM;i+)k=i;for(j=i+1;j<STUNUM;j+)if (totalk<totalj)k=j;t=totali;totali=totalk;totalk=t;p=n IDi;n IDi=nlDk;n IDk=p;for(l=0;l<CLSNUM;l+)tmp l=scoreil; scoreil=scorekl; scorekl=tm p I;printf(”学生成绩已按学生总分降序排序,请到显示成绩功能下查看n");default:printf(”输入数

13、据有误,请输入数 字 1-3n");break;五测试结果学生成绩管理系统*1.录入成绩2.显示成绩4.修改成绩5.统计成绩请按功能选项输入数字1-6,按1请输入第1个学生的信息:3.查找成绩6.退出系统Esc键退出系统请按功能选项输入数字1-6,按Esc键退出系统nID:01 scorel:13请输入学生ID :01score2:1score3:1请输入第2个学生的信息:IDscore1 score2 score31 1.0 1.0 1.0请按功能选项输入数字1-6,按Esc键退出系统nlD:02 scorel:2score2:24请输入要修改的学生ID :011.score12.

14、score2请选择要修改的课程编号3.score3score3:2请输入第3个学生的信息:1请输入修改后的成绩:nID:03 score1:3 score2:30ID为1的课程1的成绩成功修改为0.0请按功能选项输入数字1-6,按Esc键退出系统2ID1score10.0score21.0score31.0总分0.0score3:32.03.02.03.02.03.00.00.0请按功能选项输入数字1-6,按Esc键退出平均0.00.00.0系统请按功能选项输入数字1-6,按Esc键退出2系统IDscore1score2score3总分511.01.01.00.01.计算学生总分2.计算学科平

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

16、01.02.0系统平均1.72.02.05请按功能选项输入数字1-6,按Esc键退出1.计算学生总分2.计算学科平均分系统六反思与总结c语言课程所学的知识,小到输入输出格式的控学生成绩管理系统的设计,综合运用了制,大到整个程序模块化的设计,都需要细心地编写和整体的考量。在细节问题上,我时常犯错误,像标点符号和是否应该取地址这样的问题,这说明我对基础知识点还不太熟悉,这样小小的错误隐秘而又关键,时常让整个程序的编写陷入僵局, 但是通过一次次修改与调试,最终还是改正了这些错误,也让我对知识掌握的更加深刻和牢 固,这是很大的收获。要完成每一项设计功能, 需要认真分析所提要求,按部就班的编写程序代码,

17、 最重要的是要有清晰的逻辑思维,在顺序结构、循环结构、条件结构中游刃有余。特别是循环结构, 要注意循环的三要素,在多层循环中找准位置进行操作。进无止境,程序编写上还有很多可以优化的地方,愿批评指正。5771001803090012095 579036822859633082 5771001803090012386 576137399735760696 5771001803090013594 578077579902515512 5771001803090012387 577164982601818051 5771001803090012138 572131192158918326 577100

18、1803090012359 579036822361076053 5771001803090012356 576135286143791742 5771001803090012355 57508786970469327917088100343355274 101229944325833379 17088100343355275 101866732938832008 17088100343356107 101581152501500522 17088100343356108 101000180059871732 17088100343354295 101074194142687017/p>

温馨提示

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

最新文档

评论

0/150

提交评论