学生成绩管理系统实验报告 | ||||||||||||||||
一、设计目的要求 通过C语言程序设计这门课程,我想,我们应该达到的目的与要求应该有以下内容: .在编辑应用程序过程中,逐步加深对C语言编程的理解,掌握结构化程序设计的基本思路和方法; .加强实践的能力,动手能力,同时进一步对所学的知识进行巩固,为以后的学习奠定基础; .增强学生我们利用自己所学知识解决实际问题的能力 4.掌握书写程序设计说明文档的能力 二、设计功能简介 本程序针对登录系统的不同身份(有管理员、学生两个身份)有不同的功能。管理员的功能有以下几个: .管理用户:其中包括浏览用户、增添用户、修改用户、删除用户四个功能; .管理成绩:其中包括浏览成绩、增添成绩、修改成绩、删除成绩、成绩排序五个功能; .个人密码修改。 学生的功能有: .查看成绩:其中可直接查看各科成绩,也可查看单科、总分成绩的排名; .查看个人信息: .修改个人密码。 三、本人工作 虽然编程本身是一件辛苦的事,但作为一个爱好电脑学科的我来说,并不在意。我在这个系统上,花了两天时间。为了这个系统,我反复查资料,调试,纠错……最终完成了这整个系统。 四、详细设计方案 .需求分析 为了管理员能方便了解、管理班上学生的成绩与其他信息,也 同时为了学生能够自主查询自己的成绩的具体情况与其他信息且不能查看别人的私密信息,设计了这个学生成绩管理系统。此系统能对相关信息进行录入、查询、显示、修改并保存在user.dat和score.dat这两个文件里。 .模块详细设计 (1)模块功能 管理员: 浏览成绩(SurfScore()):可以浏览已经录入系统的所有成绩 增添成绩(AddScore()):可以添加学生的成绩 修改成绩(ReviseScore()):对已录入系统的成绩进行修改 删除成绩(DelSocre()):通过提供姓名和ID号,删除对应成绩 排名(OutPut()):管理员可以选择科目,对相应成绩进行排序(用冒泡排序法实现),也输出对应科目的没及格人数和及格率 浏览用户(SurfUser()):浏览所有的用户信息 增添用户(AddUser()):增添用户信息,并提供以后用户登录依据,每个用户拥有唯一的ID号 修改用户(ReviseUser()):管理员可以通过此功能修改任何用户的资料,包括密码 删除用户(DeleteUser()):通过姓名和唯一ID号,删除 对应用户资料 密码修改(ReviseSecre()):管理员仅可以修改自己的登录密码 学生: 查看成绩(ChaScore()):学生只能查看各科成绩,不能查看名次 成绩排名(OutPut()):学生只能在此查看自己的成绩,和对应科目的排名 查看个人信息(ChaInfo()):学生只能查看自己的个人信息 修改个人密码(ReviseSecre()):这和管理员用的同一函数,只能修改自己的密码 (2)定义函数功能说明 结构体说明: 全局变量说明: int cho:用于用户在各个界面的选项 struct g_user:在各个函数中,根据登陆者的信息,实现某些功能输出一些信息 在结构体struct 中也定义了全局变量user 自定义函数、变量说明 (3)模块算法流程图 管理员_菜单 菜单的流程图都与管理员_菜单类似,就不在画菜单的流程图了。 管理员_增加用户 学生个人信息查询学生成绩查询查询与此类似,不再画了。 管理员_删除用户 管理员_修改用户 管理员的成绩管理下的功能与用户管理下的功能十分类似,就不在画成绩管理下 功能的流程图了。 4.实验结果 确定添加用户 删除用户 浏览用户 确定添加成绩 浏览成绩 管理员查看排名 管理员修改成绩 学生主菜单 学生查看排名 五、使用说明 本程序在Dev C 里编写运行而成。虽有登录界面,但第一次使用时,会自动将第一使用者作为管理员。以后可以由管理员添加管理员用户(身份为1)、学生用户(身份为2)。添加完成之后,这些用户信息将保存在同目录的user.dat这个文件下。同理,成绩只有管理员能够进行添加、修改、删除,并把成绩信息保存在score.dat这个文件里。学生只有查看自己的个人信息和成绩排名等信息。 六、程序设计心得体会 通过这次C语言的课程设计,我明白了很多也知道了很多,更收获了很多。 自从确定了题目到完成整个题目,从理论到实践,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论和知识是远远不够的,只有把所学的理论知识与实际相结合起来,才能提高自己的实际动手能力和独立思考能力。同时,我也感受到了编程是一项非常烦琐周密的活动,他不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半点马虎。 通过本次课程设计,我也初步学会了论文设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能力,它使我更加地体会到多看专业书的重要性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题。另外,在做任何事倒要有耐心,不要一遇到困难就退缩。 做完这个题目,信心有所提高。再难的的题目,再浩大的代码堆,也可以设法把他完成。完成之后的喜悦感更是无比美妙!
|