c语言班级档案管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计目的
全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和c语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
2 任务概述
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:班号、学号、姓名、
性别、年龄。
2、本系统显示这样的菜单:请选择系统功能项:a.学生基本信息录入b.学生基本信息显示c.学
生基本信息保存d.学生基本信息删除e.学生基本信息修改f.学生基本信息查询(按学号查询)g.添
加学生基本信息g.退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
5、进入系统之前要先输入密码。
6、数据结构:结构体类型数组
7、数据库结构:下表构成该系统的基本数据库。
班号:char claNum
学号:char stuNum
姓名:char name
性别:char sex
年龄:int age
3 模块划分
班级档案管理系统包括:a.学生基本信息录入、b.学生基本信息显示、c.学生基本信息保存、d.学生基本信息删除、e.学生基本信息修改、f.学生基本信息查询(按学号查询)、g.添加学生基本信息、 g.退出系统8个功能,功能模块图如图3所示。
图3 功能模块图
4 主要函数说明及其N-S图
主函数:void main(); 程序的入口函数;
录入函数:void input(); 录入学生的基本信息;显示函数:void show();显示出学生的基本信息
删除函数:void delete();删除不用的信息;
修改函数:void Modfiy(); 修改错误的学生信息;查询函数:void query();查询学生基本信息;
添加函数:void add();添加新同学的信息;
(1)输入密码进入主菜单,如图4-1所示。
图4-1 进入主菜单(2)录入学生基本信息,如图4-2所示。
图4-2 录入学生基本信息
(3)显示学生基本系信息,如图4-3所示。
图4-3显示学生基本系信息(4)保存学生基本信息,如图4-4所示。
图4-4 保存学生基本信息
图4-5 查询学生基本信息(6)修改学生错误信息,如图4-6所示。
图4-6 修改学生基本信息
图4-7删除学生基本信息
5 程序运行数据及其结果
用户使用说明书:
(1)输入密码进入主菜单,程序截图如图5-1所示。
图5-1 主菜单
(2)录入学生基本信息界面,程序截图如图5-2所示。
图5-2 录入界面
(3)显示学生基本信息,程序截图如图5-3所示。
图5-3 显示界面(4)删除学生基本信息,程序截图如图5-4所示。
图5-4删除界面(5)修改学生基本信息,程序截图如图5-5所示。
图5-5修改界面(6)查询学生基本信息,程序截图如图5-6所示。
图5-6查询界面(7)添加学生基本信息,程序截图如图5-7所示。
图5-7添加界面
6 课程设计心得
通过这次课程设计我学到了许多感觉自己的知识的不够这次数据库课程设计的“班级档案管理系统”,通过在机房的不断调试和修改其中错误加上验证和测试使得对该系统的运用已经能够已经得到了充分的应用了。去图书馆查阅了一些书集和上网搜索一部分资粗略设计出该系统。
总体上来说,这次课程设计还是比较成功的,充分运用了所学的软工程设计,出N-S图,从整体
规划出系统的运行环境和系统实现的功能。当然,由于学艺不精,在课程设计的过程中也碰到的一些问题。其中,画N-S图时,各实体中的关系的确定,由于对系统还不够了解而找不到一个准确的词来形容;总体规划,材料太多,不易整理;相关数据库技术方面没有多注意,这次课程设计的重点只在对整个系统的总体思路设计。
其实这些通过最近的课程设计觉得最重要一点就是:我们一定要自己动手,这样才能真正的学到东西。书本知识固然重要,但我们更要学会将书本知识应用到实际中才会发现错误,也才能改进,才能达到学习的最终目的。
但我出总结出了一点点的经验如下:
1、要对系统的功能和要求做出详细的分析,并合理分解任务。
2、把分解出来的子任务,做给一个相对独立的模块。
3、在设计一个模块之前,要简单构想一下总界面的显视情况。
4、针对构想出来的界面进行程序的编写。
虽然我的课程设计师存在许多的问题,究其原因还是因为自己平时没有认真听老师讲课,但是我还是希望老师能够白忙中抽空看看我的课程设计的报告,我将非常感谢!
附录:
#include
#include
#include
#define N 100
struct Student
{
char clsNum[20];
char stuNum[20];
char name[10];
char sex[5];