VC++学生信息管理系统课程设计报告.docx
《VC++学生信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《VC++学生信息管理系统课程设计报告.docx(24页珍藏版)》请在沃文网上搜索。
1、目录1绪论11.1项目简介11.2设计目的11.3设计内容12需求分析12.1数据需求12.2事务需求23概要设计23.1系统的大致流程图24详细设计24.1系统的流程图24.2整体逻辑数据库结构34.3涉及算法的思想35用户使用说明45.1开发运行环境45.2数据库的名称及内容46关键源程序56.1建立工程56.2模块156.3模块296.5模块4127测试结果及运行界面198总结238.1系统实现程度238.2问题及难点238.3收获与体会23参考文献241绪论1.1项目简介本系统主要实现学生信息管理功能,为老师与同学提供一个可以快速查找信息的平台。1.2设计目的方便老师与同学查看学生信息
2、,提高学生信息管理的效率,节省时间,从而实现学校工作的边界管理。1.3设计内容主要包括:用户的登陆于注册,对学生信息的增加删除修改。2需求分析2.1数据需求系统需要处理哪些数据总体分为用户输入的数据和从数据库中获得的数据。主要数据类型包括:CString类型数据、double类型数据、int类型数据和CTime类型数据。2.2事务需求用户:登陆、注册,对数据的增删改3概要设计3.1系统的大致流程图注册模块登录模块维护模块录入学生信息删除学生信息修改学生信息通讯录管理系统4详细设计4.1系统的流程图注册结束开始添加显示信息登录流程切换详细信息修改退出删除4.2整体逻辑数据库结构数据库用户登陆操作
3、score表修改信息添加信息删除信息 4.3涉及算法的思想4.3.1建立数据库通过ADO建立两个数据库(新建 Microsoft Office Access 应用程序)存放登陆信息和学生信息。4.3.2数据录入在新建学生信息数据库中录入学生信息。4.3.3登录框的设计 4.3.3.1 建立变量Sname,Spsw,通过格式变幻,将CString格式转换成数据库规定的格式 4.3.3.2 通过compare函数将输入的用户名与密码与数据库比较4.3.4注册框的设计先判定输入框里的名字在数据库里不存在,然后将输入的信息替换入数据库4.3.5添加记录4.3.5.1建立一个新的窗口,包含姓名,学号,年
4、龄等基本信息录入框 4.3.5.2用户录入要添加记录信息,如果要添加记录和已有记录不冲突就会把录入信息添加到新建 Microsoft Office Access 应用程序记录集中。4.3.6修改记录对已经录入的学生信息进行修改4.3.7删除记录 将已选中的记录从记录集中去除。5用户使用说明5.1开发运行环境5.1.1设备:本系统对设备的要求很低,一般的电脑主机都能运行。运行前安装Visual C 6.0。5.1.2支持软件:系统支持:Windows 7等。开发工具:Visual C 6.0、Access 2010。5.2数据库的名称及内容本系统包含两个数据库,Data和Database数据库,
5、Database数据库中储存的是用户名与密码,Data数据库中储存的是学生的学号、姓名、年龄、联系方式、宿舍。Data(学生通讯表)字段名称中文含义数据类型宽度Num学号文本20Name姓名文本20Age年龄数字3Home宿舍文本20Phone联系电话文本20Database(管理登录表)字段名称中文含义数据类型宽度Logname用户名文本20Logpsw用户密码文本206关键源程序6.1建立工程6.2模块1先在学生信息管理系统.cpp中添加代码,通过ADO创建登陆数据库/ 学生信息管理系统.cpp : Defines the class behaviors for the applicati
6、on.#include stdafx.h#include 学生信息管理系统.h#include 学生信息管理系统Dlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMyAppBEGIN_MESSAGE_MAP(CMyApp, CWinApp)/AFX_MSG_MAP(CMyApp)/ NOTE - the ClassWizard will add and remove mapping macros here./ DO NOT EDIT what you se
7、e in these blocks of generated code!/AFX_MSGON_COMMAND(ID_HELP, CWinApp:OnHelp)END_MESSAGE_MAP()/ CMyApp constructionCMyApp:CMyApp()/ TODO: add construction code here,/ Place all significant initialization in InitInstance/ The one and only CMyApp objectCMyApp theApp;CDaoDatabase db;/建立全局变量,在其他地方调用时要
8、加extern/ CMyApp initializationBOOL CMyApp:InitInstance()AfxEnableControlContainer();/ Standard initialization/ If you are not using these features and wish to reduce the size/ of your final executable, you should remove from the following/ the specific initialization routines you do not need.#ifdef
9、_AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#elseEnable3dControlsStatic();/ Call this when linking to MFC statically#endif/这里就是程序入口,在这里添加数据库检查代码CString Filepath=Database.mdb;CDaoRecordset Dbset(&db); CFileFind Ffind;/先看看存不存在数据库文件 BOOL flag=Ffind.FindFile(Filepath); Ffind.Clos
10、e(); if(!flag)/如果没有就创建CString sqlcmd=CREATE TABLE DataTable(Name VARCHAR(20),Psw VARCHAR(20);db.Create(Filepath);db.Execute(sqlcmd);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);Dbset.AddNew();Dbset.SetFieldValue(Name,_variant_t(wzh);Dbset.SetFieldValue(Psw,_variant_t(123456);Dbset.
11、Update();Dbset.Close();db.Close();/建立数据库文件,设置初始化账号CMyDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse = IDOK)/ TODO: Place code here to handle when the dialog is/ dismissed with OKelse if (nResponse = IDCANCEL)/ TODO: Place code here to handle when the dialog is/ dismissed with
12、Cancel/ Since the dialog has been closed, return FALSE so that we exit the/ application, rather than start the applications message pump.return FALSE;void CMyDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Cent
13、er icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);else/ 给窗体添加背景 CPaintDC dc(this); CRe
14、ct rc; GetClientRect(&rc); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP1); BITMAP bitmap; bmpBackground.GetBitmap(&bitmap);/取得bmpBackground中图片的信息,放在bitmap所指的指针中 CBitmap* pbmpPri = dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rc.Width()
15、, rc.Height(), &dcMem,0,0,bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);/CDialog:OnPaint();进入系统void CMyDlg:OnButton1() DIALOGLOG tec;tec.DoModal();退出系统void CMyDlg:OnButton2() if(IDYES=MessageBox(确定退出?,退出程序, MB_ICONQUESTION|MB_YESNO )DestroyWindow();6.3模块2登陆extern CDaoDatabase db;/调用那个全局变量void DIALOGLOG:
16、Onlogbt() /判断输入筐里的内容和数据库里的内容是否吻合UpdateData(true);CDaoRecordset Dbset(&db);CString Filepath=Database.mdb;CString Sname,Spsw;_variant_t varname,varpsw;db.Open(Filepath);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);varname=Dbset.GetFieldValue(Name);varpsw=Dbset.GetFieldValue(Psw);Snam
17、e=(LPCSTR)_bstr_t(varname);Spsw=(LPCSTR)_bstr_t(varpsw);Dbset.Close();db.Close();if(m_logname.IsEmpty()|m_logpsw.IsEmpty()/如果输入框中存在空输入MessageBox(信息不能为空!);return;if(Sname.Compare(m_logname)=0&Spsw.Compare(m_logpsw)=0)/如果密码和用户与数据库一致MessageBox(登入成功!,温情提示);DIALOG3 dlg;dlg.DoModal();elseMessageBox(用户名或密码
18、错误!,温情提示);return;注册void DIALOGLOG:Onlogreg() DIALOGREG dlg;dlg.DoModal();6.4模块3取消void DIALOGREG:OnRegcancle() CDialog:OnCancel();注册void DIALOGREG:OnRegbt() /让数据库里一直只有一个用户UpdateData(true);/及时更新数据CString Filepath=Database.mdb;CString Sname;_variant_t varname;CDaoRecordset Dbset(&db);db.Open(Filepath);
19、Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);varname=Dbset.GetFieldValue(Name);Sname=(LPCSTR)_bstr_t(varname);if(m_regname.IsEmpty()|m_regpsw.IsEmpty()MessageBox(信息不能为空!,温情提示);return;if(m_regpsw!=m_regpsw1) AfxMessageBox(密码不一致); return;if(Sname.Compare(m_regname)!=0)/如果输入框里的名字在数据库里
20、不存在Dbset.Edit();/将新数据代替旧数据Dbset.SetFieldValue(Name,_variant_t(m_regname);Dbset.SetFieldValue(Psw,_variant_t(m_regpsw);Dbset.Update();MessageBox(用户注册成功!,温情提示);CDialog:OnOK(); else/如果输入的名字和数据库里的一致,这提示存在该用户MessageBox(该用户已存在!,温情提示);Dbset.Close();db.Close();6.5模块4初始化窗口BOOL DIALOG3:OnInitDialog() CDialog:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 学生 信息管理 系统 课程设计 报告