MFC学生成绩管理系统设计

合集下载

MFC学生信息管理系统课程设计报告

MFC学生信息管理系统课程设计报告

C++基于MFC类可视化程序设计报告方案概述1、问题描述学生信息包括:学号、姓名、性别、年龄、班级、专业等信息。

2、功能要求(1)添加功能:程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。

添加记录时,要求学号和编号要唯一。

如果添加了重复记录,则提示数据添加重复并取消添加。

(2)查询功能:可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能:可当前系统中所有学生的信息和课程设计题目信息显示,每条记录占据一行。

(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。

(5)删除功能:主要实现对已添加的学生和课程设计题目记录进行删除。

如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。

(6)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。

(7)注销功能:注销当前用户,返回登陆界面。

3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。

学生选修课系统设计方案登陆界面系统界面系统信息界面系统登录界面:主界面:信息统计界面:系统实现:1.首先建立一个MFC类对话框,添加相关系统控件。

如图:2.在解决方案中添加Student类,并实现这个类。

代码如下://Student.hclass Student{public:string name;string stuNo;string sex;string major;double score;string banji;public:Student(void);Student(string name,string stuNo,string sex,string major,double score,string banji);}//Student.cpp#include "StdAfx.h"#include "Student.h"Student::Student(void){}Student::Student(string name,string stuNo,string sex,string major,double score,string banji) {this->name=name;this->stuNo=stuNo;this->sex=sex;this->major=major;this->score=score;this->banji=banji;}3.将数据保存、读取。

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

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

学生成绩管理系统我将把我的实现步骤完整的写出来,我是在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()中被调用,即当用户进入系统后使“进入系统”菜单项不可用,并根据用户类型使相应菜单可用。

Windows设计,MFC学生管理系统

Windows设计,MFC学生管理系统

目录一课题设计内容、具备的功能; (3)[设计内容]: (3)[系统功能] (3)二类和对话框的功能及其成员 (3)1、CTestADOView:添加基本功能成员函数 (3)2、CStudlg:添加学生信息对话框 (4)3、CStuModiDlg:修改记录对话框 (5)4、CStuFindDlg:查找对话框 (5)5、CStufindall:综合查询对话框 (5)6、IDD_TESTADO_FORM:主对话框 (6)7、IDD_DIALOG1 (6)8、IDD_DIALOG2 (7)9、IDD_DIALOG3 (7)10、IDD_DIALOG4 (8)三部分功能代码 (8)1、部分成员初始化 (8)2、添加成员函数OnExecute (9)3、“添加记录”菜单消息函数 (10)4、“删除消息”菜单消息函数 (11)5、“排序”菜单消息函数 (12)6、“查找”菜单命令消息处理函数 (13)7、“综合查询”菜单命令消息处理函数 (14)8、“更新记录”菜单命令消息处理函数 (15)9、“排序”菜单命令消息处理函数 (15)四程序设计过程、调试中过程中所用的测试用例、测试方法,程序运行的结果: (16)1、开始运行 (16)2、连接 (17)3、显示记录 (17)4、添加记录 (18)5、删除记录 (18)6、更新记录 (19)7、排序 (19)8、查找 (19)9、按条件查询 (20)五课程设计的体会和收获: (20)一课题设计内容、具备的功能;[设计内容]:系统存储以下信息:1)学生基本信息;2)学生的成绩;[系统功能]1) 在VC中设计对话框及菜单,将对话框控件DataGrid与Access数据库表student相连,实现VC中的操作对数据表进行修改。

2)显示记录连接数据库显示学生信息;3)添加记录添加学生信息;4)删除记录删除当前记录;5)更新记录输入系别,修改新值;6)排序以学号关键字对学生数据排序;7)查找输入系别查找8)查询通过学号、年龄、语文、数学、英语、总分等查找条件进行综合查询。

MFC学生信息管理系统课程设计报告

MFC学生信息管理系统课程设计报告

C++基于MFC类可视化程序设计报告方案概述1、问题描述学生信息包括:学号、姓名、性别、年龄、班级、专业等信息。

2、功能要求(1)添加功能:程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。

添加记录时,要求学号和编号要唯一。

如果添加了重复记录,则提示数据添加重复并取消添加。

(2)查询功能:可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能:可当前系统中所有学生的信息和课程设计题目信息显示,每条记录占据一行。

(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。

(5)删除功能:主要实现对已添加的学生和课程设计题目记录进行删除。

如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。

(6)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。

(7)注销功能:注销当前用户,返回登陆界面。

3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。

学生选修课系统设计方案主界面:信息统计界面:系统实现: 1.首先建立一个MFC 类对话框,添加相关系统控件。

如图:2.在解决方案中添加Student 类,并实现这个类。

代码如下://Student.hclass Student{public:string name;string stuNo;string sex;string major;double score; string banji;public:Student(void);Student(string name,string stuNo,string sex,string major,double score,string banji);}//Student.cpp#include "StdAfx.h"#include "Student.h"Student::Student(void){}Student::Student(string name,string stuNo,string sex,string major,double score,string banji){this->name=name;this->stuNo=stuNo;this->sex=sex;this->major=major;this->score=score;this->banji=banji;}3.将数据保存、读取。

学生信息管理系统 MFC课程设计报告

学生信息管理系统 MFC课程设计报告

学生信息管理系统 MFC课程设计报告为了巩固本学期所学的《C++面向程序设计》以及《数据库原理》的学习。

提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质;培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新月异的发展形势;本次课程设计为一个《学生信息管理系统》。

该系统通过ODBC模式连接了SQL2005数据库,数据库包含了:一.学生的基本信息表(学号、姓名、姓名、性别、年龄、所学专业、电话)二.选修课程信息表(课程号、课程名、学分)三. 选课信息表(学号、课程号、成绩)该系统还对这三个表都具有【增】、【删】、【查】、【改】的功能,同时还设计它们之间的关系,如学生与课程关系和学生的成绩等,同时还要对一些数据进行查询,如通过课程号查询学生成绩的集合。

八.心得体会1)过这次课程设计,初步掌握MFC程序设计,对消息的机制有了较为深刻的认识,对MFC中的应用结构类,菜单类,窗口,对话框有了理解。

2)也了解了数据库的有关知识,学会了一些常用的数据库查询语句,对数据库的功能和作用也有了一定的认识。

3)合理的规划和设计界面也是十分重要的,一个好的程序也需要便捷的操作和美观的界面,人性化设计是需要考虑进取的。

4)了解了ODBC数据库访问技术,ODBC提供了一组标准应用程序接口,可以使用SOL语句实现对数据库的管理系统的访问。

一、设计思路:本程序运用了MFC ODBC应用程序设计与SQL数据库,利用VC++中提供的MFC ODBC 开放数据库连接组件进行数据库的访问,利用了记录集(RECORDSET类)进行信息的添加( ADD ( ) ),删除(DEL ( )),修改(UPDATE( )),查询(select())功能,并且对用户登陆的权限进行检验,并且具有错误提示功能。

二、设计说明与调试分析A 根据设计要求分析数据的结构:数据项列表B 建立表根据设计要求分析数据的结构,利用SQL 2005创建一个数据库,数据库命名为:【wami】,创建3张表:xs表,kc表,xs_kc表,,如下图:C 在表里面填好初始化数据三.ODBC的配置源程序说明&附加SQL Server 2005数据库配置ODBC运行本实例需要配置用户DSN,在ODBC 数据源管理器中配置用户DSN连接指定的SQL Server数据库。

学生成绩管理系统_02010420_王安俊

学生成绩管理系统_02010420_王安俊

MFC课程设计报告学生成绩管理系统作者:堵薇耀(02010418)王安俊(02010420)指导老师:窦建平东南大学机械工程学院2011.10东南大学| 2011.10 目录摘要 (2)第一章绪论1.1 引言 (3)1.2 Visual C++开发环境 (3)1.3 MFC应用程序概述 (3)1。

4 项目背景介绍 (4)第二章设计过程说明2.1 设计目标 (4)2.2 设计要求 (4)2.3 基本思路 (5)2.4基本步骤 (5)第三章数据测试及运行情况分析3.1 数据测试 (6)3.2 运行情况 (9)第四章结论4.1 小结 (10)4。

2 个人体会 (11)致谢 (12)参考文献 (12)附录 (12)东南大学 | 2011.10东南大学 | 2011.10第一章 绪 论1。

1 引言学校里的老师们通常要处理很多的数据,比如学生成绩的统计管理,老师需要知道每个学生的考试成绩以及全班的考试成绩之后才能客观地进行教学质量分析,而这一项任务是很繁琐的。

鉴于这点,我们小组设计了一学生成绩管理系统的程序,实现的功能有:增加记录、删除记录、修改记录、排序记录、查询记录。

这很方便直观地帮助老师进行数据的统计及分析.1.2 Visual C++开发环境Visual C++开发环境是一个基于Windows 操作系统的可视化、面向对象的集成开发环境,在该环境下用户可以开发有关C 和C++的各种应用程序。

应用程的开发包括建立、编辑、浏览、保存、编译、链接和调试等操作,这些操作都可以通过单击菜单项或工具按钮来完成,使用方面、快捷。

另外,该开发环境还提供了项目工作区、应用程序向导和WizardBar 等实用编辑工具.1。

3 MFC 应用程序概述MFC 是由微软公司编写的一套专门用于Windows 编程的基础类库,它的类可以处理许多标准的Windows 应用程序任务.借助AppWizard 可以创建非常灵活的应用程序框架,使开发者摆脱那些每次都必须写的基本代码。

学生成绩管理系统

学生成绩管理系统

学生成绩管理系统【需求规格说明】题目:基于MFC设计并实现一个简单的学生成绩管理系统,数据用文件存储,学生信息包括:姓名、学号、数学成绩、英语成绩、语文成绩,具体功能包括:(1)添加、修改学生成绩(2)根据学号查询学生成绩(3)根据姓名查询学生成绩(4)按总分排序(5)按单科成绩排序(6)打开、保存文件【算法设计】(1)设计思想:1.信息管理系统可以分为三大关键部分,第一是数据的组成结构,第二种是处理数据的各种算法,第三种是一个人机交互界面友好的外观框架。

本题的要求是实现一个简单的学生成绩信息管理系统,只需将数据进行简单的组织,再加入一些比较简单而且容易实现的算法,另外还有一个相对友好的界面框架。

2.在数据结构的组织方面,i首先抽象出一个学生信息的类,CStuInfo。

类的数据成员如下图所示:数据成员只有简单的语文英语数学成绩、总成绩、学生姓名、学号,以及指向该学生信息对象所在的索引对象的指针。

由于这个类只是为了将某学生的各种信息进行一下封装,并不需要用到什么特别的外部接口。

在之后遇到问题的时候直接在该类添加成员函数即可。

ii 然后是抽象出一个信息的索引类,CStuListIndex。

类的数据成员如下图所示:由这三个数据成员就容易看出,这个类只是简单的将向量模板CStuInfo实例化之后进行封装。

数据成员pos的作用是在NextP()和ResetP()函数进行向量的遍历的时候方便计数当前的位置,比单纯的[]更加安全。

指针成员ppresent则扩展了pos的功能,可以直接获取当前遍历到的CStuInfo对象。

向量成员vec则是该索引类的主体,直接用标准库的数据结构可以减轻自己大量的代码工作量。

主要的函数接口也如下图所示:从这里可以看出,已经将几乎全部的题目要求实现的功能都已经封装在了索引类中,只需在框架中添加该索引类的实例对象即可,大大增加了程序代码的可读性。

3.在主要算法的实现方面,添加学生信息函数如下图所示:查找学生信息函数如下图所示(只列出按学号查找部分):将学生信息排序函如下图所示(只列出按数学成绩查找部分):3.在一个人机交互界面方面,由于程序本身只进行一些简单的数据处理操作,所以构建mfc工程的时候选择单文档视图结构。

MFC学生信息管理系统

MFC学生信息管理系统

学生信息管理系统学院:电子信息与控制班级:2012320106专业:自动化(卓越工程师) 姓名:指导教师:2014年6月26日一.实验目的:了解MFC编程的基本知识,掌握应用MFC类库编写Windows应用程序的基本模式,了解MFC编写程序的结构框架。

二.实验内容:应用所学的C++知识,利用MFC编程,编写学生信息管理系统,实现简单的学生信息管理作用,例如学生增加、修改,能够实现管理员与学生双重身份管理。

加深对C++程序的理解和应用。

三.实验原理基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现相关功能。

生成简单的应用软件。

四.程序功能(1)能够实现对管理员和学生登录时的识别,并对其权限做出相应限制(2)管理员登录后能够查看所有成员的信息,包括个人档案,学生成绩。

(3)学生登录后能够实现对自己信息的查看和修改,不能查看到其他人的信息。

五. 软件演示:编译、运行:1.登陆界面:2.系统管理:(1)登陆界面(图中为学生登录)(2)登陆成功3.管理界面:(1)档案输入:(学生权限)(2)学生无修改成绩权限,仅能进行成绩查询(3).使用管理员权限登陆:(4)以管理员身份进行学生成绩录入:成绩写入成功(5)学生查询(6)学生基本信息修改:(学生权限)(7)学生成绩修改:(管理员权限)六.实验总结在这次的实验完成过程中,我们增长了很多知识,一点一点从刚开始的弹出对话框,到菜单界面的显示,再到程序功能的实现,通过上网查资料等手段学习并了解了怎样通过类向导编写一系列的程序,初步了解了MFC的原理,最终完成了学生成绩管理这一项目,实现查询、修改、输入等一系列基本功能,加深了对C++编程的理解,初步了解了利用MFC的基本原理,锻炼了编写实用程序的能力七.主要程序代码(1)登录界面程序void LogDlg::OnOk(){// TODO: Add your control notification handler code here//LogDlg logdlg;CString log_name;UpdateData(TRUE);log_name=m_logname;log_name.Format("%s.txt",log_name);CString C_lang="\n";CString Eng="\n";CStdioFile file(log_name,CFile::modeRead);file.ReadString(C_lang);file.ReadString(Eng);file.Close();UpdateData(true);if((m_logname==C_lang)&&(m_logkey==Eng)){Info.student_logname=m_logname;Info.student_logkey=m_logkey;CDialog::OnOK();MessageBox("enter sucess!");}else{MessageBox("enter fail!check your password!");}UpdateData(false);(2)成绩输入界面程序void InputGrade::OnOK(){// TODO: Add extra validation hereint f=0;if(Info.student_logname=="管理员"){charge chge;chge.DoModal();f=1;CString log_name;UpdateData(TRUE );log_name=Info.student_logname;Info.C_language= m_iclanguage;Info.English=m_ienglish;Info.Physics=m_iphysics;Info.Probability=m_iprobability;log_name.Format("%s.txt",log_name);CStdioFile file(log_name,CFile::modeReadWrite);DWORD dwActual = file.SeekToEnd();file.WriteString(Info.C_language+'\n');file.WriteString(Info.English+'\n');file.WriteString(Info.Physics+'\n');file.WriteString(Info.Probability+'\n');file.WriteString(Info.flag_length);file.Close();MessageBox("成绩写入成功!");}elseMessageBox("你没有此权限!");CDialog::OnOK();if(f==1){Info.student_logname="管理员";}}(3)读取界面程序void changGrade::OnOK(){int F=0;if(Info.student_logname=="管理员"){charge chge;chge.DoModal();F=1;}CString log_name;//UpdateData(TRUE);log_name=Info.student_logname;log_name.Format("%s.txt",log_name);CString C_lang="\n";CString Eng="\n";CString Phy="\n";CString Pro="\n";CStdioFile file(log_name,CFile::modeRead);do{file.ReadString(C_lang);}while((C_lang!="男")&&(C_lang!="女"));file.ReadString(C_lang);file.ReadString(Eng);file.ReadString(Phy);file.ReadString(Pro);file.Close();UpdateData(true);m_cclang=C_lang;m_cenglish=Eng;m_cphysics=Phy;m_cproba=Pro;UpdateData(false);if(F==1){Info.student_logname="管理员";}}(4)修改界面程序void changGrade::OnCancel(){CString lname;CString lkey;CString name;CString depart;CString clss;CString sex;int length;// TODO: Add extra cleanup here if(Info.student_logname=="管理员") {charge chge;chge.DoModal();CString log_name;CString unuse;CFileStatus fileStatus;UpdateData(TRUE);log_name=Info.student_logname;Info.C_language=m_cclang;Info.English=m_cenglish;Info.Physics=m_cphysics;Info.Probability=m_cproba;//MessageBox(Info.student_logname);log_name.Format("%s.txt",log_name);/*CStdioFile file(log_name,CFile::modeRead); file.ReadString(lname);//MessageBox(C_lang);Info.student_logname=lname;file.ReadString(lkey);Info.student_logkey=lkey;file.ReadString(name);Info.student_name=name;file.ReadString(clss);Info.student_class=clss;file.ReadString(depart);Info.student_department=depart;//MessageBox(Phy);file.ReadString(sex);Info.student_sex=sex;file.Close();*/CStdioFile cfile(log_name,CFile::modeReadWrite); length=atol(Info.flag_length);cfile.Seek(35,CFile::begin);cfile.WriteString(Info.C_language+'\n');cfile.WriteString(Info.English+'\n');cfile.WriteString(Info.Physics+'\n');cfile.WriteString(Info.Probability+'\n');cfile.Close();MessageBox("change success!");Info.student_logname="管理员";CDialog::OnOK();}else{MessageBox("你没有此权限");CDialog::OnOK();}}。

MFC开发学生信息管理系统(详细)

MFC开发学生信息管理系统(详细)

学生信息管理系统(一)用microsoft office access创建一个数据库student.mdb(图1.1)在表中添加字段和数据类型,如下图所示:(图1.2)(图1.3)(图1.4)创建ODBC数据源选择控制面板→管理工具→数据源(ODBC)→系统DSN标签→单击“添加”出现下图所示的界面。

选择Drive do Microsoft Access (*.mdb),单击“完成”。

输入数据源名,单击“选择、、、”,选择c/student.mdb 单击“确定”,将会出现如图(图1.7)所示。

(图1.5)(图1.6)(图1.7)(二).MFC图形建立(图2.1)特别注意:创建的应用程序类型是单文档(single document应用程序)(图2.2)将CSTUDXINXIView 的基类改为CScrollView 然后单击“完成”。

(图2.3)为数据表创建CRecordSet用户类按“Ctrl+W ”进入“建立类向导(即MFC ClasWizard)”单击“Add Class...”选择“New...”如图(图2.4)所示.按照(图2.5)→(图2.6)→(图2.7)的安装顺序。

即可完成创建CRecordSet用户类的工作。

(图2.4)(图2.5)(图2.6)(图2.7)在stdafx.h文件中添加CRecordSet包含语句:#include<afxdb.h> 如图(图2.8)所示(图2.8)(三)构建班级信息对话框类按“Ctrl+R”键,打开“插入资源”,选择dialog(对话框),选择新建。

将名字改为IDD_CLASSINFO,标题为“班级信息输入”。

按照(图3.1)添加控件。

添加的控件ID号标题其他属性编辑框(班级号)IDC_EDIT_CLASSNO 默认编辑框(所在院系)IDC_EDIT_DEPART 默认编辑框(专业)IDC_EDIT_SPECIAL 默认组合框(学制)IDC_COMBO_YEAR 默认日期/时间控件(入学时间)IDC_DATETIMEPICKER1 默认对于学制框:使用Data页面来添加数据项,按Ctrl+Enter 换行。

学生成绩管理系统mfc版

学生成绩管理系统mfc版

修改履历目录1 项目概要 (4)1.1 项目名称 (4)1.2 项目目标 (4)1.3 软件概要 (4)1.4 功能描述 (4)1.5 开发环境 (5)1.6 关键技术 (5)1.7 开发体制 (5)1.8 开发阶段 (6)2 软件详细需求 (7)2.1 欢迎界面 (7)2.2 功能选择界面 (7)2.3 成绩概览 (9)2.4插入学生成绩 (9)2.5 添加学生信息 (10)2.6 学生信息分析 (10)3 系统整体设计 (11)3.1 系统结构图 (11)3.2 模块要求 (11)1项目概要1.1项目名称学生成绩管理系统1.2项目目标1.体会从需求理解出发,到软件整体设计,详细设计,开发,测试,发布的整体流程。

熟悉软件开发整体过程。

2.能够更深的理解面向对象分析和设计的思想,培养面向对象的思想。

3.能够熟练掌握使用Visual Studio进行Windows Applications的开发,培养对于编译环境,调试环境的熟悉能力。

4.能够熟练的查阅MSDN的相关SDK,使用相关的SDK,进行辅助开发。

5.培养快速学习新的知识,并在项目中使用的能力。

1.3软件概要开发一个运行于Windows XP平台的学生成绩管理程序,可以实现学生成绩的输入、插入、排序、查询、成绩升降情况等功能。

具体功能请参考后面的详细内容。

1.4功能描述1. 输入功能:由键盘输入若干个学生的学号、姓名、三科成绩,并计算出平均成绩和总成绩。

2. 插入功能:按学号增加一个学生信息,并将其插入。

PRL3. 排序功能,按要求对学生信息进行排序,分为按学号和按总成绩进行排序两种情形, 并输出结果。

4. 查询功能:按要求查找学生信息,分为按学号和姓名进行查询两种情形,并输出结果。

5. 删除功能:按要求将学生信息删除,分为按学号和姓名进行删除两种情形。

6. 输出功能:按学号输出学生信息。

7. 成绩升降:同一个学生,不同时期之间成绩浮动情况查询。

mfc学生管理系统课程设计

mfc学生管理系统课程设计

mfc学生管理系统课程设计一、课程目标知识目标:1. 学生能够理解MFC编程框架的基本结构,掌握使用MFC进行Windows 应用程序开发的基本方法。

2. 学生能够运用面向对象思想,设计并实现学生管理系统的功能模块,如学生信息管理、成绩管理和系统用户管理。

3. 学生了解数据库编程基础,能够利用MFC结合数据库技术实现学生管理系统的数据存储与查询。

技能目标:1. 学生掌握MFC中常用控件的使用,如菜单、工具栏、对话框等,并能够自定义控件样式。

2. 学生能够运用调试工具和技巧,解决编程过程中遇到的问题,提高代码质量和调试效率。

3. 学生通过项目实践,提升团队协作能力,学会使用版本控制工具进行代码管理。

情感态度价值观目标:1. 学生培养对编程的兴趣,激发主动学习和探究的精神,形成积极向上的学习态度。

2. 学生通过项目实践,体会编程解决问题的成就感,增强自信心,培养耐心和毅力。

3. 学生在团队协作中,学会相互尊重、沟通与协作,培养良好的团队精神和职业素养。

课程性质:本课程为信息技术学科选修课,以实践性、应用性为主,旨在让学生通过项目实践,掌握MFC编程和数据库技术,提高编程能力和实际问题解决能力。

学生特点:学生已具备C++基础知识和面向对象编程思想,具有一定的编程能力和问题解决能力。

教学要求:注重实践操作,引导学生主动探究,培养学生团队协作能力和职业素养。

将课程目标分解为具体学习成果,便于教学设计和评估。

二、教学内容1. MFC编程基础- 理解MFC框架结构及其工作原理。

- 掌握MFC应用程序的创建和基本框架代码。

- 学习常用MFC控件的使用和定制。

2. 面向对象设计与实现- 分析学生管理系统需求,设计系统功能模块。

- 应用类和对象的概念,实现系统中的各个功能类。

- 学习封装、继承、多态等面向对象设计原则。

3. 数据库操作- 介绍数据库基础知识和SQL语言。

- 利用MFC结合数据库技术,实现数据存储与查询。

学生信息管理系统 MFC课程设计报告

学生信息管理系统 MFC课程设计报告

为了巩固本学期所学的《C++面向程序设计》以及《数据库原理》的学习。

提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质;培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新月异的发展形势;本次课程设计为一个《学生信息管理系统》。

该系统通过ODBC模式连接了SQL2005数据库,数据库包含了:一.学生的基本信息表(学号、姓名、姓名、性别、年龄、所学专业、电话)二.选修课程信息表(课程号、课程名、学分)三. 选课信息表(学号、课程号、成绩)该系统还对这三个表都具有【增】、【删】、【查】、【改】的功能,同时还设计它们之间的关系,如学生与课程关系和学生的成绩等,同时还要对一些数据进行查询,如通过课程号查询学生成绩的集合。

八.心得体会1)过这次课程设计,初步掌握MFC程序设计,对消息的机制有了较为深刻的认识,对MFC中的应用结构类,菜单类,窗口,对话框有了理解。

2)也了解了数据库的有关知识,学会了一些常用的数据库查询语句,对数据库的功能和作用也有了一定的认识。

3)合理的规划和设计界面也是十分重要的,一个好的程序也需要便捷的操作和美观的界面,人性化设计是需要考虑进取的。

4)了解了ODBC数据库访问技术,ODBC提供了一组标准应用程序接口,可以使用SOL语句实现对数据库的管理系统的访问。

一、设计思路:本程序运用了MFC ODBC应用程序设计与SQL数据库,利用VC++中提供的MFC ODBC 开放数据库连接组件进行数据库的访问,利用了记录集(RECORDSET类)进行信息的添加( ADD ( ) ),删除(DEL ( )),修改(UPDATE( )),查询(select())功能,并且对用户登陆的权限进行检验,并且具有错误提示功能。

二、设计说明与调试分析A 根据设计要求分析数据的结构:数据项列表Kname 课程名nchar(20) not nullKscore 课程学分tnyint not nullSid 学号Char(6) 主键Kid 课程号char(3) 主键s_kcgrade 选修成绩tinyint not nullB 建立表根据设计要求分析数据的结构,利用SQL 2005创建一个数据库,数据库命名为:【wami】,创建3张表:xs表,kc表,xs_kc表,,如下图:C 在表里面填好初始化数据三.ODBC的配置源程序说明&附加SQL Server 2005数据库配置ODBC运行本实例需要配置用户DSN,在ODBC数据源管理器中配置用户DSN连接指定的SQL Server数据库。

学生管理系统—mfc[1]

学生管理系统—mfc[1]

MFC 一个简单的学生管理程序本例题根据教材第3章习题3扩展而成,希望同学们先搞懂该题目的基本编程思路。

程序最终用户界面如下图所示:下面我们分步骤来实现:1、建立一个基于对话框的MFC应用程序,指定好目录,工程名可以取students,这一步没问题了吧?2、删除对话框上的3个系统给的控件后,再添加一个命令按钮控件,并把标题改为“打开”,ID改为IDC_OPEN,如下图所示:3、现在我们来定义学生类,这是程序的核心部分。

打开studentDlg.cpp文件,在下图所示的位置添加学生类的定义代码和部分变量声明代码:要添加的代码如下(你可以直接粘贴过去!,别说你不会粘贴啊)//自己编写的程序char ch[100],inumb[50]; //存放学生名和学号的字符数组int ii=0,sid;double math,english,computer,sum=0,class_aver;double s_average,smax=0,smin=100;CString open_fname;//上面这几句是定义变量,看懂没问题吧?// 下面是学生类的定义,一定要看懂啊!class Student{protected:CString name;CString id;double s_math,s_english,s_computer;public:void set_stu_inf(char* pName,char* ssId ,double s_m,double s_e,double s_c) {name=pName;id = ssId;s_math=s_m;s_english=s_e;s_computer=s_c;}double sum( );double average( );void print();CString get_id(){return id;}CString getname(){return name;}double getmath(){return s_math;}double geteng(){return s_english;}double getcom(){return s_computer;}}; Student cla[20]; //这里声明cla为student类的对象数组!double Student::average(){return (sum()/3);}double Student::sum(){return (s_math+s_english+s_computer);}另外,请在程序的最上头添加一句包含,因为我们要用到文件!:#include "fstream.h"粘贴好了吗?编译一下,看有问题不?没问题再继续!4、点击下拉菜单“查看”—“建立类向导”,打开“建立类向导对话框”,在对话框中选取“Message Map”页,按下图选“IDC_OPEN\BN_CLICK”,再点“Add Function”按钮,点,再点按钮。

mfc课程设计成绩管理

mfc课程设计成绩管理

mfc 课程设计成绩管理一、教学目标本课程的教学目标是使学生掌握MFC的基本概念和成绩管理的基本方法。

知识目标包括了解MFC的架构和原理,掌握成绩管理的流程和方法。

技能目标则要求学生能够运用MFC构建一个简单的成绩管理系统,并进行有效的数据管理和分析。

情感态度价值观目标则是培养学生的信息素养,使他们认识到信息技术的价值和重要性,以及信息安全的必要性。

二、教学内容教学内容将主要包括MFC的基本概念和成绩管理的基本方法。

首先,将介绍MFC的架构和原理,使学生了解MFC的基本组成和功能。

然后,将教授成绩管理的流程,包括成绩的录入、查询、修改和删除等。

接下来,将介绍如何利用MFC进行成绩的分析和报告生成。

最后,将结合实际案例,使学生能够运用所学知识构建一个简单的成绩管理系统。

三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法。

首先,将运用讲授法,为学生讲解MFC的基本概念和成绩管理的方法。

其次,将采用案例分析法,通过分析实际案例,使学生能够将理论知识应用于实际问题的解决。

此外,还将学生进行小组讨论和实验操作,以培养学生的实际操作能力和团队合作精神。

四、教学资源为了支持教学内容和教学方法的实施,将选择和准备适当的教学资源。

教材将是主要的教学资源,将选用权威、实用的教材,以保证学生能够获得系统的知识结构。

参考书将为学生的深入学习提供更多的资料和观点。

多媒体资料将用于辅助讲解和演示,使学生能够更直观地理解所学内容。

实验设备将是学生进行实际操作的重要资源,将确保学生能够亲身体验和掌握MFC的实际应用。

五、教学评估本课程的评估方式将包括平时表现、作业和考试等多个方面,以全面反映学生的学习成果。

平时表现将根据学生在课堂上的参与程度和表现进行评估,包括提问、回答问题、小组讨论等。

作业将根据学生提交的作业质量和完成情况进行评估,要求学生在规定时间内完成作业,并保证作业的准确性。

考试将分为期中和期末两次,采用闭卷考试的形式,考试内容将涵盖课程的全部知识点。

c语言实训学生成绩管理系统系统架构设计

c语言实训学生成绩管理系统系统架构设计

c语言实训学生成绩管理系统系统架构设计随着计算机技术的不断发展,学生成绩管理系统已经成为学校管理工作中不可或缺的一部分。

为了更好地管理学生成绩,提高教学质量,我们设计了一套基于C语言的实训学生成绩管理系统。

系统架构设计是软件开发的重要环节,它决定了系统的整体结构和功能模块的划分。

在设计这个学生成绩管理系统的架构时,我们考虑了以下几个方面:1. 用户界面层:用户界面层是系统与用户之间的接口,负责接收用户的输入和显示系统的输出。

我们采用了命令行界面,用户可以通过输入指令来进行各种操作,如添加学生信息、录入成绩、查询成绩等。

系统会根据用户的指令进行相应的处理,并将结果显示给用户。

2. 数据处理层:数据处理层是系统的核心部分,负责对学生信息和成绩数据进行处理和管理。

我们设计了学生结构体和成绩结构体,用来存储学生的基本信息和成绩数据。

系统可以根据学生的学号、姓名等信息进行查询和排序,还可以计算学生的平均成绩、最高成绩等统计数据。

3. 数据存储层:数据存储层负责将学生信息和成绩数据保存到文件中,以便系统下次启动时可以读取数据。

我们采用了文本文件的形式来存储数据,每个学生的信息和成绩都保存在一行中,不同的字段之间用逗号分隔。

系统在启动时会读取文件中的数据,并将其加载到内存中进行处理。

4. 错误处理层:错误处理层负责处理系统运行过程中可能出现的错误和异常情况。

例如,当用户输入的指令不合法时,系统会给出相应的错误提示;当文件读取失败或者保存失败时,系统会进行相应的错误处理。

通过合理的错误处理,可以提高系统的稳定性和可靠性。

在系统架构设计的过程中,我们还考虑了系统的扩展性和可维护性。

为了方便以后的功能扩展,我们将不同的功能模块进行了划分,并采用了模块化的设计思想。

每个功能模块都有独立的接口和实现,可以方便地进行替换和升级。

同时,我们还采用了注释和命名规范等良好的编码习惯,以提高代码的可读性和可维护性。

总之,我们设计的这套基于C语言的实训学生成绩管理系统采用了用户界面层、数据处理层、数据存储层和错误处理层等四个层次的架构。

用MFC实现的学生平时成绩管理系统界面化

用MFC实现的学生平时成绩管理系统界面化

xxxxxxxxxxxxxxxxx学院面向对象程序设计实习报告题目:学生平时成绩管理系统学号姓名专业班级指导教师实践日期目录一、综合训练目的与要求 (1)二、综合训练任务 (1)三、总体设计 (1)四、详细设计说明 (2)(1)、登录界面的设计 (2)(2)、菜单界面的设计 (3)(3)、新生学生成绩的录入界面设计 (4)(4)、学生平时成绩查询操作界面 (5)(5)、修改学生信息窗口设计 (5)(6)、删除窗口的设计 (6)五、调试与测试 (7)(1)、学生信息以及平时成绩信息存储的问题 (7)(2)、函数和操作界面的连接问题 (8)(3)、操作界面的美化问题 (8)(4)、操作之后没有提示的问题 (8)(5)、其他调试问题 (8)六、实习日志 (8)七、实习总结 (10)八、附录:核心代码清单 (10)(1)、源文件代码清单(Source File) (10)(2)、头文件代码清单(Header Files) (34)一、综合训练目的与要求在经过一个学期的面向对象程序设计之后,为了让学生掌握面向对象程序设计的基本方法,加深对面向对象的思想,包括封装性,继承性,多态性的理解,此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解C++功能之强大,进一步让学生对面向对象的方法以及C++的编程思想有较好了解和认识,通过对题目设计的实战掌握应用软件的分析方法和工程设计方法,提高升序设计的能力和综合只是的运用能力,此外,此次设计培养独立开发、设计、调试、运行程序的能力,激发学生较强的自学兴趣,锻炼学生之间以及学生雨老师的沟通能力,培养学生之间的合作精神,让彼此更好的认识到合作的重要性,使学生在今后的学习中加强对合作精神的培养。

二、综合训练任务1、培养学生自学的能力,这次实习我开始用的是QT感觉QT实在是不太理解,又转型用的MFC,虽然对MFC也不是很懂,但至少不算是陌生,开始研究MFC的各种类的创建和界面窗口的设计以及代码的编写,虽然加大了实习的难度。

MFC开发学生信息管理系统详细

MFC开发学生信息管理系统详细

学生信息管理系统(一)用microsoft office access创建一个数据库(图)在表中添加字段和数据类型,如下图所示:(图)(图)(图)创建ODBC数据源选择控制面板→管理工具→数据源(ODBC)→系统DSN标签→单击“添加”出现下图所示的界面。

选择Drive do Microsoft Access (*.mdb),单击“完成”。

输入数据源名,单击“选择、、、”,选择c/ 单击“确定”,将会出现如图(图)所示。

(图)(图)(图)(二).MFC图形建立(图)特别注意:创建的应用程序类型是单文档(single document应用程序)(图)将CSTUDXINXIView 的基类改为CScrollView 然后单击“完成”。

(图)为数据表创建CRecordSet用户类按“Ctrl+W ”进入“建立类向导(即MFC ClasWizard)”单击“Add Class...”选择“New...”如图(图)所示.按照(图)→(图)→(图)的安装顺序。

即可完成创建CRecordSet用户类的工作。

(图)(图)(图)(图)在文件中添加CRecordSet包含语句:#include<>如图(图)所示(图)(三)构建班级信息对话框类按“Ctrl+R”键,打开“插入资源”,选择dialog(对话框),选择新建。

将名字改为IDD_CLASSINFO,标题为“班级信息输入”。

按照(图)添加控件。

对于学制框:使用Data页面来添加数据项,按Ctrl+Enter 换行。

(图)完成控件添加后,选择“建立类向导”,创建一个新类、即CClassInfoDlg,如图()所示。

然后按照下图,为控件添加成员变量。

(图)(图使用类向导为CClassInfoDlg类添加WM_INITDIALOG消息映射。

代码位于附录1。

见(图)使用类向导为CClassInfoDlg类添加IDOK按钮的BN_CLICKED消息映射。

代码位于附录2。

MFC开发学生信息管理系统详细

MFC开发学生信息管理系统详细

学生信息管理系统(一)用microsoft office access创建一个数据库student.mdb(图1.1)在表中添加字段和数据类型,如下图所示:(图1.2)(图1.3)(图1.4)创建ODBC数据源选择控制面板→管理工具→数据源(ODBC)→系统DSN标签→单击“添加”出现下图所示的界面。

选择Drive do Microsoft Access (*.mdb),单击“完成”。

输入数据源名,单击“选择、、、”,选择c/student.mdb 单击“确定”,将会出现如图(图1.7)所示。

(图1.5)(图1.6)(图1.7)(二).MFC图形建立(图2.1)特别注意:创建的应用程序类型是单文档(single document应用程序)(图2.2)将CSTUDXINXIView 的基类改为CScrollView 然后单击“完成”。

(图2.3)为数据表创建CRecordSet用户类按“Ctrl+W ”进入“建立类向导(即MFC ClasWizard)”单击“Add Class...”选择“New...”如图(图2.4)所示.按照(图2.5)→(图2.6)→(图2.7)的安装顺序。

即可完成创建CRecordSet用户类的工作。

(图2.4)(图2.5)(图2.6)(图2.7)在stdafx.h文件中添加CRecordSet包含语句:#include<afxdb.h>如图(图2.8)所示(图2.8)(三)构建班级信息对话框类按“Ctrl+R”键,打开“插入资源”,选择dialog(对话框),选择新建。

将名字改为IDD_CLASSINFO,标题为“班级信息输入”。

按照(图3.1)添加控件。

添加的控件ID号标题其他属性编辑框(班级号)IDC_EDIT_CLASSNO 默认编辑框(所在院系)IDC_EDIT_DEPART 默认编辑框(专业)IDC_EDIT_SPECIAL 默认组合框(学制)IDC_COMBO_YEAR 默认日期/时间控件(入学时间)IDC_DATETIMEPICKER1 默认对于学制框:使用Data页面来添加数据项,按Ctrl+Enter 换行。

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

《Visual C++》课程设计题目名称:学生成绩管理程序《MFC版》所在学院:信息工程学院专业名称:自动化专升本13-1 姓名:学号:指导教师:前言这次课设我做的是学生成绩管理系统,本系统依据开发要求主要针对于教育系统,完成对日常的教育工作对学生成绩档案及其他信息的数字化管理。

开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,使各项管理更加规范化。

现在在各大中小学校,用计算机管理学校的信息已经越来越普遍了。

用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。

提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。

目前,学校工作繁杂、资料重多,目前还没有一套完整的、统一的系统。

因此,开发一套适和大众的、兼容性好的系统是很有必要的,但由于知识积累及时间关系,这次课设我所设计的系统不是很完善,有些地方没有考虑到,所以实用性大打折扣,后面有时间将会将系统设计的全面些,更具有实用性。

在这次课设的开发过程中,我注意使其符合软件工程的设计的要求,在之前准备了许多时间来设计表结构,并将各个模块的流程画出来,使系统的各个模块功能完善,并力求系统应具有实用性、可靠性和适用性方便用户的操作,尽量减少用户的操作,并且能够对查询结果进行分类汇总,该系统还有许多不尽如人意的地方,比如用户界面不够美观,对于出错处理不够等多方面问题,这些都有待进一步改善。

目录一.设计目的 (3)二.问题描述 (3)三.需求分析 (3)四.概要设计 (4)1.系统的功能分析 (6)2.系统功能模块图 (7)3.配置数据源 (8)五.详细设计 (10)六.程序设计说明 (12)1.运行程序,首先出现登录界面 (12)2.进入系统 (13)3.显示功能 (14)4.查询功能 (14)5.删除功能 (15)6.修改记录 (16)7.添加记录 (16)8.年级成绩 (17)七.设计总结 (25)八.参考文献 (26)一.设计目的通过课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。

二.问题描述系统功能基本要求:1.学生信息维护;2.教师信息维护;3. 课程信息维护;4.学生选课信息;5. 任课教师操作课程成绩;6. 学生查询课程成绩。

三.需求分析“学生成绩管理信息系统”包括四个模块:成绩录入、班级统计、年级统计、系统功能。

这四个模块既相互联系又相互独立,班级统计、年级统计模块必须以成绩录入为基础。

(1)成绩录入模块:主要功能用来对学生的成绩进行收集和修改。

具体包括学生成绩录入、修改、增加、删除、查询等功能,成绩录入需要分班级、分年级以及某个时间考试的各门功课的成绩。

修改要与成绩录入相对应。

增加、删除是对基本表的操作。

查询条件设置应该齐全,可以班级查询,年级查询,也可以姓名查询,学号查询等等。

(2)班级统计模块:主要功能用来对学生的成绩以班级为单位进行处理。

具体包括各班学生总成绩、平均成绩、班级排名及统计班级某分数段内的学生人数;各个学生该科成绩、班级排名及统计班级某分数段内的学生人数。

各项统计仅对于某学期某次考试而言。

(3)年级统计模块:主要功能用来对学生的成绩以年级为单位进行处理。

具体包括各年级学生总成绩、年级排名统计年级某分数段内的学生人数;各个学生该科成绩、年级排名及统计、年级某分数段内的学生人数。

各项统计仅对于某学期某次考试而言,在统计时,还应注意各年级考试科目不同。

(4)系统功能模块:关于系统及退出系统。

四.概要设计在概要设计里,根据系统需求设计系统EI 图,程序流图,系统功能模块图等信息,并配置了数据源。

图1系统EI 图图2学生信息 课程号成绩编号学生 学号学号班号科目图3功能模块图图4查询模块流程图 查询条件 满足条件数据库显示结果退出不符合条件图5班级与学生成绩流图1.系统的功能分析该学生成绩管理系统是基于网络在线的学生成绩管理系统,在系统中分为大的两个方面:一是教师登录页面、二是学生登录页面。

(1)教师进入学生成绩管理系统的主要功能是:实现添加用户、添加成绩、学籍信息修改、修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。

(2)学生进行学生成绩管量系统的主要功能是:实现修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。

2.系统功能模块图图6教师功能模块图教师在学生成绩管理系统中能够对所有学生的成绩查看,对学生按学号进行精确查询、按学生姓名进行模糊查询,可以修改自己的登录密码,添加用户,添加学生的成绩,打印学生的学籍信息。

图7学生功能模块学生在系统中的基本功能是对自己所有成绩的查询,课程的查询,个人登录密码的修改,基本信息的查看,选课,打印自己的学籍信息。

3.配置数据源在使用数据库之前,在控制面板 管理系统里面选择数据源,配置数据库,将所创建的数据库表格与操作系统所带的ODBC关联起来。

添加完成后,在VC++里用自带的函数库来连接数据库, 并添加创建或者添加,删除,修改等等基本功能。

图8配置数据源图9添加一个数据源在用户DSN中,添加一个数据源,并选择ACCESS的数据源驱动程序,创建好后,与已经建好的数据库连接,确定后数据库与ODBC的连接则创建完成,可以选择前台开发工具进行开发。

五.详细设计本系统定义的数据库中包含以下5个表:学生信息表,成绩表,课程表,代课教师表,班级表。

下面介绍这些表的结构。

学生信息表:用于记录学生的信息,包括学号,姓名等等。

成绩表:用于保存学生成绩信息,包括学号,课程号,成绩等字段。

课程表:用于保存课程信息。

代课教师表:用于保存各门课代课老师的信息。

班级表:用于保存不同专业班级。

(1)学生信息表(2)课程表图10学生信息表图11课程表(3)成绩管理系统教师表(4)班级表图12教师表图13班级表(5)成绩表图14成绩表六.程序设计说明1.运行程序,首先出现登录界面图15登录界面输入用户名和密码,若用户名和密码正确则进入系统。

图16输入错误提示若出错,则弹出对话框要求用户重新输入。

2.进入系统图17进入系统图10提示进入系统。

图18主界面3.显示功能图19功能显示4.查询功能图20查询功能图21显示根据查询条件将学生成绩信息显示到主界面上。

5.删除功能图22删除功能根据学生学号删除对应学生信息。

6.修改记录图23修改成绩拥有管理员权限的用户删除学生成绩信息。

7.添加记录图24添加学生和成绩信息用来添加学生记录。

8.年级成绩图25显示年级记录将年级所有学生课程成绩及科目全部显示出来。

部分程序如下:②、主程序代码;SINFOR.cppSINFOR.cpp : Defines the class behaviors for the application.#include "stdafx.h"#include "SINFOR.h"#include "MainFrm.h"#include "SINFORDoc.h"#include "SINFORView.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endifCSINFORAppBEGIN_MESSAGE_MAP(CSINFORApp, CWinApp){{AFX_MSG_MAP(CSINFORApp)ON_COMMAND(ID_APP_ABOUT, OnAppAbout)NOTE - the ClassWizard will add and remove mapping macros here.DO NOT EDIT what you see in these blocks of generated code!}}AFX_MSG_MAPStandard file based document commandsON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)Standard print setup commandON_COMMAND(ID_FILE_PRINT_SETUP,CWinApp::OnFilePrintSetup)END_MESSAGE_MAP()CSINFORApp constructionCSINFORApp::CSINFORApp(){TODO: add construction code here,Place all significant initialization in InitInstance }The one and only CSINFORApp objectCSINFORApp theApp;CSINFORApp initializationBOOL CSINFORApp::InitInstance(){AfxEnableControlContainer();Standard initializationSetDialogBkColor(RGB(181,255,255),RGB(181,255,255));If you are not using these features and wish to reduce the sizeof your final executable, you should remove from the followingthe specific initialization routines you do not need. #ifdef _AFXDLLEnable3dControls();Call this when using MFC in a shared DLL#elseEnable3dControlsStatic();Call this when linking to MFC statically#endif/Change the registry key under which our settings are stored.TODO: You should modify this string to be something appropriatesuch as the name of your company or organization.SetRegistryKey(_T("Local AppWizard-Generated Applications"));LoadStdProfileSettings();Load standard INI file options (including MRU)Register the application's document templates. Document templatesserve as the connection between documents, frame windows and views.CSingleDocTemplate* pDocTemplate;pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CSINFORDoc),RUNTIME_CLASS(CMainFrame),main SDI frame windowRUNTIME_CLASS(CSINFORView));AddDocTemplate(pDocTemplate);Parse command line for standard shell commands, DDE, file openCCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);Dispatch commands specified on the command lineif (!ProcessShellCommand(cmdInfo))return FALSE;The one and only window has been initialized, so show and update it.m_pMainWnd->ShowWindow(SW_SHOW);m_pMainWnd->UpdateWindow();return TRUE;}CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog{public:CAboutDlg();Dialog Data{{AFX_DATA(CAboutDlg)enum { IDD = IDD_ABOUTBOX };}}AFX_DATAClassWizard generated virtual function overrides{{AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); DDX/DDV support}}AFX_VIRTUALImplementationprotected:{{AFX_MSG(CAboutDlg)No message handlers}}AFX_MSGDECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){{{AFX_DATA_INIT(CAboutDlg)}}AFX_DATA_INIT}void CAboutDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);{{AFX_DATA_MAP(CAboutDlg)}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog){{AFX_MSG_MAP(CAboutDlg)No message handlers}}AFX_MSG_MAPEND_MESSAGE_MAP()App command to run the dialogvoid CSINFORApp::OnAppAbout(){CAboutDlg aboutDlg;aboutDlg.DoModal();}CSINFORApp message handlersvoid CSINFORDoc::AssertValid() const{CDocument::AssertValid();}void CSINFORDoc::Dump(CDumpContext& dc) const{CDocument::Dump(dc);}#endif //_DEBUGCSINFORDoc commandsvoid CSINFORDoc::OnFileAdd(){AddDlg dlg;CString Num;CString b;if(dlg.DoModal()==IDOK){Num=dlg.m_sNum;Num=".\\Lib\\"+Num+".txt";CStdioFile file(Num,CFile::modeCreate | CFile::modeWrite);file.WriteString(dlg.m_sNum+"\n");file.WriteString(dlg.m_sName+"\n");file.WriteString(dlg.m_sSex+"\n");file.WriteString(dlg.m_sGrad+"\n");file.WriteString(dlg.m_sClass+"\n");file.WriteString(dlg.m_sMath+"\n");file.WriteString(dlg.m_sC+"\n");file.WriteString(dlg.m_sEng+"\n");file.WriteString(dlg.m_sDawu+"\n");file.WriteString(dlg.m_sGailun+"\n");file.Close();MessageBox(NULL,"增加成功!","添加信息",MB_OK);}TODO: Add your command handler code here}void CSINFORDoc::OnFileCheck(){CCheck dlg;CString Num;//CString b;if(dlg.DoModal()==IDOK){if(dlg.m_sNum.GetLength()==0)dlg.m_sNum=dlg.m_listNum;Num=dlg.m_sNum;Num=".\\Lib\\"+Num+".txt";MessageBox(NULL,Num,"234",MB_OK);CStdioFile file(Num,CFile::modeRead);file.ReadString(m_sNum);file.ReadString(m_sName);file.ReadString(m_sSex);file.ReadString(m_sGrad);file.ReadString(m_sClass);file.ReadString(m_sMath);file.ReadString(m_sEng);file.ReadString(m_sC);file.ReadString(m_sDawu);file.ReadString(m_sGailun);file.Close();}UpdateAllViews(NULL);TODO: Add your command handler code here}void CSINFORDoc::OnFileUpdata(){UpdataDlg dlg;dlg.m_sName=m_sName;dlg.m_sNum=m_sNum;dlg.m_sSex=m_sSex;dlg.m_sGrad=m_sGrad;dlg.m_sClass=m_sClass;dlg.m_sMath=m_sMath;dlg.m_sEng=m_sEng;dlg.m_sC=m_sC;dlg.m_sDawu=m_sDawu;dlg.m_sGailun=m_sGailun;CString Num;if(dlg.DoModal()==IDOK){Num=dlg.m_sNum;Num=".\\Lib\\"+Num+".txt";CStdioFile file(Num,CFile::modeReadWrite);file.WriteString(dlg.m_sNum+"\n");file.WriteString(dlg.m_sName+"\n");file.WriteString(dlg.m_sSex+"\n");file.WriteString(dlg.m_sGrad+"\n");file.WriteString(dlg.m_sClass+"\n");file.WriteString(dlg.m_sMath+"\n");file.WriteString(dlg.m_sC+"\n");file.WriteString(dlg.m_sEng+"\n");file.WriteString(dlg.m_sDawu+"\n");file.WriteString(dlg.m_sGailun+"\n");file.Close();MessageBox(NULL,"修改成功!","修改信息",MB_OK);}UpdateAllViews(NULL);// TODO: Add your command handler code here}void CSINFORDoc::OnFileDel(){Delinfor dlg;CString szNum="";if(dlg.DoModal()==IDOK){szNum=dlg.m_sNum;CFile file;file.Remove(".\\Lib\\"+szNum+".txt");MessageBox(NULL,"删除成功!","删除信息",MB_OK);}TODO: Add your command handler code here}七.设计总结为期一个星期的课程设计终于做完了,感觉在这段时间里收获了很多东西,由于这学期才学习的Visual C++实用教程,赵老师的代课条理清晰,所以做课程设计感觉是对Visual C++的一次很好的复习。

相关文档
最新文档