学生成绩管理系统(详细操作过程)

合集下载

山东省学生信息管理系统使用说明

山东省学生信息管理系统使用说明

山东省学生信息管理系统使用说明欢迎使用山东省学生信息管理系统!本系统旨在方便学校、教师和学生管理学生信息,提高工作效率。

以下是详细的系统使用说明,请您仔细阅读,以便更好地使用本系统。

1. 系统登录在首次使用系统之前,请确保您已获得有效的登录账号和密码。

如有需要,请联系学校管理员进行账号注册。

1.在浏览器地址栏输入系统网址,进入登录页面。

2.输入您的账号和密码,点击“登录”按钮。

3.登录成功后,您将进入系统主界面。

2. 学生信息管理在主界面,您可以进行学生信息的添加、修改、查询和删除操作。

1.点击“学生信息”菜单,选择“学生列表”选项。

2.在学生列表页面,您可以查看所有学生的基本信息。

3.点击列表中的某条记录,可查看该学生的详细信息。

4.点击“添加学生”按钮,进入学生信息添加页面。

5.填写学生相关信息,点击“保存”按钮。

6.若需修改学生信息,点击“编辑”按钮,填写修改内容后点击“保存”。

7.若需删除学生信息,点击“删除”按钮,确认后即可删除。

3. 成绩管理在主界面,您可以进行学生成绩的添加、修改、查询和删除操作。

1.点击“成绩管理”菜单,选择“成绩列表”选项。

2.在成绩列表页面,您可以查看所有学生的成绩信息。

3.点击列表中的某条记录,可查看该学生的详细成绩信息。

4.点击“添加成绩”按钮,进入成绩信息添加页面。

5.填写学生相关信息和成绩,点击“保存”按钮。

6.若需修改成绩信息,点击“编辑”按钮,填写修改内容后点击“保存”。

7.若需删除成绩信息,点击“删除”按钮,确认后即可删除。

4. 班级管理在主界面,您可以进行班级信息的添加、修改、查询和删除操作。

1.点击“班级管理”菜单,选择“班级列表”选项。

2.在班级列表页面,您可以查看所有班级的基本信息。

3.点击列表中的某条记录,可查看该班级的详细信息。

4.点击“添加班级”按钮,进入班级信息添加页面。

5.填写班级相关信息,点击“保存”按钮。

6.若需修改班级信息,点击“编辑”按钮,填写修改内容后点击“保存”。

学生成绩管理系统(线性表版)

学生成绩管理系统(线性表版)

学年论文(数据结构 2015—2016 第一学期)题目: 数据结构课程设计作者:陈炳宏所在学院:信息科学与工程学院专业年级:信息安全14-1指导教师:刘淑娴职称:副教授2016年 1 月 4 日一.学生成绩管理系统 (1)1。

1需求分析 (1)1。

1.1程序分析: (1)1。

1.2执行方式: (1)1。

1.3 程序执行的命令包括: (1)1.1.4测试数据: (2)1.2概要设计 (2)1.2.1 线性表的抽象数据类型定义为: (3)1.2。

2 结点的抽象数据类型定义为: (3)1。

2。

3指针的抽象数据类型定义为: (3)1。

2.4本程序包含8个模块: (4)1。

3详细设计 (5)1.3.1 元素类型、结点类型和指针类型 (5)1.3.2 函数说明 (5)1。

3.3 功能函数 (5)1。

4 调试分析 (15)1.5 用户手册 (15)1。

6测试结果 (18)一.学生成绩管理系统1.1需求分析1.1。

1程序分析:本程序是一个基于线性表结构编写的学生成绩管理系统,学生可以进行包括学生信息建立、在不同位置插入学生信息、查询指定学生信息、删除指定学生信息和输出显示所有学生信息这五项功能,功能操作简单,效率高,可延展性强. 为保证信息的真实性,学生信息中学号长度num<=11,姓名长度name〈=8,性别gender<=3,成绩仍意输入,并且学号和成绩只能为数字,否则程序出错。

1。

1。

2执行方式:本程序以用户和计算机的对话方式执行,即在计算机终端上显示7个共能选择的“提示信息"之后,由用户在键盘上输入本程序中规定的功能指令;相应的输人数据(并能滤去输入中的非法字符)和显示信息来处理结果。

1.1.3 程序执行的命令包括:(1)学生信息链表的建立;建立后仍意建继续输入,n和N退出;(2)插入学生信息;输入插入的位置;(3) 查询学生信息;选择两种方式之一查找并查询;(4)删除学生信息;选择两种方式之一查找并删除;(5)修改学生信息;选择两种方式之一查找并修改;(6) 输出所有学生信息;(7)退出管理系统.1.1.4测试数据:(1)建立三个学生信息:学号(11)姓名(8)性别成绩20141305210,cc,n,8920141302399,sxz,w,9920151432596,sad,n,88(2) 插入一个学生信息:学号(11)姓名(8)性别成绩2016,scs,n,79输入插入位置:2(3) 查询学生信息:按1选择学号查询,输入学号:20141305210按2选择姓名查询,输入姓名:scz(4) 删除学生信息:按2选择姓名删除,输入姓名:cc(5)修改学生信息:按1选择学号修改,输入学号:20141302399输入修改后的数据:学号(11)姓名(8) 性别成绩20141312399,scz,w,691。

学生成绩管理系统(详细操作过程)

学生成绩管理系统(详细操作过程)

学生成绩管理系统我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。

我创建的基于单文档的应用程序,过程不介绍,大家都会。

下面的是我系统菜单:思路:刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。

当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。

如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。

“学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。

整体设计:因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下:【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码:#include <afxdb.h>【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){//使“退出系统”和其他3个权限菜单都不可用,即都是灰色的GetMenu()->GetSubMenu(0)-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);}【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”菜单项不可用,并根据用户类型使相应菜单可用。

数据库课程设计_学生成绩管理系统

数据库课程设计_学生成绩管理系统

1。

概述1.1 简单介绍本系统实现的内容该学生成绩管理系统,实现简单的密码修改、成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。

此系统主要完成用户密码登录、用户密码的修改、成绩查询、课程查询、学生查询、具体成绩查询等基本功能.(一)用户密码登录:在登录程序之前会先弹出一个登录对话框,在正确的输入了数据库中存储的用户和密码后才能登录程序.(二)用户密码的修改在成功登录了程序之后用户可以根据自己的需要修改当前密码.(三)成绩查询1。

成绩修改前选中要修改的成绩信息,然后进行修改。

2.成绩添加直接弹出添加对话框,然后进行添加。

3.成绩删除前选中要删除的成绩信息,然后直接删除。

(四) 课程查询1。

课程修改实现对课程名、学时、学分的修改。

2.课程添加对一门新开设的课程进行录入,并存入数据库。

3。

课程删除对一门不再开设的课程进行删除,并从数据库中删除。

(五)学生查询1。

学生信息修改修改选中当前学生的信息。

2。

学生信息添加增加新学生的信息。

3。

学生信息删除删除选中当前学生信息。

1。

2 开发环境简介1)Microsoft visual c++ 6。

0Visual C++是一个功能强大的可视化软件开发工具。

自1993年Microsoft公司推出Visual C++1。

0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具.Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。

Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具. 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。

2)Microsoft SQL Server 2000和与系统相关的SQL 语言介绍数据定义DDL(data definition language)数据定义语言是指对数据的格式和形态下定义的语言,他是每个数据库要建立时候时首先要面对的,举凡数据分哪些表格关系、表格内的有什么栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的.2。

学生成绩管理系统

学生成绩管理系统

目录1 需求分析 (1)1.1行业现状 (1)1.2可行性分析 (2)1.3 系统运行环境 (3)2 系统设计 (4)2.1 E-R图 (4)2.2 数据字典 (6)3 代码 (9)总结 (10)参考文献 (11)1 需求分析该学生成绩管理系统,实现简单的密码修改、成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。

此系统主要完成用户密码登陆、用户密码的修改、成绩查询、课程查询、学生查询、具体成绩查询等基本功能。

(一)用户密码登录:在登录程序之前会先弹出一个登录对话框,在正确的输入了数据库中存储的用户和密码后才能登录程序。

(二)用户密码的修改在成功登录了程序之后用户可以根据自己的需要修改当前密码。

(三)成绩查询1.成绩修改前选中要修改的成绩信息,然后进行修改。

2.成绩添加直接弹出添加对话框,然后进行添加。

3.成绩删除前选中要删除的成绩信息,然后直接删除。

(四) 课程查询1.课程修改实现对课程名、学时、学分的修改。

2.课程添加对一门新开设的课程进行录入,并存入数据库。

3.课程删除对一门不再开设的课程进行删除,并从数据库中删除。

(五)学生查询1 .学生信息修改修改选中当前学生的信息。

2 .学生信息添加增加新学生的信息。

3.学生信息删除删除选中当前学生信息。

1.1 行业现状在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快。

因此对教育行业的多元信息进行有效的管理工作,也成为教育行业中的重中之重。

目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。

为各高校教务工作人员减轻负,提高工作效率,所以制作了学生成绩管理系统。

学生成绩管理系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。

比较系统地对教务、教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。

成绩录入和学分管理及综合实践等使用方法

成绩录入和学分管理及综合实践等使用方法

1.1.1原始成绩录入学生成绩登记,可分为成绩录入和成绩导入两种方式,成绩导入系统提供了模板供参照,本节简介怎样进行成绩录入。

如下以维护“高二(01)班”“-第二学期模块终止性考试”中“英语写作”模块为例,操作示范如下图:操作环节:1.在左侧“成绩管理”标签页中找到“原始成绩录入”功能项;2.右侧维护区选定考试名称“-第二学期模块终止性考试”、模块名称“英语写作”;3.在左侧班级列表中找到目班级“高二(01)班”;4.右侧维护区显示该班级学生信息,在成绩一列中依次输入学生成绩信息;5.成绩输入完毕后,单击页面下方“保留”,完毕学生成绩信息录入。

1.1.2成绩记录假如需要考察学生学习成绩走势、班级成绩对比、年级成绩走势等成绩综合记录报表,则需进行成绩记录。

如下以记录“高二年级”“-第二学期模块终止性考试”中“英语写作”记录为例,操作示范如下图:操作环节:1.在左侧“成绩管理”标签页中找到“单科成绩记录”功能项;2.右侧维护区选定考试名称“-第二学期模块终止性考试”、年级“高二”、班级类型“一般班”、学科名称“英语写作”;3.选定记录措施,按“分数线”记录;4.设定A、B、C、D、E等分数线;5.单击下方“记录”完毕成绩,并保留,保留成绩记录成果。

1.1.3补考处理对达不到及格分数学生要进行补考处理。

首先生成模块补考名单,在补考过后需要维护补考学生补考成绩。

以“英语写作”模块高二年级补考学生为例示范操作如下:操作环节:1.在左侧“成绩管理”标签页中找到“补考处理”功能项,选择维护区上方“补考名单生成”项;2.右侧维护区选定考试名称“-第二学期模块终止性考试”、模块“英语写作”,点击页面下方“生成名单”;3.在跳出“生成名单”——对话框,单击“确定”;4.进入“补考名单打印”项,查看右上方打印预览,并打印名单;5.补考结束后,进入“补考成绩维护”项;6.维护考生补考成绩,点击页面下方“保留”后,再点击“替代”,完毕补考成绩更新。

学生成绩管理系统软件结构图

学生成绩管理系统软件结构图

学生成绩管理系统
一、软件功能层次图
根据需求分析得出学生成绩管理系统功能结构图.如图1所示:
图1学生成绩管理系统功能结构图
二、软件体系结构
学生成绩管理系统是对学生成绩信息的管理和维护,是以数据为中心的体系结构,依靠数据联通各个部分,使之协调工作。

图2是学生成绩管理系统对应的体系结构示意图
图2学生成绩管理系统的体系结构示意图
根据需求分析根据系统安全性的需求,增加了用户身份验证环节。

对关联图进行细化和修改,根据该系统的数据关系,整理出了图3所示的数据流图。

本数据流图采用了事务分析的方法。

图3 学生成绩管理系统数据流图
从软件的整体布局考虑增加了系统初始化模块和菜单显示模块,用以完成系统运行环境的搭建,图4是对图3的数据流图进行分析和分解得到的软件结构图。

图4学生成绩管理系统软件结构图
三、教师服务子系统
1、功能描述
教师首先输入账号和密码登录系统,系统验证教师身份的有效性,无效则提示原因,有效则进入管理界面.教师可以通过学生学号插入或查询学生的信息和成绩,也可以对成绩进行排序处理,可以整体宏观的比较学生成绩,分析学生成绩。

2、模块结构
根据功能和数据流图可以得出教师服务子系统的软件结构图,如图5所示
图5教师服务系统软件结构图
四、学生服务子系统
1、功能描述
学生首先输入账号和密码登录系统,系统验证学生身份的有效性,无效则提示原因,有效则进入管理界面。

学生可以通过学号插入或查询学生的信息和成绩,也可以对成绩进行排序处理,可以整体宏观的了解自己的成绩
2、模块结构
根据功能和数据流图可以得出学生服务子系统的软件结构图,如图6所示
图6学生服务系统软件结构图。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图数据流程图是一种图形化工具,用于描述系统内部的数据流动和处理过程。

在学生成绩管理系统中,数据流程图可以清晰地展示信息的输入、处理和输出过程,有助于理解系统的功能和流程。

1. 整体数据流程图整体数据流程图展示了学生成绩管理系统的总体流程,包括主要的数据流和处理过程。

以下是一个简化的整体数据流程图示例:[图1 整体数据流程图]2. 子系统数据流程图学生成绩管理系统可以划分为多个子系统,每一个子系统负责不同的功能模块。

以下是几个常见的子系统数据流程图示例:2.1 学生信息管理子系统数据流程图[图2 学生信息管理子系统数据流程图]学生信息管理子系统负责学生信息的录入、查询、修改和删除等操作。

数据流程图中的主要流程包括学生信息的录入、查询和修改。

2.2 课程管理子系统数据流程图[图3 课程管理子系统数据流程图]课程管理子系统负责课程信息的录入、查询、修改和删除等操作。

数据流程图中的主要流程包括课程信息的录入、查询和修改。

2.3 成绩管理子系统数据流程图[图4 成绩管理子系统数据流程图]成绩管理子系统负责学生成绩的录入、查询、修改和统计等操作。

数据流程图中的主要流程包括成绩信息的录入、查询、修改和统计。

二、数据字典数据字典是对系统中使用的数据项进行定义和描述的文档,包括数据项的名称、含义、数据类型、长度、取值范围等信息。

在学生成绩管理系统中,数据字典可以匡助开辟人员和用户理解各个数据项的含义和属性。

以下是学生成绩管理系统中常见的数据字典示例:1. 学生信息表(Student)数据项含义数据类型长度取值范围学生ID 学生惟一标识字符串 10 100000001-999999999姓名学生姓名字符串 20 任意字符性别学生性别字符串 2 男、女年龄学生年龄整数 3 10-100班级学生所在班级字符串 20 任意字符2. 课程信息表(Course)数据项含义数据类型长度取值范围课程ID 课程惟一标识字符串 10 1001-9999课程名称课程名称字符串 50 任意字符学分课程学分浮点数 - 大于0的数字教师ID 教师惟一标识字符串 10 1000001-99999993. 成绩信息表(Grade)数据项含义数据类型长度取值范围学生ID 学生惟一标识字符串 10 100000001-999999999课程ID 课程惟一标识字符串 10 1001-9999成绩学生成绩浮点数 - 0-100以上是学生成绩管理系统数据流程图及数据字典的示例,可以根据实际需求进行调整和扩展。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一个用于记录和管理学生学习成绩的系统。

下面是该系统的数据流程图,详细描述了信息的流动和处理过程。

1. 学生信息录入流程学生信息录入是系统的起始点,用于将学生的个人信息录入系统中。

该过程包括以下步骤:- 学生填写学生信息表单:学生需要填写包括学号、姓名、性别、年龄等个人信息的表单。

- 信息表单提交:学生将填写好的表单提交给系统。

- 信息验证:系统对提交的表单进行验证,确保填写的信息格式正确。

- 信息存储:验证通过后,学生的个人信息将被存储到学生信息数据库中。

2. 成绩录入流程成绩录入是指教师将学生的考试成绩录入系统中。

该过程包括以下步骤:- 选择课程和学期:教师需要选择要录入成绩的课程和学期。

- 学生名单获取:系统根据选择的课程和学期,从学生信息数据库中获取相应的学生名单。

- 成绩录入:教师根据学生名单,逐一录入每个学生的考试成绩。

- 成绩验证:系统对录入的成绩进行验证,确保成绩的格式正确。

- 成绩存储:验证通过后,学生的考试成绩将被存储到成绩数据库中。

3. 成绩查询流程成绩查询允许学生和教师通过系统查询学生的考试成绩。

该过程包括以下步骤:- 登录系统:学生或教师需要提供正确的用户名和密码登录系统。

- 选择查询类型:学生可以选择查询个人成绩,教师可以选择查询某门课程的成绩。

- 查询条件输入:学生需要输入学号和密码,教师需要输入课程名称和学期。

- 查询结果显示:系统根据输入的查询条件,在数据库中查找对应的成绩,并将结果显示给用户。

4. 成绩统计流程成绩统计是对学生的考试成绩进行统计和分析的过程。

该过程包括以下步骤:- 选择统计类型:教师可以选择按照学生、课程或学期进行成绩统计。

- 统计条件输入:教师需要输入相应的统计条件,如学生姓名、课程名称或学期。

- 统计结果生成:系统根据输入的统计条件,在数据库中进行相应的统计计算,并生成统计结果。

学生成绩管理系统 详细设计说明书模板

学生成绩管理系统 详细设计说明书模板

详细设计说明书项目名称:项目负责人: 项目成员:项目开发单位:目录目录 (2)1引言 (1)1. 1编写目的 (1)1. 2背景 (1)1. 3定义 (2)1. 4参考资料 (2)3程序1(标识符)设计说明 (2)3. 1程序描述 (2)3. 2功能 (3)3. 3性能 (3)3.3.1 (3)3.3.2 (3)3.3.3 (3)3. 4输入项 (3)3. 5输出项 (4)3. 6算法 (4)3. 7流程逻辑 (4)3. 8接口 (4)3. 9存储分配 (4)3. 10注释设计 (4)3. 11限制条件 (4)3. 12测试计划. (4)3. 13尚未解决的问题 (4)4程序2(标识符)设计说明 (6)1引言1. 1编写目的为了节约资源, 提高学籍信息的精确度。

方便快速操作, 精简人员, 节约开支。

结合学校管理的实际需要, 实现对学生成绩等数据进行有效管理, 提供查询分析功能等。

在编写“学生成绩管理系统”软件之前, 对同类型产品的市场进行了前期调查, 设计者和使用者进行了探讨和分析, 之后由我们小组编写了这份需求规格说明书。

该需求规格说明书对学生成绩管理系统软件进行了全面细致的用户需求分析, 明确所要开发的软件应具有的功能、性能与界面。

该需求规格说明书供概要设计人员阅读。

1. 2背景随着科学的发展和社会的进步, 许多过去有人工处理的繁杂事务开始交付计算机来完成。

学生成绩管理系统可以说是一个得力助手, 它利用计算机对学生成绩进行统一管理, 实现学生成绩信息管理工作流程的系统化、规范化和自动化, 提高了广大教师的工作效率。

学生成绩管理系统软件是一个功能比较完善的数据管理软件, 具有数据操作方便、高效、迅速等优点。

该软件采用功能强大的数据库软件开发工具进行开发, 可在应用范围较广的Windows系列等操作系统上使用。

1. 3定义SPMS: Student Performance Management System1. 4参考资料【1】《软件工程》.(美)Roger S.Pressman 著.机械工业出版社【2】新编软件工程实用教程.周丽娟, 王华.电子工业出版社3程序1(标识符)设计说明3. 1程序描述有N个学生, 每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩, 试设计一学生成绩管理系统, 使之能提供以下功能: (1)主菜单界面如下: 欢迎使用学生成绩管理系统, 设计者, 输入注册密码, 能选择各种语言, 能进行三种不同的身份登录(管理员, 教师, 学生)能选择功能: 1.输入学生成绩记录模块 2.显示学生成绩记录模块。

学生成绩管理系统

学生成绩管理系统

简单学生成绩管理系统1.主题说明本任务创建一个模拟的简单学生成绩管理系统,该系统是教务管理系统的一个简单抽象,任务本身并不是着重成绩管理系统的开发,主要目的是使自己掌握PowerBuilder 数据库应用开发的详细过程及开发中涉及知识点与操作技能。

2.需求分析(1)只有教师才能使用本系统,教师权限不受限制;(2)需对系、班级、课程、教师信息维护;(系统初始化时在教师表中存放一条super 记录保证初始时能够进入本系统)(3)学生信息维护;(4)学生课程成绩的录入;(成绩录入以学生为单位,可以录入所有课程成绩)(5)学生名单、学期成绩报表(以班级为单位打印)的建立和打印;3.系统的设计(1)系统的结构设计本系统数据库概念结构设计的E-R 图(实体-关系图)如下:图2.1 数据库结构设计E-R 图(2)系统的界面设计系统通过建立两个窗口完成登录,如图2.2 ,图2.3如下:图2.2第一个窗口界面图2.3第二个窗口界面(3)系统的数据库设计,图如下:表2.1 Dep 系信息表表2.2 Teacher 教师信息表表2.3 Class 班级信息表表2.4 Course 课程信息表表2.5 Teach 教师任教信息表表2.6 Student 学生信息表表2.7 Score 学生成绩表4.系统的代码的实现下面是w_Login 窗口中包含的代码:(1)全局变量的声明:String gs_DepName,gs_UserName //保存系名称和用户名称Integer ii_Times=0(2)给Sle_Name 增加一个键盘输入事件:选择Sle_Name 事件中的“New Event”,显示如图2.8 所示事件输入框;7.8 新增事件输入框在“Event ID”下拉列表中选择“pbm_keydown”,系统自动填写事件参数;在“Event Name”输入框中输入“ue_key”;单击工具栏“”图标按钮,保存新增加的键盘输入事件;同样,给Sle_Pass 增加一个键盘输入事件(3)在窗口的Open 事件中键入如下代码:Close(w_logo) //打开登录窗口同时关闭w_Logo 窗口(4)在Sle_Name 的ue_key 事件键入如下代码:if key=KeyEnter! Then //若键入回车键,则焦点到密码输入框sle_pass.SetFocus()end if(5)在Sle_Pass 的 ue_key 事件键入如下代码:if key=KeyEnter! Then //若键入回车键,则焦点到确认按钮cb_ok.SetFocus()end if(6)在cb_Cancel 的Clicked 中输入如下代码:Close(Parent)(7)在cb_ok 的Clicked 中输入如下代码:String gs_DepName,gs_UserNameInteger ii_Times=0//String li_DidInteger li_Did=-1//从teacher 表中取与输入用户名和密码一致的该用户系代码select Did into :li_Did from Teacher where tName=:sle_name.text and Pass=:sle_pass.text;ii_Times++ //记录登录次数if li_Did=-1 then //不存在相应记录if ii_Times=3 thenMessageBox("警告","您无权使用本系统!",StopSign!)Close(Parent)elseMessageBox("警告","用户名或密码错误,请重试!")sle_name.SetFocus()end ifreturnelse //该用户存在gs_UserName=sle_name.Text //保存用户名并获取对应系名称select dName into :gs_DepName from dep where did=:li_did;open(w_main)end if5.系统的主要模块设计过程与详例(1)系统主窗口一般采用多文档窗口设计,并与相应主菜单相关联,本系统主窗口为w_main,图如下:图2.9主窗口界面在窗口的Open 事件中键入如下代码:Close(w_login) //打开主窗口同时关闭w_登录窗口(3)代码维护窗口包括课程信息和系信息的维护操作,图如下:图2.10窗口运行界面(4)代码如下:<1>定义Instance Variables(实例变量)//idw_which 记录当前标签页中数据窗口控件的引用DataWindow idw_which<2>在窗口的Open 事件中键入如下代码:dw_1.SetTransObject(SQLCA)dw_1.Retrieve()dw_2.SetTransObject(SQLCA)dw_2.Retrieve()<3>在cb_add 的Clicked 事件中键入如下代码:long li_rowli_row=dw_1.InsertRow(0)dw_1.setColumn(1)Send(Handle(this),256,9,0)li_row=dw_2.InsertRow(0)dw_2.setColumn(1)Send(Handle(this),256,9,0)<4>在cb_Delete 的Clicked 事件中键入如下代码:Idw_1.DeleteRow(0)dw_1.setColumn(1)Send(Handle(this),259,9,0)dw_2.DeleteRow(0)dw_2.setColumn(1)Send(Handle(this),259,9,0)<5>在cb_Save 的Clicked 事件中键入如下代码:if dw_1.Update()<0 thenMessagebox("提示信息","存盘失败!"+Sqlca.Sqlerrtext) Rollback;elseCommit;Messagebox("提示信息","存盘成功")end ifif dw_2.Update()<0 thenMessagebox("提示信息","存盘失败!"+Sqlca.Sqlerrtext) Rollback;elseCommit;Messagebox("提示信息","存盘成功")end if<6>在cb_EXit 的Clicked 事件中键入如下代码:Close(Parent)(5)其他模块代码省略6.简要报告设计和实施的过程1. 数据库物理结构设计创建ASA 数据库“shuju”(1)在本地磁盘E,新建一个文件夹,名为计2052_20_励燕(2)启动PowerBuilder,使用数据库画板,创建一个本地ASA 数据库(E:\计2052_20_励燕\shuju.db),其日志主文件名与数据库主文件名相同为shuju,其他选项使用默认值。

学生成绩管理系统总体设计和详细设计报告

学生成绩管理系统总体设计和详细设计报告

图5 教师基本信息管理模块
教师基本信息管理模块流程图,如图6所示:
输入用户名、 密码
教师


















管理员
是 否











息的的删源自修除改结束
图6 教师基本信息管理模块流程图
(4)学生成绩管理模块 用户可以实现对学生成绩的添加、修改和查找,其操作如下 图7所示:
学生退出
退出管理模块
教师退出
管理员退出
图9 退出管理模块
退出管理模块流程图,如图10所示:
开始 否
是否退出 是
结束
图10 退出管理模块
二 、软件界面设计原型 (1)登陆管理模块
(2)学生基本信息管理模块
(3)教师基本信息管理模块
(4)学生成绩管理模块
(5) 退出管理模块
1.登录管理模块 2.主界面模块
2.1学生基本信息管理模块 功能:实现对学生信息的增加、删除、修改、查找功能
2.2教师基本信息管理模块 功能:实现对教师信息的增加、删除、修改、查找功能 2.3学生成绩管理模块 功能:用户可以实现对学生成绩的添加、修改和查找 2.4 退出管理模块 3.关于学生成绩管理系统
学生成绩管理系统 输入用户 名和密码
用户名和密码的 验证以及用户类 型的验证
跳转至主界面
图2 登录管理模块流程图
(2)学生基本信息管理模块 实现对学生信息的增加、删除、修改、查找功能。如图3所示:
学生信息添加

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图数据流程图是用来描述学生成绩管理系统中数据的流动和处理过程的图形化工具。

它能够清晰地展示出各个数据流的来源、去向以及数据的处理过程,有助于我们理解系统的结构和功能。

以下是学生成绩管理系统的数据流程图:1. 学生成绩录入流程图:[学生信息] --> [成绩录入] --> [成绩信息]学生信息数据流向成绩录入模块,成绩录入模块将录入的成绩信息存储到成绩信息数据库中。

2. 学生成绩查询流程图:[学生信息] --> [成绩查询] --> [成绩信息]学生信息数据流向成绩查询模块,成绩查询模块根据学生信息从成绩信息数据库中检索相应的成绩信息并返回给用户。

3. 学生成绩统计流程图:[成绩信息] --> [成绩统计] --> [统计结果]成绩信息数据流向成绩统计模块,成绩统计模块根据成绩信息进行相应的统计计算,并将统计结果返回给用户。

4. 学生成绩报表生成流程图:[成绩信息] --> [报表生成] --> [成绩报表]成绩信息数据流向报表生成模块,报表生成模块根据成绩信息生成相应的成绩报表,并将报表返回给用户。

5. 学生成绩修改流程图:[学生信息] --> [成绩修改] --> [成绩信息]学生信息数据流向成绩修改模块,成绩修改模块根据学生信息从成绩信息数据库中找到对应的成绩信息并进行修改。

二、数据字典数据字典是学生成绩管理系统中各个数据流、数据存储和处理过程的详细说明,包括数据的定义、属性、类型以及数据流的来源和去向等信息。

下面是学生成绩管理系统的数据字典:1. 学生信息:- 学号(属性):字符串类型,用于惟一标识学生的学号。

- 姓名(属性):字符串类型,表示学生的姓名。

- 年级(属性):字符串类型,表示学生所属的年级。

- 班级(属性):字符串类型,表示学生所属的班级。

2. 成绩信息:- 学号(属性):字符串类型,用于惟一标识学生的学号。

学生成绩管理系统流程图

学生成绩管理系统流程图

学生成绩管理系统旳可行性分析汇报一、系统简述(一)系统建立旳背景伴随计算机技术旳发展, 尤其是计算机网络技术与数据库技术旳发展, 使用人们旳生活与工作方式发生了很大旳改观。

网络技术旳应用使得计算机之间通信、信息共享成为也许, 而数据库技术旳应用则为人们提供了数据存储、信息检索、信息分析等功能, 从而使得工作更高效地进行。

建立一种学生成绩管理系统, 老式旳手工方式, 使得数据轻易丢失, 在记录时易发生错误高, 速度慢, 而用计算机可以提高工作速度以及数据旳精确性, 便于管理。

在计算机联网后, 数据在网上传递, 可以实现数据共享, 防止反复劳动, 学生成绩管理系统以计算机为工具, 通过对教务管理所需旳信息管理, 把管理人员从繁琐旳数据计算处理中解脱出来, 为老师节省诸多时间跟精力, 提高老师旳工作效率, 通过学生成绩管理系统给学校管理者减轻工作旳承担, 将工作旳失误几率降到最低, 为广大老师同学带来便利, 使大家可以更好旳投入到学习中。

同步这个系统还可以减少人力与管理费用, 提供信息精确度更高, 更简便旳学生信息管理系统。

对人力资源进行大量旳挥霍, 并且安全性不是很高。

处理时间赶不上需要, 响应时间较长, 数据存储能力局限性, 处理功能不够, 该系统在最初旳开发研究中就出现了诸多局限性, 引起旳以上旳局限性已并非可以用简朴维护来处理, 这样只会增长经济承担和人员挥霍, 因此需建立一种比较完善旳学生成绩管理系统。

(二)该系统旳功能可以实现学生成绩信息旳管理和查询, 例如学生基本信息查询, 基本信息要包括姓名、学号、班级、任何一门课旳平时成绩、期末成绩、综合成绩等;同步还可以对以上信息进行修改、删除和添加, 此外该系统应当能做到可以对学生成绩信息以及成绩信息查询和修改旳效率尽量做到精确, 同步各项功能旳操作要简朴, 不需过多旳对人员旳培训。

(三)目前, 学校工作繁杂、资料重多, 虽然各类管理信息系统已进入高校, 但尚未普及, 而对于学生成绩管理来说, 目前还没有一套完整旳、统一旳系统。

学生成绩管理系统

学生成绩管理系统

摘要学生成绩管理系统是为了实现学校对学生成绩管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。

它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生成绩管理提供了强有力的工具和管理手段。

学生成绩管理系统应该是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生成绩管理的要求。

本文中只是运用结构化方法学对这一系统的简单分析与建模,没有具体的实现过程,通过这阶段的学习与思考,能够对软件开发过程进行简单分析和判断。

关键字:成绩管理系统建模目录摘要 (1)目录 (1)1绪论 (1)1.1 设计任务 (1)1.1.1 需求说明 (1)1.1.2系统设计目标 (1)1.2 设计内容 (2)2 需求分析 (2)2.1 系统功能需求 (2)2.2 系统的性能需求 (2)2.3 系统数据要求 (3)2.4 系统业务流程分析 (3)2.4.1 班级管理业务流程图: (4)2.4.2学籍管理业务流程图: (4)2.4.3成绩管理业务流程图: (5)2.4.4课程管理业务流程图: (5)2.5数据模型的实体——联系图表示 (5)2.6 功能模型的数据流图表示 (7)2.7本章小结 (7)3 概要设计 (8)3.1 系统功能设计 (8)3.2系统模块具体划分 (9)4 详细设计 (11)5体会 (14)6参考文献 (15)1绪论1.1 设计任务1.1.1 需求说明学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改,打印等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。

学生信息管理系统在管理学生中占有重要的地位,它关系着学生信息的基本信息,其中包括学生信息,班级信息、课程信息等。

对于学校来讲,学生信息管理系统是不可缺少的组成部分,它有效地管理学生档案,对学校学生的变动和统计起着重要的管理作用。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图数据流程图是一种图形化的表示方式,用于描述系统中数据的流动和处理过程。

以下是学生成绩管理系统的数据流程图:1. 整体数据流程图学生成绩管理系统的整体数据流程图如下所示:[插入整体数据流程图]2. 学生信息管理流程图学生信息管理是学生成绩管理系统的核心功能之一。

以下是学生信息管理的数据流程图:[插入学生信息管理流程图]3. 成绩录入流程图成绩录入是学生成绩管理系统的重要功能之一。

以下是成绩录入的数据流程图:[插入成绩录入流程图]4. 成绩查询流程图成绩查询是学生成绩管理系统的常用功能之一。

以下是成绩查询的数据流程图:[插入成绩查询流程图]二、数据字典数据字典是对系统中所使用的数据项进行定义和说明的文档。

以下是学生成绩管理系统的数据字典:1. 学生信息表(Student Information)数据项:- 学生ID(Student ID):学生的唯一标识符,由系统自动生成。

- 姓名(Name):学生的姓名。

- 年级(Grade):学生所在的年级。

- 班级(Class):学生所在的班级。

- 性别(Gender):学生的性别。

- 出生日期(Date of Birth):学生的出生日期。

- 联系方式(Contact Information):学生的联系方式。

2. 课程信息表(Course Information)数据项:- 课程ID(Course ID):课程的唯一标识符,由系统自动生成。

- 课程名称(Course Name):课程的名称。

- 课程学分(Course Credit):课程的学分。

3. 成绩信息表(Grade Information)数据项:- 成绩ID(Grade ID):成绩的唯一标识符,由系统自动生成。

- 学生ID(Student ID):学生的唯一标识符。

- 课程ID(Course ID):课程的唯一标识符。

- 成绩(Grade):学生在该门课程中的成绩。

数据结构之学生成绩管理系统

数据结构之学生成绩管理系统

学生成绩管理系统一、试验目旳1. 通过本次课程设计中学生成绩管理系统旳题目,掌握链表等数据构造旳基本操作方面旳知识,并能灵活旳处理某些基本旳问题,加深对其性质及各项操作旳理解;2. 将所学数据构造方面旳知识与一门详细旳语言——C语言来进行实现, 感受数据构造旳强大作用, 加深理解。

二、试验规定(1)管理系统中有五个规定: 输入查找修改插入删除存储(2)输入规定: 可以通过键盘输入和文献输入两种(3)查找规定:可以根据学生号查找单个学生旳信息, 也可以遍历所有学生信息(4)修改规定: 可以根据学生号修改单个学生所有信息(5)插入规定: 可以实现头插和尾插(6)删除规定: 可以根据学生号删除单个学生信息三、存储规定: 通过链表存储所有信息四、算法旳思想与算法实现环节1. 基本思想通过链表数据类型进行基本操作, 重要有三个模块: 分别是主函数模块、重要操作函数及基本操作函数。

其中, 主函数负责其他子函数旳调用实现以及基本界面旳操作重要函数包括:void StuInput(Student *); //学生成绩管理系统旳输入函数, 由主函数调用void StuSelect(Student *); //学生成绩管理系统旳查找函数, 由主函数调用void StuAlter(Student *); //学生成绩管理系统旳修改函数, 由主函数调用void StuInsert(Student *); //学生成绩管理系统旳插入函数, 由主函数调用void StuDelect(Student *); //学生成绩管理系统旳删除函数, 由主函数调用void StuSave(Student *); //学生成绩管理系统旳存储函数, 由主函数调用基本操作函数:void StuOutput(Student *p); //输出函数int StuImport(Student *head,Student *p); //输入函数void StuInputHand(Student *head); //学生成绩管理系统旳手动输入函数, 由输入函数调用void StuInputFile(Student *head); //学生成绩管理系统旳文献输入函数, 由输入函数调用void StuSelectErg(Student *head); //学生成绩管理系统旳遍历函数, 由查找函数调用void StuSelectNumFind(Student *head); //学生成绩管理系统旳按学号查找函数, 由查找函数调用void StuSelectSubFind(Student *head); //学生成绩管理系统旳按科目查找函数, 由查找函数调用2. 实现环节首先, 分析题目规定划分实现模块, 定义基本数据类型, 诸如构造体、链表等;另一方面, 针对上述旳基本操作实现详细需要进行旳操作, 详细实现每个环节需要进行旳基本操作, 即详细编写每个小函数实现功能;最终, 编写主函数对每个实现进行按需调用, 实现操作。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一种用于管理学生学业成绩的系统。

下面是该系统的数据流程图,详细描述了数据的流动和处理过程。

1. 学生信息录入流程学生信息录入是系统的第一步,用于将学生的基本信息录入系统中。

该流程包括以下步骤:1.1 输入学生基本信息- 学生姓名:文本型,最多20个字符- 学生学号:整数型,唯一标识学生的学号- 学生性别:选择型,男/女- 学生年龄:整数型,表示学生的年龄- 学生班级:文本型,最多30个字符1.2 验证学生信息- 系统会对输入的学生信息进行验证,确保信息的准确性和完整性。

- 如果信息有误或不完整,系统会提示用户进行修改或补充。

1.3 学生信息存储- 验证通过后,系统将学生的基本信息存储到学生信息数据库中,以便后续使用。

2. 学生成绩录入流程学生成绩录入是系统的核心功能,用于将学生的各科成绩录入系统中。

该流程包括以下步骤:2.1 选择学生- 系统会显示已录入学生的列表供用户选择。

- 用户可以通过学生姓名或学号进行搜索和选择。

2.2 输入学生成绩- 用户选择学生后,可以输入该学生的各科成绩。

- 成绩以科目为单位进行录入,包括语文、数学、英语等。

2.3 验证成绩信息- 系统会对输入的成绩信息进行验证,确保成绩的准确性和合法性。

- 如果成绩有误或不合法,系统会提示用户进行修改或补充。

2.4 成绩信息存储- 验证通过后,系统将学生的各科成绩存储到成绩信息数据库中,以便后续使用。

3. 学生成绩查询流程学生成绩查询是系统的另一个重要功能,用于查询学生的成绩信息。

该流程包括以下步骤:3.1 输入查询条件- 用户可以选择按学生姓名、学号或班级进行查询。

- 用户输入相应的查询条件后,点击查询按钮。

3.2 查询结果显示- 系统会根据用户输入的查询条件,在成绩信息数据库中查找匹配的学生成绩信息。

- 查询结果以表格形式显示,包括学生姓名、学号、班级和各科成绩。

学生成绩管理系统的用例、类图

学生成绩管理系统的用例、类图

返回
管理员
登录
符合条件
不符合条 件
信息管理 错误提示
教师信息 课程信息 学生信息 院系信息 班级信息
返回
3、类图和对象图的绘制 类图描述类与类之间的静态关系。 对象图是类图的实例。
类名
- 属性
+操作
说明: 一个学生可以选1到多门课程,一门课程可以被0至多个学生选取。
学生 课程 学号 姓名 课程号 性别 选课 班级 课程简介 专业 系别 * 1…* 授课教师 课程名称
获取课程信息 选择课程 查看开课教师 获取课程信息
学生选课类图
对象图
周鑫:学生 软件工程:课程 学号=00902025 课程号=001 姓名=周鑫 性别=男 班级=一班 专业=计科 系别=信息工程 课程名称=软件 工程 课程简介 授课教师=许刚
说明:一个学生可以查询0至多门课程的成绩,一门成绩可以被0至多个学生查询。
学生成绩管理系统
1、用例图绘制 2、活动图绘制 3、类图绘制 4、顺序图绘制 5、合作图绘制
1、用例图绘制
用例:是对系统提供的功能的描述。 用例图的主要元素:系统、用例、行为者、用例之 间的关系。 (1)、用户需求 需求分析 1 1)、为每个使用系统的人员设置权限,只有通过权 限验证的人才能使用系统; 2)、学生可以使用该系统查询所学课程的成绩; 3)、教师使用该系统完成学生成绩的录入、修改、 显示; 4)、管理员使用该系统输入学生信息、教师信息、 院系信息、班级信息、课程信息。
(2)、备选流: 1)、如果没有要选择的课程名称,给出提示, 结束; 2)、如果教师没有确认保存录入成绩,给出 提示,结束。
2、活动图绘制:描述动作及动作之间的关系。
学生 教师 登录 登录

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一个用于记录和管理学生各科成绩的系统。

下面是该系统的数据流程图:1. 学生信息管理流程:a. 输入学生信息:管理员或教师通过系统界面输入学生的基本信息,包括学生姓名、学号、班级等。

b. 学生信息存储:系统将输入的学生信息存储在学生信息数据库中,以便后续的成绩管理和查询。

2. 成绩录入流程:a. 输入成绩信息:教师通过系统界面选择要录入成绩的科目和学生,然后输入相应的成绩。

b. 成绩信息存储:系统将输入的成绩信息存储在成绩数据库中,与学生信息关联。

3. 成绩查询流程:a. 输入查询条件:教师或学生通过系统界面输入查询条件,如学生姓名、学号、班级等。

b. 查询成绩信息:系统根据输入的查询条件,在成绩数据库中查找匹配的成绩信息,并将结果显示在界面上。

4. 成绩统计流程:a. 统计成绩信息:系统根据学生的成绩数据进行统计分析,包括计算平均成绩、最高成绩、最低成绩等。

b. 显示统计结果:系统将统计结果显示在界面上,以便教师和学生查看。

二、数据字典下面是学生成绩管理系统的数据字典,包括各个数据流、数据存储和处理过程的详细说明:1. 学生信息数据库(Student Information Database):- 数据项:学生姓名、学号、班级2. 成绩数据库(Grade Database):- 数据项:学生姓名、学号、班级、科目、成绩3. 输入学生信息(Input Student Information):- 数据流:管理员或教师输入的学生基本信息4. 学生信息存储(Store Student Information):- 数据流:输入学生信息流程中的学生基本信息- 数据存储:学生信息数据库5. 输入成绩信息(Input Grade Information):- 数据流:教师输入的成绩信息6. 成绩信息存储(Store Grade Information):- 数据流:输入成绩信息流程中的成绩信息- 数据存储:成绩数据库7. 输入查询条件(Input Query Conditions):- 数据流:教师或学生输入的查询条件8. 查询成绩信息(Query Grade Information):- 数据流:输入查询条件流程中的查询结果- 数据存储:成绩数据库9. 统计成绩信息(Calculate Grade Statistics):- 数据流:成绩数据库中的成绩信息10. 显示统计结果(Display Statistics Results):- 数据流:统计成绩信息流程中的统计结果以上是学生成绩管理系统的数据流程图及数据字典的详细描述。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生成绩管理系统我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。

我创建的基于单文档的应用程序,过程不介绍,大家都会。

下面的是我系统菜单:思路:刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。

当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。

如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。

“学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。

整体设计:因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下:【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码:#include <afxdb.h>【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){//使“退出系统”和其他3个权限菜单都不可用,即都是灰色的GetMenu()->GetSubMenu(0)-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);}【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”菜单项不可用,并根据用户类型使相应菜单可用。

当类型为1时(学生),使“学生权限”菜单可用;当类型为2时(教师),使“教师权限”菜单可用;当类型为3时,使“管理员”菜单可用。

void CMainFrame::SetMenuSta(int type){AfxGetMainWnd()->GetMenu()->GetSubMenu(0)->EnableMenuItem(0, MF_BYPOSITION | MF_DISABLED | MF_GRAYED);if(type==1){AfxGetMainWnd()->GetMenu()->EnableMenuItem(1,MF_BYPOSITION | MF_ENABLED);//在上面的OnCreate中可以直接通过GetMenu()对菜单操作,//但这里却必须先通过AfxGetMainWnd()获得主窗体指针,//浪费了我一晚上时间,虽然解决了,但还不知道为什么。

}if(type==2){AfxGetMainWnd()->GetMenu()->EnableMenuItem(2,MF_BYPOSITION | MF_ENABLED);}if(type==3){AfxGetMainWnd()->GetMenu()->EnableMenuItem(3,MF_BYPOSITION | MF_ENABLED);}}【步骤4】通过上面两步并不能按我们的想法实现菜单变灰的操作,运行系统各菜单都是可用的,我们必须在CMainFrame的构造函数中添加下面一句代码:m_bAutoMenuEnable=FALSE;m_bAutoMenuEnable必须放在CMainFrame()里初始化,不可用放在登陆对话框的OnOK()函数中,要不其他三个菜单可用变灰,但“进入系统”菜单项却总是不能变灰。

数据库设计:根据以上思路,我们使用SQL数据库建立一个“学生成绩管理系统”,其下有4张表,分别为用户表USERS、学生成绩表COURSE_SCORE、学生信息表STUDENT_INFO和教师信息表TEACHER_INFO。

表1 用户表USERS字段名类型长度说明USER_ID char 20 用户名USER_PASSWORD char 20 密码USER_TYPE int 4 1为学生,2为教师,3为管理员表2 学生成绩表COURSE_SCORE字段名类型长度说明STU_ID char 10 学生ID,系统中学生的唯一标识COURSE_ID char 10 课程号,系统中课程的唯一标识COURSE_NAME char 10 课程名SCORE int 4 课程分数表3 学生信息表STUDENT_INFO字段名类型长度说明STU_ID char 10 学生ID,系统中学生的唯一标识STU_NAME char 10 学生姓名ENROLLMENT_TIME datetime 8 入学时间DEPARTMENT char 20 所在学院MAJOR char 20 所在专业SEX int 4 性别:0表示男,1表示女BIRTHDAY datetime 8 生日HOMETOWN varchar 50 籍贯ADDRESS varchar 50 现在住址PHONE char 20 个人电话号码RACE char 10 民族PARTY int 4 政治面貌:0表示党员,1表示预备党员,2表示团员,3表示其他DIRECTION varchar 50 其他信息具体实现步骤:(一)登陆模块设计1、当刚进入系统时候,用户点击“进入系统”菜单项后系统界面如下:按上面的登陆对话框摆放好控件,其中各个控件ID及对应变量如下图所示:从上图中也可以看出,我们为该登陆对话框建立了个新类:CLoginDlg,它的具体创建过程就不介绍了。

2、因为登陆对话框要使用SQL数据库中的USERS表,所以需要在程序中添加类CLoginSet,步骤如下:【步骤1】在项目名“学生成绩管理系统”上单击鼠标右键,在弹出的New Class对话框中的Name文本框中输入CLoginSet,在Base class下拉文本框中选择CRecordset。

【步骤2】单击OK按钮,弹出Database Option对话框,在ODBC下拉文本框中选择“学生成绩管理系统”数据库,单击OK按钮,弹出Select DatabaseTables对话框,选择ERS选项,单击OK按钮。

这样就建立了一个CRecordset的对象,就可以对数据库中的USERS表进行操作了。

3、在LoginDlg.cpp中引入头文件LoginSet.h,将CRecordSet对象CLoginSet 引入登陆对话框:#include “LoginSet.h”4、声明全局变量。

在学生成绩管理系统.cpp文件中添加如下代码:// CDatabase型变量,用于连接数据库CDatabase m_database;//学生登陆后在系统中的唯一ID值CString m_ID;在LoginDlg.cpp添加如下语句,使用已经声明过的全局变量(记得在以后的每个模块中都要添加):extern CDatabase m_database;extern CString m_ID;5、为登陆对话框的“确定”按钮添加消息代码,如下:void CLoginDlg::OnOK(){BOOL bLogin=FALSE;CLoginSet *m_recordset=new CLoginSet(&m_database);CString strSQL;UpdateData(TRUE);if(m_pare("学生")==0)type=1;elseif(m_pare("教师")==0)type=2;elseif(m_pare("管理员")==0)type=3;strSQL.Format("select * from USERS where USER_ID='%s' AND USER_PASSWORD='%s' AND USER_TYPE='%d'",m_useID,m_usepassword,type);m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_recordset->GetRecordCount()==0){if(count<3){MessageBox("用户名或密码不正确!");m_useID="";m_usepassword="";U pdateData(FALSE); //没有这条语句就不能实现使账号和密码文本框为空,很多人会忘记写这条语句。

count++;}else{MessageBox("错误次数达三次以上,本窗口即将关闭!");EndDialog(IDCANCEL);}}else{m_recordset->GetFieldValue("USER_ID",m_ID);bLogin=TRUE;}if(bLogin){MessageBox("欢迎进入学生成绩管理系统!");EndDialog(IDOK);CMainFrame *mainfrm=new CMainFrame();mainfrm->SetMenuSta(type);}elsem_database.Close();// CDialog::OnOK();}6、为登陆菜单下的“进入系统”添加响应函数,此函数是在CMainFrame 类中添加的,代码如下:void CMainFrame::OnLogin(){// TODO: Add your command handler code hereCLoginDlg login;login.DoModal();}(二)学生成绩查询模块设计1、如果用户类型是1,即学生时,用户可以查询自己的成绩。

相关文档
最新文档