C语言课程设计说明书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1佛山科学技术学院课程设计说明书设计名称:C语言课程设计题目:学生成绩管理系统姓名:XXX专业:网络工程班级:08级1班学号:XXXXXXX指导老师:周燕日期:2010年3月9日2课程设计任务书专业年级班一、设计题目二、学生成绩管理系统三、主要内容数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。要求具有以下功能:(1)系统以菜单方式工作。(2)显示、保存记录;添加、删除、修改任意个记录。(3)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小),存盘并显示这两个文件的全部记录。(4)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。并能按学号或姓名查找并显示某个学生的各科成绩。(5)统计功能:对各科成绩统计分析(平均分、最高分、最低分、及格率等);统计各科各分数段人数。四、具体要求围绕课程设计的目的和意义,基本要求如下:1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求;2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;3、快速熟悉TuberC或C++的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确定时间进度。如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。5.学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。6.提供可运行的课程设计系统,参加上机面试答辩。本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用3(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。五、进度安排依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段:第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档;第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试;第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。三个阶段时间分配的大概比例是:35:45:20。六、完成后应上交的材料1.课程设计的题目、系统的总功能和各子模块的功能;2.题目的设计思想(或算法)简述;3.主要程序的框图(要求用N-S图);4.源程序代码(要求在关键的位置有注释,从而增加程序的可读性);5.课程设计的总结报告,主要包括以下内容:(1)课程设计中遇到的主要问题和解决方法;(2)你的创新和得意之处;(3)设计中存在的不足及改进的设想;(4)本次课程设计的感想和心得体会。以上完成的源程序及相关文档,填写在《课程设计说明书》上,要求干净整洁,符合课程设计的要求和规范。七、总评成绩指导教师签名日期年月日系主任审核日期年月日4C语言程序设计目录一、系统功能...........................................................................................................................5二、功能模块的描述...............................................................................................................61.数据结构........................................................................................................................62.main()主函数.................................................................................................................63.Pwd();//密码验证函数.................................................................................................74.student*creat(void)创建动态链表..........................................................................85.print(structstudent*head)输出链表.........................................................................86.DelMain(structstudent*head)//删除判断函数........................................................97.student*del(structstudent*head,longnum)删除记录............................................98.InputMain(structstudent*head)//插入判断函数...................................................109.student*insert(structstudent*head,structstudent*stud)插入记录.....................1110.Correct(structstudent*head);//继续修改判断函数...............................................1111.Save()保存记录到文件函数:(源程序P24)....................................................1212.Read()从文件中读取记录函数:..........................................................................1313.ReadStuAllToPao()读取保存的数据,冒泡排序后输出到屏幕并放到stuPao.dat文件.....................................................................................................................................1414.ReadStuAllToSel()读取保存的数据,选择排序后输出到屏幕并放到stuSel.dat文件.........................................................................................................................................1415.ReadPao(),ReadSel(),分别从stuPao.dat和stuSel文件中读取记录函数......1516.Binsrch()二分法查找总分人数............................................................................1617.StaScore()分析统计函数:.................................................................................17三、源程序.............................................................................................................................18四、课程设计总结.................................................................................................................351、设计过程的感受与体会...........................................................................................352、遇到的问题与解决方法...........................................................................................365一、系统功能1、系统需求分析学生的成绩是一个庞大的数量,人工处理起来是一件吃力,繁琐的工作。本系统的设计只要是为了减轻教师们的负担,使其能方面,快捷地对学生的成绩进行查找,修改,分析处理。2、系统功能分析本系统的功能包括了密码验证功能,录入、输出学生成绩功能,对成绩进行增、删、改的功能,保存进文件、读取文件的功能,根据平均分排序,根据总成绩查找人数的功能,对各科成绩进行分析统计的功能。3、系统总框架主程序密码进入菜单判断数据输入显示信息添加信息删除信息修改信息冒泡排序选择排序人数查找统计分拆退出按任意键返回6二、功能模块的描述1.数据结构学生信息包括学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。所以将其定义为结构体。本系统使用链表对数据进行添、删、改,然后把数据赋给结构体,以结构体的形式保存进文件。结构体说的定义如下:structstudent{longnum;//记录学号charname[10];//记录姓名chargrade[10];//记录年级charspecialty[10];//记录专业floatscore[3];//记录三科成绩分数floatavg;//记录平均分floatsum;//记录总成绩structstudent*next;//指向下一结点的指针}stud[100];2.main()主函数程序采用模块化设计,主函数是程序的入口,各模块独立,可分块调整,均由主函数控制。采用do-while死循环和switch分支语句编写菜单选择控制各个模块的功能,每个模块的功能由简单的基本函数构成。直接利用输出函数printf输出字符串,在屏幕上显示一个菜单,并显示一个提示输入选项,输入0~9之间的数字,将此数字作为菜单函数的返回值返回主函数,主函数根据这个数字调用相应的功能函数,制作简便,操作简单。用printf显示菜单7当C超出菜单范围输入菜单选项序号赋给C判断数否输入有错误是否提示输入超出范围进行菜单功能的选择返回C值3.Pwd();//密码验证函数本系统提供密码功能,密码初始化为“000000”,并提供密码屏蔽功能。密码验证函数的具体做法是,先接收一段字符,然后看与系统预先设定的密码字符串是否相同,如果相同则返回1,不相同则重新接收一串字符,重复三次,自动返回0.Fori=0to2Fori=0to6pwdPut[i]=getch()单个输入密码输出“*”否是返回1返回0判断密码是否正确84.student*cr

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功