C课程设计报告学生成绩管理系统方案_第1页
C课程设计报告学生成绩管理系统方案_第2页
C课程设计报告学生成绩管理系统方案_第3页
C课程设计报告学生成绩管理系统方案_第4页
C课程设计报告学生成绩管理系统方案_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 . 学生成绩管理系统课程设计一,需求分析:晴天霹雳,在毫无准备的情况下,老师突然给我们布置了一个课程设计,而且时间只有一个星期,非常紧急.虽然题目可以自己决定,围很乏,很多题目在脑里飞来飞去,但都是一闪而过,总是捕捉不到一个明确的课题,一开始自己的头脑里犹如一片空白,该选什么课题来做呢?为了想这个问题,我绞尽了脑汁,最后,根据实用性,我决定设计一个学生成绩管理系统.由于自己也是一个学生,经常跟成绩打交道,以前的成绩自己搞得很乱,每次想找以前的成绩看一下,做个总结,以便制定新一个近期计划.可是以前的成绩都没有系统的管理,所以搞起来很麻烦,于是决定做一个学生成绩管理系统.这个系统实用性非常强,操

2、作起来也非常简单,可以很容易的查找到你所要的信息.例如:如果你要查看某个学生的成绩,只需要输入那个学生的就可以了,系统会自动打印出该学生的有关信息,如学号,每一学科的成绩等,非常简洁,一目了然. 由于时间的紧迫,也由于这是自己第一次设计系统,没什么经验,基础知识也还不是很扎实,所以这个学生成绩管理系统还存在着一定的局限性,希望老师和同学们多多指正,也希望它能为大家带来方便!二,概要设计:1. 数据结构设计设计这个系统,我选择了用结构体来存放不同类型的数据.在这个过程当中,我有打算过用指针,但由于指针这章节非常复杂,而且刚讲不久,自己了解的还不够透切,而且用指针要非常的小心,不然很容易出错,对刚

3、学不久的同学来说,要查出其中的错误,也不那么简单,所以为了尽量减少发生错误,我就没有将指针利用到其中.2.系统的结构设计主函数退出系统功能选择进入系统删除学生成绩排序学生成绩插入学生成绩查看学生成绩3,算法设计说明查看成绩输入XX是否相等输出相关信息结束YN插入成绩输入相关信息进行整理输出插入结果结束YN删除成绩输入要删除的学号与哪个相等将之删除输出删除结果结束YN排序成绩按字母大小输出排好的信息结束YN按学号排按字母排按学号大小输出排好的信息YN4,资料库里包含有的学生成绩信息:1,"li",85,86,87,81, 2,"zhang",75,76,7

4、8,72, 3,"wu",65,66,67,69, 4,"chen",85,76,71,63, 5,"dai",65,68,94,83, 6,"hua",64,84,82,86, 7,"zhuang",71,78,68,74, 8,"ye",82,83.76,65, 9,"zeng",91,83,86,78, 10,"wang",68,88,76,95,三,详细设计 1.建立主函数与界面#include<stdio.h>#i

5、nclude<string.h>#include<stdlib.h>void interface();void search();void insert();void dayin();void dele();void paixu();void xuehao();void zimu();void exit();struct student int num; char name20; int computer; int math; int english; int physics; stu10=1,"li",85,86,87,81, 2,"zh

6、ang",75,76,78,72, 3,"wu",65,66,67,69, 4,"chen",85,76,71,63, 5,"dai",65,68,94,83, 6,"hua",64,84,82,86, 7,"zhuang",71,78,68,74, 8,"ye",82,83.76,65, 9,"zeng",91,83,86,78, 10,"wang",68,88,76,95, ;void main() int j,i; in

7、terface(); for(i=0;i<5;i+) printf(" 请输入你要进行操作的编号,以回车键结束n"); scanf("%d",&j); switch(j) case 1: search(); break;case 2: insert(); break;case 3: dele(); break;case 4: paixu(); break;case 5: exit(0);default:printf("errorn"); void interface() printf(" $n");

8、printf(" n"); printf(" 学生成绩管理系统 n"); printf(" n"); printf(" 设计者:宗华 n"); printf(" n"); printf(" $n"); printf(" n"); printf(" &&&&&&&&&&&&&&&&&&&&&

9、amp;&&&&&&&&&&&&&&&&&&&&&&&&&& n"); printf(" & & n"); printf(" & 1,查询学生成绩; & n"); printf(" & & n"); printf(" & 2,插入学生成绩; & n

10、"); printf(" & & n"); printf(" & 3,删除学生成绩; & n"); printf(" & & n"); printf(" & 4,排序学生成绩; & n"); printf(" & & n"); printf(" & 5,退出. & n"); printf(" & & n"); printf("

11、 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& n");2,查找学生成绩资料void search() int i; char stu_name20; printf

12、("请输入所要查询的学生的n"); scanf("%s",stu_name); for (i=0;i<10;i+) if(strcmp(stu_name,)=0) printf("学号:%d,:%s,计算机:%d,数学:%d,英语:%d,物理:%dn",stui.num,,stui puter,stui.math,stui.english,stui.physics);3,插入新学生成绩void insert() int k; printf("要进行插入操作请按1,要查看插入结果请按2

13、n"); scanf("%d",&k); switch(k) case 1:tianjia();break; case 2: dayin();break; tianjia() int n,z; for(n=0;n<30;n+) if(stun.num='0') printf("请输入新学生的学号:n"); scanf("%d",&stun.num); printf("请输入新学生的:n"); scanf("%s",); print

14、f("请输入新学生计算机的成绩:n"); scanf("%d",&stun puter); printf("请输入新学生数学的成绩:n"); scanf("%d",&stun.math); printf("请输入新学生英语的成绩:n"); scanf("%d",&stun.english); printf("请输入新学生物理的成绩:n"); scanf("%d",&stun.physics); print

15、f("恭喜插入成绩成功n"); break; insert(); void dayin() int z,i; for(z=0;z<30;z+) if(stuz.num='0') for (i=0;i<z;i+) printf("学号:%d,:%s,计算机:%d,数学:%d,英语:%d,物理:%dn",stui.num,,stui puter,stui.math,stui.english,stui.physics); printf("n"); break; 4,删除学生成绩void dele

16、() int i,j,k,n; for(n=0;n<10;n+) if (stun.num='0') n-; break; printf("请输入要删除的学号n"); scanf("%d",&k); if(k>n) printf("输入错误n"); else for(j=0;j<9;j+) if(stuj.num=k) for(i=j;i<n;i+) if(i>k) stui.num=stui+1.num-1; strcpy(,stui+1.name); stui

17、 puter=stui+1 puter; stui.math=stui+1.math; stui.english=stui+1.english; stui.physics=stui+1.physics; printf("删除成功,请看删除结果n"); for(i=0;i<n-1;i+) printf("%d,%s,%d,%d,%d,%dn",stui.num,,stui puter,stui.math,stui.english,stui.physics); 5,排序学生成绩void paixu() int i,m; for(i=0

18、;i<2;i+) printf("按学号排序请按1,按字母排序请按2n"); scanf("%d",&m); switch(m) case 1:xuehao();break; case 2:zimu();break; void xuehao() int i,j,t; char m20; for(j=0;j<=10;j+) for(i=0;i<9;i+) if(stui.num>stui+1.num) t=stui.num; stui.num=stui+1.num; stui+1.num=t; strcpy(m,stui.n

19、ame); strcpy(,stui+1.name); strcpy(stui+1.name,m); t=stui puter; stui puter=stui+1 puter; stui+1 puter=t; t=stui.math; stui.math=stui+1.math; stui+1.math=t; t=stui.english; stui.english=stui+1.english; stui+1.english=t; t=stui.physics; stui.physics=stui+1.physics; stui+1.physics=t; for(i=0;

20、i<10;i+)printf("%d,%s,%d,%d,%d,%dn",stui.num,,stui puter,stui.math,stui.english,stui.physics); void zimu() int i,j,t; char m20; for(j=0;j<=10;j+) for(i=0;i<9;i+) if(strcmp(,stui+1.name)>0) t=stui.num; stui.num=stui+1.num; stui+1.num=t; strcpy(m,); str

21、cpy(,stui+1.name); strcpy(stui+1.name,m); t=stui puter; stui puter=stui+1 puter; stui+1 puter=t; t=stui.math; stui.math=stui+1.math; stui+1.math=t; t=stui.english; stui.english=stui+1.english; stui+1.english=t; t=stui.physics; stui.physics=stui+1.physics; stui+1.physics=t; for(i=0;i<10;i

22、+)printf("%s,%d,%d,%d,%d,%dn",,stui.num,stui puter,stui.math,stui.english,stui.physics); 四,调试分析1,当系统无误,顺利进入学生成绩管理系统时,会看到一个菜单界菜单界面的最下方有提示操作(请输入你要进行操作的编号,以回车键结束),告诉你如何使用该系统!该系统操作非常简单,你所要进行的每一步操作它都会提示你该如何做,就算你是第一次接触该系统,你也可以很顺利地利用它完成你所要做的事!例如你按1,过程与结果如下: 根据提示按你所要进行操作的编号(按1),然后它会继续提示你(

23、输入所要查询的学生的),当你输入(wang)完毕后,系统会自动把你要查询的那个学生(wang)的资料打印出来,你可以很清楚的看到该学生(wang)的相关资料.2,当你觉得当前学生资料不够完善时,可以按2为它添加新的资料;过程如下:当你插入新生成绩成功时,系统会有提示(恭喜插入成绩成功);这时,如果你想查看插入结果,可以按2;结果如下:这时,系统会将资料库里面的所有资料跟你刚才插入进去的新资料一起打印出来;但此时会发现系统有一个缺点,就是我刚才插入进去的新学生成绩信息没有继续保存下来,此时要是我按1执行查看的时候,输入刚才所输入的新学生名字luo,系统不输出luo的信息,这是它的一个不足之处,以

24、后有时间我会将其完善的.该系统不但可以添加新资料,也可以删除你觉得没用的资料,其操作是按功能选择键3,然后按提示一步一步操作,过程如下: 删除之前 可以看到,删除之后原来学号5之后的学生成绩资料已经向前移动一个位置,自动把原来学号5的位置填补上. 当你想为了工作方便一点,要把学生的资料按一定的要求排序的话,可以按4,过程与结果如下:上面左边的是按学号排序的,右边是按字母排序的,用户可以按照自己的要求选择不同的功能来实现自己的目的.五,课程设计总结 紧而又充实的一个星期即将过去,在这一个星期里,通过做课程设计,自己的感触甚多,收获也很多.发现自己对课本知识的认知提升到了一个新的层次,就好像站在一个山峰上俯瞰,可以比较系统地,全面的理解课本上的容.过去觉得理解得模模糊糊的知识点,现在基本上都可以掌握了.这又一次验证了实践能够反作用于认识,只有自己真真正正地动手去做了,将自己

温馨提示

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

评论

0/150

提交评论