欢迎来到天天文库
浏览记录
ID:12395270
大小:209.00 KB
页数:23页
时间:2018-07-16
《综合课程设计-学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、目录一、各功能模块程序流程图…………………………………………2二、程序解析…………………………………………………………5三、调试分析…………………………………………………………7四、设计体会…………………………………………………………8五、参考书目…………………………………………………………9六、源代码……………………………………………………………10一、各功能模块程序流程图:(1)学生成绩管理系统总流程图(图4.1)NY进行查询,修改,统计等操作进入程序打开保存文件增加学生纪录保存学生纪录系统启动退出系统(2)查询学生记录流程图(图4.3)YNN2入口输入信息指针为空是
2、目标记录输入记录信息到表尾?结束(3)学生记录排序流程图(图4.5)4入口打开文件原表不为空总分比较排序点值小排序点值大表指针后移排在首位插入中间位置到表尾?记录名次结束NYNYNY(4)显示文件流程图(图4.7)YN8入口结束找到文件显示学生信息P为空?二、程序解析1.数据结构链表是线形表的一种,线形表分为顺序存储结构和链式存储结构。线形表的顺序存储结构的特点是逻辑关系上相邻的两个元素物理位置上也相邻,因此可以随机存取表中任一元素。链式存储结构的特点是用一组任意的存储单元存储线形表的数据元素。链表的最大的优点是对表的添加、删除、查找、排序等操作比较方便,因此采用链表来存
3、储学生相关信息。且对结点的定义如下:typedefstructmessage_student/*结构体定义*/{charnumber[6];charname[20];charsex[4];floatsubject[numsubs];floatscore;floataverage;intindex;}studen2查询学生记录类C码算法:函数说明:#include"stdio.h"intfindrecord(studentstud[])/*查找信息*/定义相关变量:charstr[2];inti,num;如果没有保存文件:if(numstus==0)输出没有可被查找的记录:
4、printf("没有可被查找的记录");返回函数:return-1;否则,输出“按何种方式查询”:printf("以何种方式查找?1.学号t2.姓名t3.名次");选择1,按学号查找:if(str[0]=='1')/*按学号查找*/输出“请输入学号”:printf("请输入学号:");进行for和if语句的循环,进行选择:for(i=0;i<=numstus;i++)if(strcmp(str,stud[i].number)==0)若找到符合要求的信息,则输出:display(stud,i,i);否则退出,执行其它程序:break;按姓名,名次查询的程序与
5、其相同,不再累赘;如果输入的条件都不符合;if(i>numstus)输出“没有查找所要的信息”printf("没有查找所要的信息。");返回函数:return-1;返回主函数:returni;三、调试分析错误结果分析在实验过程中,我们遇到许多的问题,但是在老师的指导下和同组成员的交流中得到了解决。其中,主要的错误有主函数mian()重复,缺少分号等。主函数main()重复(图5.10)缺少分号(图5.11)分号是C语句中不可缺少的一部分,语句末尾必须有分号。缺少或多加分号都会引起错误,下面是对这两种情况的简单分析:(a)忘记加分号:a=1b=2编译时,编译程序在“a=
6、1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看一下,上一行是否漏掉了分号。{z=x+y;t=z/100;printf("%f",t);}对于复合语句来说,最后一个语句中最后的分号不能忽略不写。(b)多加分号:对于一个复合语句,如:{z=x+y;t=z/100;printf("%f",t);};复合语句的花括号后不应再加分号,否则将会画蛇添足。以上这些错误是由于对于课本知识的不熟悉,本来不应该出现的错误,却多次出现,说明对于课本知识不能够灵活的运用。四、设计体会C语言是一门计算机基础
7、语言,通过这一学期的学习,对于它的一些特点和算法有了一定程度的了解,并能够做一些中等的题目,但并没有完全掌握。这周的课程设计正是让我们巩固以前的知识并在此基础上能够有所突破的好时机。C语言程序设计是过程性程序设计语言,它的发展贯穿了计算机发展的整个历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程。 在C语言程序设计过程中,了解了TurboC与VisualC++在使用过程中的不同之处。学习C语言,必需注意每一个细节,书上的例子代码一定要自己亲自敲一遍,编译执行输出都跟书上说的一致才
此文档下载收益归作者所有