您好,欢迎访问三七文档
计算机与信息工程系《高级语言程序设计》课程设计报告《高级语言程序设计》课程设计报告题目:研究生初试录取系统专业:班级:姓名:指导教师:成绩:计算机与信息工程系2014年6月20日计算机与信息工程系《高级语言程序设计》课程设计报告目录1设计内容及要求......................................................................................................11.1设计内容..........................................................................................................11.2设计要求..........................................................................................................12概要设计..................................................................................................................22.1系统的功能简介..............................................................................................22.2问题描述...........................................................................................................22.3系统程序结构及流程图...................................................................................33设计过程.................................................................................................................43.1系统组成模块结构及功能..............................................................................43.2程序代码..........................................................................................................64设计结果与分析....................................................................................................134.1程序运行截图..............................................................................................134.2设计分析.........................................................................................................175参考文献...................................................................................................................18计算机与信息工程系《高级语言程序设计》课程设计报告11设计内容及要求1.1设计内容研究生初试录取系统1.2设计要求通过程序序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。(1)收集资料,分析课题,分解问题,形成总体设计思路;(2)深入分析各个小问题,列出大纲,编写各部分程序模块;(3)对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍;(4)上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行;(5)完成课程设计报告,并进行答辩。计算机与信息工程系《高级语言程序设计》课程设计报告22概要设计2.1系统的功能简介1能够统计合格的人数并输出合格考生的相关信息2要保存两个文件,一个为原始数据文件,第二个为合格且排名的3输入的数据应不少于10名考生2.2问题描述研究生考试科目为4门,其中数学,外语,政治,为统一命题,而专业基础课则根据不同的专业由招生学院自行命题。国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。编程统计初试合格的人数,并按总分由高到底的顺序输出合格考生的信息。基本要求程序运行时首先要求输入:考生姓名,准考证号,报考专业,4门课程(政治,数学,外语,专业基础课)成绩。这些原始数据应保存到一个文件中。然后输入:录取的总分要求,各课程的最低分数要求。输出要求:过线考生的姓名,准考证号,报考专业,4门课程(政治,数学,外语,专业基础课)成绩及总分,这些信息应存放到另一个文件中。测试数据程序应输入不少于10名考生的信息,都有合格和不合格的情况。计算机与信息工程系《高级语言程序设计》课程设计报告32.3系统程序结构及流程图开始主界面按1按2按3按4按0保存并结束修改考生信息输出合格考生输入录取要求输入考生信息计算机与信息工程系《高级语言程序设计》课程设计报告43设计过程3.1系统组成模块结构及功能voids_add(void)添加考生信息,用于确认是在未输入还是在输入的情况下添加;voidmenu(void)显示主选菜单voidstudentinfor(Link)考生信息添加的一个主函数,通过单向链表来实现;有设全局变量head和tail分别指向单向链表的首尾地址,为了方便保存结构体里面的数据到文件,且方便再次保存数据;voidSave(Link)保存考生原始数据的函数,以Link类型的数据作为参数,保存单向链表!!其中Link为自定义的数据类型,是node的结构体指针;在保存数据时,通过把单向链表首地址赋值结形参,从而保存数据;voidrequ(void)作用在于输入录取分数线,在程序开始已声明一个结构体变量r,而这个变量中就包含了录取的各科目分数线及录取总分;intchoose(void)用来给student结构体中的变量hege赋值!在输入学生数据的时候,hege变量被自动初始化为n再经过本函数判断,是否满足r结构体中的各个量,如果有其中一个量不满足,则被赋值为n否则为y。当然,在判断考生是否合格前,函数会检查是否已经输入了录取线,如果没有输入,程序会自动报错!!voidsortAndOut(void)这里重新设了一个结构体heges后面的s表示student,这里还有一个比较重要的time变量,用来保存有多少学生合格;下面代码:while(q1!=NULL){q2=q1-Next;计算机与信息工程系《高级语言程序设计》课程设计报告5free(q1);q1=q2;}这段代码的作用在于释放原排序过程中的学生数据,以达到回收内存的作用。接下来进行冒泡法排序,代码如下:q3=q1=hghead-Next;for(i=0;itime-1;i++)//排序因为有time个考生,所以要进行如下次循环{for(j=0;jtime-1-i;j++){p=q1-point;q2=q1-Next;q=q2-point;if((p-data.zongfei)(q-data.zongfei)){q1-point=q;q2-point=p;}q1=q1-Next;}q1=q3;}冒泡法排序,针对这种没有规律的数据还是比较合适的!最后就是输出考生信息,这个比较简单,就不再赘述了……Links_search(void)这个函数是用来查找当前内存中的满足输入考号的考生的,为下面s_mod()函数服务;voids_mod(void)修改考生信息voidout(void)保存数据并退出系统退出系统前有如下几重判断,其一,未输入考生信息,其二,是否已输入录取分数线,其三,当没有合格考生的情况下;使用这三重判断的一个目的是防止程序崩溃。因为这里的退出是保存并退出,当没有数据保存时也保存?此时就会出错,所以这里有三重判断,为的就是防止程序崩溃。计算机与信息工程系《高级语言程序设计》课程设计报告63.2程序代码#includestdio.h#includestdlib.h#includewindows.hstructstudent{charname[10];//学生姓名charzkz[20];//准考证号charbkzy[20];//报考专业intzhengzhi;//政治分数intshuxue;//数学分数intwaiyu;//外语分数intzhuanye;//专业分数intzongfei;//学生总分charhege;};typedefstructnode{structstudentdata;structnode*next;}Node,*Link;Linkhead,tail;//考生信息头结点和尾结点intc=1;//记录已输入多少学生typedefstructheges//用于保存合格学生名次{Linkpoint;structheges*Next;}hgNode,*hglink;hglinkhghead;//保存合格学生地址链表的头指针structrequre{intzhengzhir;intshuxuer;intwaiyur;intzhuanyer;intzongfeir;}r;voidstudentinfor(void)//输入学生成绩计算机与信息工程系《高级语言程序设计》课程设计报告7{intfirstshow(void);voidSave(Link);inti;Linkq=NULL,p=NULL;system(CLS);head=p=(Link)malloc(sizeof(Node));if(p==NULL){printf(溢出错误!!程序2秒后将自动关闭!!);Sleep(2000);exit(0);}do{system(CLS);printf(\t\t\t\t按提示输入第%d个考生信息\n,c);printf(输入考生姓名\n);scanf(%s,p-data.name);printf(输入考生准考证号\n);scanf(%s,p-data.zkz);printf(输入考生报考专业\n);scanf(%s,p-data.bkzy);printf(输入考生政治成绩\n);scanf(%d,&p-data.zhengzhi);printf(输入考生数学成绩\n);scanf(%d,&p-data.shuxue);printf(输入考生外语成绩\n);scanf(%d,&p-data.waiyu);printf(输入考生专业成绩\n);scanf(%d,&p-data.zhuanye);p-data.hege='n';p-data.zongfei=p-data.zhuanye+p-data.shuxue+p-data.waiyu+p-data.zhengzhi;printf(是否结束考生信息输入?输入1继续,输入0退出\n);scanf(%d,&i);if(i==0)brea
本文标题:研究生初试录取系统
链接地址:https://www.777doc.com/doc-5563822 .html