C语言编写方案-学生成绩管理系统

C语言编写方案-学生成绩管理系统

ID:41535322

大小:259.05 KB

页数:28页

时间:2019-08-27

C语言编写方案-学生成绩管理系统_第1页
C语言编写方案-学生成绩管理系统_第2页
C语言编写方案-学生成绩管理系统_第3页
C语言编写方案-学生成绩管理系统_第4页
C语言编写方案-学生成绩管理系统_第5页
资源描述:

《C语言编写方案-学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、难易程度中等开发语言■开发工具操作系统:WindowsXP或更高开发平台:VC++6.0关键字

2、学生成绩管理■《C语言程序设计》课程综合案例一案例03学生成绩管理系统3.1需求分析在对学牛成绩管理系统进行需求分析的过程屮,需要确定系统的主要功能,对软件开发的主要目的、软件的使用领域和冇关该软件开发的软硬件环境进行详细的分析。3.1.1系统概述学生成绩管理系统主要用于对学生的学号、姓名及各项学科成绩进行增、删、改、查等操作。系统给用户提供了-•个简单的人机界血,使用户可以根据提示输入操作项,调用系统提供的管理功能。3.1.2系统运行环境硬件环境•处理器:IntelPentium1

3、66MX或更高•内存:32MB•硬盘空间:1GB•显卡:SVGA显示适配器二、软件环境•操作系统:Windows98/ME/2000/XP3.1.3功能需求描述1.输入学生信息:用户根据提示输入学生的学号、姓名、各科成绩,并由系统计算总分和平均分,并设置名次的初始值为0。可一次性输入多条学生记录。2.杏找学生信息:按照学生姓名查找宁生信息,如果存在,则提示用户找到并输出杳找结果。3.插入学生信息:插入在指定学号的记录前,先査找指定学号是否存在,若存在,直接插入在此记录前,若不存在,则插入在所有记录最示。4.修改学纶信息:捉示用户输入要修改的学牛•学号,查找该学号是否存在,成功则

4、允许修改该学牛的姓名、学科成绩等主要内容,并重新计算总分和平均分;失败,显示没找到。1.删除学生信息:提示用户输入要删除的学生学号,如在,则删除,若没有,则提示相应信息。2.保存信息至文件:将所有的学牛成绩信息保存到磁盘文件屮,以方便用户管理。3.读文件:将磁盘文件屮的数据读到内存以供用户进行查询、修改、删除、添加、排序等操作。&学生成绩排序:根据学生成绩的总分进行降序排列,并将排序结果显示给用户。9•计算学生总分和平均分:计算每位学生的总分和平均分,并计算所有学生的总分和平均分。10.文件备份:将磁盘文件做一个备份文件,以防止数据意外丢失。3.2总体设计3.2.1设计思路程序

5、设计一般由两部分组成:算法和数据结构,合理地选择和实现-个数据结构和处理这些数据结构具冇同样的重要性。在管理程序中,若使用静态数组保存数据,则会占用连续的存储空间。它的缺点是需要预先佔计记录大小,如果估计得过大,则浪费空间,如果小了,不容易扩充。特别是当需要动态变化时,例如插入数据和删除数据等操作需要移动数据,容易出错。所以我们使用单链表结构来管理学生成绩,这样,不用事先估计学生人数,方便随时插入和删除学生记录,且不必移动数据,实现动态管理。代价是牺牲一部分空间用来存放表示结点关系的指针。当然,链表的灵活性也带来了管理的复杂性。3.2.2系统模块结构图木程序利川单链表存储结构完

6、成对学生成绩的动态管理,其基本功能模块如图3-1所示。学生成绩管理系统输入记录模块■更新记录模块■■■统计记录模块■输出记录模块图3-1基本功能模块图3.2.3数据结构设计将一个学牛当作一个结点,这个结点的类型为结构体,结构体中的域表示学生的属性,每个结点除了存放属性外,还存放结点Z间的关系,即存放指向后继结点的指针。结点结构如2#defineN3//定义课程门数,可以根据情况设定typedefstructstudent//定义数据结构{charno[10];//学号charname[20];//姓名floatscore[N];//各门课成绩floatsum;〃总分floata

7、ve;//平均分intorder;//名次structstudent*next;〃指向后继结点的指针}STU;〃结构体类型名324功能模块设计—、main()主函数调用menu()菜单函数进入hile⑴主循环输入0・12中的一个数值,选择相应操作图3-2主控函数执行流程程序采用模块化设计,主函数是程序的入口,主函数不宜复杂,功能尽量在各模块中实现。main()两数执行流程图如图3-2所示。首先声明一些必要的变量,然后作一无限循环程序,循环体为一个开关语句,该语句的条件值是通过调用主菜单函数得到的返回值,根据该值,调用相应的各功能函数,同时设置一个断点,即当返回值为一定条件时运行

8、cxit()函数结束程序,以免造成死循环。二、menu_select()主菜单直接利用输出函数printf输出字符串,在屏幕上显示一个菜单,并显示一个提示输入选项,输入0-12Z间的数字,将此数字作为菜单函数的返回值返回主函数,主函数根据这个数字调用相应的功能函数。制作简便,操作简单,界面如图3-3所示。图3-3主菜单界面三、输入记录模块1.从键盘输入输入学生信息的同时,创建链表。按照提示信息输入学号、姓名、三门课程成绩,每输入一个数就按一下回车键,当输入学号首字符为@时结束输入,返回主函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。