文档介绍:中南大学二○一三~二○一四学年第一学期信息科学与工程学院程序设计基础实践设计报告课程名称:程序设计基础实践班级:2013级物联网工程1302班学号:0919130205姓名:张晨指导教师:杨希二○一三年十二月目录/Contet课程设计题目………………………………………………………1题目初步分析………………………………………………………1程序总体设计………………………………………………………2程序具体设计………………………………………………………10程序调试测试………………………………………………………12心得与体会…………………………………………………………33源代码………………………………………………………………33课程设计题目学生成绩管理系统学生信息为:学号、姓名、年龄、性别、出生年月、地址、电话、各科成绩等,试设计一个学生信息管理系统,使之能提供以下功能。学生信息录入;学生信息浏览;按学号、姓名查询;学生成绩排序;学生信息修改与删除。综合信息输出。题目初步分析对对象的处理由于每一个对象都包括多个成属性,所以要考虑数据的存储形式要用结构体类型来实现。假如以数组的方式来存储,当然可以,但是定义一个数组,首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。由于题目中的数据需要长期保存,用普通的函数来写已经不可以满足要求了,所以需要用到文件来存储。(设计一个生成链表程序,并将链表中的数据保存到一个数据文件中);(修改)学生信息(设计一个从数据文件中读数据的程序并将数据存放在链表中进行操作,最后将处理后链表中的数据再次保存到一个数据文件中);(设计一个从数据文件中读数据的程序并将数据存放在链表中进行操作,最后按照要求将链表中的某个数据删除后再次保存到一个数据文件中);(设计一个从数据文件中读数据的程序并将数据存放在链表中进行操作,再将链表中的数据显示出来)。(设计一个从数据文件中读数据的程序并将数据先存在链表中,后用一个数组记录总分,进行排序,在查找回相应信息,输出)。程序总体设计主要函数程序框图StudentNumber=1输入相关学生信息及各科成绩并执行循环体输出提示语,跳出循环开始开辟新的内存空间,*flag=newstructflag=NULLmark=trueStudentNumber++StudentNumber++*head=flag*last=flag输出提示语结束Last→。 Y N N Y 。开始定义字符型变量select 定义整型变量returnToMain=0显示提示语向变量select输入一个新的值 select=1select=0 select=2执行函数modifyOne(2)执行函数modifyOne(1)执行函数returnToMain=2跳出循环开始显示提示语向变量select输入一个新的值select=1select=2select=3select=0执行函数deleteAll执行函数deleteOne(2)执行函数deleteOne(3)returnToMain=2returnToMain=。 显示函数。开始定义字符型变量select=1 定义整型变量returnToMain=0显示提示语 向变量select输入一个新的值select=1select=4select=2或3执行函数displayOnereturnToMain=displayOne(select)执行函数displayAll执行函数returnToMain=。开始根据数组排序检索链表内容t=score[i];score[i]=score[k];score[k]=tk!=i返回将链表内容导入数组NomoreinformationcanbesortedStudentNumber==0定义整型变量n=1,i,j,k,select=0i=0返回返回返回返回Nomoreinformationcanbesortedi=i+1返回score[k]>score[j]k=jj<StudentNumberj=k+ik=ii<StudentNumber总程序框图输出界面选择选择6选择3选择5选择4BreakBreakBreakBreakBreak删除数据数据排序显示数据修改数据输入数据结束退出系统选择2选择1程序具体设计p():为了方便输出图形。():调用了p()函数,实现打印出欢迎界面的功能。seletionpage():打印出选择界面;():用来在打开程序时,装载文件数