学生成绩管理系统—正文_第1页
学生成绩管理系统—正文_第2页
学生成绩管理系统—正文_第3页
学生成绩管理系统—正文_第4页
学生成绩管理系统—正文_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言课程设计报告 学生成绩管理系统一、组员分工:(1)宫娟( 10通信2班 学号100803017)负责search()、insert()、delete()函数。(2)余娜娜( 10通信2班 学号100803097)负责modify()、output()、sort()函数。(3)开始的结构体初始化和最后的main()函数共同完成。二、设计目的:进一步加深巩固所学专业课程C语言的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力掌握应用C语言编写、调试应用程序和进行其他相关设计的技能。三、设计内容 (1)题目:学生成绩管理系统 (2)要求:1)每条记录包括:学号、姓名、专业

2、和五门课程的成绩; 2)能够实现添加、删除、修改、功能; 3)能够计算某学生的总分和平均分; 4)能够按照总分排序输出。(3) 系统分析和设计及结构图该成绩管理系统由七个主要模块即七个函数组成,每个函数能实现其特定功能,如modify()实现修改功能;函数之间存在调用情况如modify()和delete()都调用search();由此来实现系统的功能。其结构图如下: 主函数原始学生信息查找学生信息修改学生信息删除学生信息添加学生信息计算总分和平均分按学生总分排序输出学生信息 四、系统流程图:开始输出界面选择操作选择2选择1选择3选择4选择5选择6选择7结束输出信息修改信息排序查找添加删除退出系

3、统姓名专业五门成绩按总分按学号按学号调用查找学号五、学生成绩管理系统主要功能(1)记录学生的个人信息包括学号、姓名、专业及五门课的成绩。(2)按学号查找学生信息。(3)能对指定学生的信息进行修改。(4)能删除指定学生的信息。(5)添加需要的学生信息。(6)对学生进行排名。(7)总体的学生信息以表格的形式展现。六、小结及收获和体会1、收获:在此程序中用到了之前未学过的getche()、clrscr()、t,说明如下:(1)getch getche getchar 三者的区别getch和getche都是读入单个字符的,不同的是getc不会将读入的数据输出来,getche就会再把它输出到屏幕上。比如

4、getch读入,按了键以后屏幕上没有输出,但是实际上已经读入了。而getche会把刚按的再输出来。getchar则是读入字符的(2)clrscr()函数名:clrscr 功能:清楚文本模式窗口 用法:void clrscr(void)清除文本模式窗口就是Dos黑窗,又叫console,也叫命令窗。TC函数,相当于DOS的CLS命令。VC+用system(“cls”);例如:void main()printf(“abc”);clrscr();(3)“t ” 水平制表 相当于一个Tab跳格(即相当于在编程的时候按一下“Table”键,使光标以8个字符为基准进行跳跃)2、小结及体会(1)C语言的实质

5、就是以一定的语法规范为基准,通过对变量的复杂结构运算,完成一定功能的程序,是一门计算机基础语言,通过这一学期的学习,对于其算法和特点有了一定程度的了解。两周的课程设计正是让我们巩固以前的知识平在此基础上能够有所突破。(2)设计一个程序的过程就是解决一个实际问题的过程,从解决实际问题的角度,我们可以这样看:首先要了解这个实际问题的基本要求,即输入、输出、完成从输入到输出的要求需要什么,再次必须要捋清思路逐一解决问题的各个方面,即从输入开始着手,着重考虑如何从输入导出输出,在这个过程中,可确定所需变量、数组、函数,然后确定处理过程的算法.七、参考文献:(1)谭浩强 C程序设计教程 清华大学出版社

6、(2)谭浩强 C程序设计 清华大学出版社(3)双语版教材 八、源程序清单:#include "stdio.h" #include "math.h" #define N 30 struct student long int num; char name10; char spec20; int Chinese,Math,English,Music,Physics,total,average; stuN=4001,"lks","t",100,100,100,99,94,4002,"lyt","

7、;g",99,63,89,92,90,4003,"asd","g",60,70,80,83,86,4004,"fgh","t",41,100,98,93,82, 4005,"asd","t",74,74,87,88,87,4006,"yt","z",85,58,78,84,79,4007,"qwe","z",74,100,87,92,86,4008,"dcs",&qu

8、ot;g",74,85,96,93,88, 4009,"qfg","z",74,78,36,88,82,4010,"gft","g",45,85,98,92,80,4011,"mn","g",60,77,17,81,80,4012,"yer","t",78,78,100,92,84,4013,"lsd","t",100,89,85,86,87,s; int M=13; void modi

9、fy(struct student stu) int t;long num;char z; t=search(stu); printf("input num:"); scanf("%ld",&stut.num); printf("input name:"); scanf("%s",&); printf("input spec:"); scanf("%s",&stut.spec); printf("input score of

10、 Chinese:"); scanf("%d",&stut.Chinese); printf("input score of Math:"); scanf("%d",&stut.Math); printf("input score of English:"); scanf("%d",&stut.English); printf("input score of Music:");scanf("%d",&stut.Mu

11、sic);printf("input score of Physics:");scanf("%d",&stut.Physics); stut.average=(stut.English+stut.Math+stut.Chinese+stut.Music+stut.Physics)/5; stut.total=stut.English+stut.Math+stut.Chinese+stut.Music+stut.Physics; printf("NUMtNAMEtSPECtCHINESEtMATHtENGLISHtMUSICtPHYSIC

12、StTOTALtAVERAGEn"); printf("%4ld",stut.num); printf("t%s",); printf("t%s",stut.spec); printf("t%4dt%4dt%4dt%4dt%4dt%4dt%4dn",stut.Chinese,stut.Math,stut.English,stut.Music,stut.Physics,stut.total,stut.average); printf("Next?y/n?"); z=ge

13、tche();if(z='y') modify(stu); void output(struct student stu) int i; printf("NUMtNAMEtSPECtCHINESEtMATHtENGLISHtMUSICtPHYSICStTOTALtAVERAGEn"); for(i=0;i<M;i+) printf("%4ld",stui.num); printf("t%s",); printf("t%s",stui.spec); printf("t

14、%4dt%4dt%4dt%4dt%4dt%4dt%4dn",stui.Chinese,stui.Math,stui.English,stui.Music,stui.Physics,stui.total,stui.average); void sort(struct student stu) int i,j; for(i=0;i<M-1;i+) for(j=0;j<M-i-1;j+) if(stuj.total<stuj+1.total) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); int search(struct stu

15、dent stu) long t,i,K='y'char name20; printf("qing shuru xuehao:n"); scanf("%ld",&t); for(i=0;i<M;i+) if(stui.num=t) K='x' printf("NUMtNAMEtSPECtCHINESEtMATHtENGLISHtMUSICtPHYSICStTOTALtAVERAGEn"); printf("%4ldt",stui.num); printf("%

16、st",); printf("%st",stui.spec); printf("%4dt%4dt%4dt%4dt%4dt%4dt%4dn",stui.Chinese,stui.Math,stui.English,stui.Music,stui.Physics,stui.total,stui.average); return(i); if(K='y') printf("No findn");search(stu); void insert(struct student stu) int i;c

17、har z='y' for(i=M;i<=N&&z='y'i+) printf("input num:"); scanf("%ld",&stui.num); printf("input name:"); scanf("%s",); printf("input spec:"); scanf("%s",stui.spec); printf("input score of Chinese:&q

18、uot;); scanf("%d",&stui.Chinese); printf("input score of Math:"); scanf("%d",&stui.Math); printf("input score of English:"); scanf("%d",&stui.English); printf("input score of Music:");scanf("%d",&stui.Music);printf

19、("input score of Physics:");scanf("%d",&stui.Physics); stui.average=(stui.English+stui.Math+stui.Chinese+stui.Music+stui.Physics)/5; stui.total=stui.English+stui.Math+stui.Chinese+stui.Music+stui.Physics; printf("Next?y/n?n"); z=getche(); if(z!='y') M=i+1; s

20、ort(stu); void delete(struct student stu) long t,i;char z,l,name20; t=search(stu); printf("delete it?y/n?"); l=getche();printf("n"); if(l='y') M=M-1; for(i=t;i<M;i+) stui=stui+1; printf("next? y/n?"); z=getche();printf("n"); if(z='y') delete(stu); output(stu); main() int choice,i; clrscr(); for(i=0;i<M;i+) stui.average=(stui.English+stui.Math+stui.Chinese+stui.Music+stui.Physics)/5; stui.total=stui.English+stui.Ma

温馨提示

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

评论

0/150

提交评论