1、高级级语言课程设计报告实验课程:课程设计 年级:16 级 实验成绩:课程设计名称:学生成绩管理系统 姓名:石宏伟 任课教师:杨有安 学号:160101050027 实验日期:一、目的通过编一些小程序,巩固和利用所学的知识,加强变成能力。本课题涉及的知识内容:关于时间的函数,for 循环嵌套, if 语句,一维数组,结构数组,自定义函数等高级语言内容。二、内容与设计思想1设计内容学生信息管理系统(1)登记学生信息(2)删除学生信息(3)浏览所有已经登记的学生(4)查找(4.1)按学号查找(4.2)按姓名查找(4.3)按成绩查找(5)根据总成绩排序(6)储存到文件(7)从文件导出(8)退出系统2主
2、要代码结构学生成绩管理系统操作 查询 成绩统计登记删除显示查询按成绩查询按姓名查询按学号查询各门平均分3 主要代码段分析。总共分为八个板块,分别作为学生成绩录入,删减,浏览,查找,排序,储存和导出的作用。用 switch 函数将整体分成八个菜单,以方便直接进行操作。本程序中,对于学生信息的记录用了结构数组的形式,对于主要数据结构的应用如下:结构数组: Typedef struct student /*结构体*/ char xuehao20; /* 学号*/char xingming20; /* 姓名*/int scoreM; /* 分数*/ int sum; /* 总成绩*/本程序执行的入口是
3、 main 函数,然后用 switch 语句实现对各个函数的调用。被调用的函数都是没有形参的,函数直接实现所需要的功能。最后,再从 main 函数中结束整个程序的运行。 其中涉及到被调用的函数有: Void menu 显示帮助信息;Void dengji 登记学生信息 ; Void shanchu 删除学生信息 ; Void liulan 浏览学生信息 ; Void chazhao 查找学生信息; Void paixu 学生信息排序; Void cunchu 存储学生信息; Void daochu 导出学生信息;三、使用环境本次上机实践所使用的平台和相关软件。平台:Windows 7相关软件:
4、Microsoft Visual C+6.0四、调试过程1测试结果分析经检验,运行结果正确五、总结通过此次为期三周的课程设计实训课,我更加了解了关于 C 语编程以及程序书写的更多的知识,在当初的 C 语课时留下了许多问题,比如结构体,以及连接,通过此次课程,我巩固了在 C 语课中遗留的问题,并且使当初遗忘了的知识点更加明了。这次课程设计,我成功的创建了一个信息管理的系统,在编写这个系统过程中,我遇见了颇多的问题,比如,无法显示出结果或者直接是无法运行,在经过严密的程序检查后,一般发现我的问题主要是细节上的问题,如在个别语句后面忘记加 ; ,在此次设计过程中虽然遇见了一些问题,但总体还是成功的,
5、在编写程序的过程中,细节明显更加重要,细节决定成败,通过此次课程也让我的 C 语言知识更加的清晰明了。六、附录1源代码#include #include #include #include #define M 3 #define N 100 void menu(); #include“head.h“void main()menu(); #include“head.h“typedef struct student char xuehao20; char xingming20; int scoreM; int sum; STUDENT; STUDENT studentN; int renshu=0
6、; void fhzjm() char biaozhi20; printf(“n“); printf(“还需要操作么?如果需要操作请输入:yes,否则请输入:non“); scanf(“%s“,biaozhi); if(strcmp(biaozhi,“yes“)=0) menu(); else if(strcmp(biaozhi,“no“)=0) exit(0); else printf(“请输入正确的字符,谢谢!n“); fhzjm(); void DengJi() int rs; int i,j,k=1; system(“CLS“); printf(“请输入需要输入几个学生信息:“); s
7、canf(“%d“, for(i=renshu;isumsum) temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp; printf(“按照总成绩排序之后的信息为:n“); printf(“-学号- 姓名 -总成绩-n“); for( i=0;ixuehao,(*(p2+i)-xingming,(*(p2+i)-sum); fhzjm(); void CunChu() int i; FILE *rs; if(rs=fopen(“card.dat“,“wb“)=NULL) printf(“not open“);exit(0); for(i=0;irenshu;i+)