ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:389.24KB ,
资源ID:9505478      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9505478.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VC++学生信息管理系统课程设计报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VC++学生信息管理系统课程设计报告.docx

1、VC+学生信息管理系统课程设计报告 项目名称设计开始日期2012-08-20项目完成日期2012-08-24文 档评审主要考核内容 评审项目评审内容项目名称课题是否从实际出发,是否满足工作量需求,是否具有创意等文档格式文档格式是否规范;文字是否规范;图表是否规范;术语是否准确等文档质量程序设计思想与整体框架是否清晰等程序功能完备性评审主要内容评审项目评 审 内 容程序运行状况程序是否能正常运行;是否出现死锁;是否遇到错误而中止运行程序正确性对于给定的输入数据,是否能得到正确的输出结果程序与文档的一致性程序与各种文档的内容是否一致程序的代码量程序代码量的大小实现方法图形界面或命令行界面,美观程度

2、程序功能程序的功能是否完备答辩评审内容评审项目评审内容答辩思路答辩思路是否清晰回答问题回答问题是否正确考 勤 评 定 成 绩考勤成绩课程设计是否按照要求在机房完成课程设计总成绩 课程设计题目: 学生信息管理系统 问题阐述与分析:1.设计背景:随着学校的发展,需要对越来越多的学生信息进行处理,依靠传统的处理方式已经满足不了要求,所以可以通过编一个学生信息管理系统,使学生的信息能够集中管理,由于这个数据量比较大,而对于大量数据的处理,采用数据库更为安全简便。在此,可以通过学生信息管理系统这个项目来学习数据库的使用和注意事项。对于学生信息管理系统这个项目,需要处理学生的基本信息,姓名,学号,年龄,性

3、别,宿舍,联系方式等。2.设计实现意义 有利于学生的管理便利3.所要解决的主要问题帮助老师、同学们更方便快捷的查询学生的信息4.应用范围本系统适用于理论研究。即用来对平台功能的增减,修改及相关算法优化等做研究。 工作量:我在学习VC+ 的MFC编程,数据库的相关知识,同时进行下面的工作,1拟定课程设计的主要方向学生信息管理系统;2明确所做系统的主要需要解决的问题,根据问题分析系统所要实现的主要功能,根据功能设计出不同的模块登陆模块,注册模块,维护模块。3设计系统的登录及各个主要功能的界面外观;4以各个界面所要实现的功能为以依据,为各个部分编写代码并匹配数据库;登陆模块,能进行登录,并且输入错误

4、时,有提示信息注册模块,可进行用户的注册维护模块,能进增加,删除,修改等动作5调试程序,修改程序中出现的错误,并在功能,外观方面对程序进行完善,使程序实用性更强; 6完成工程。 工作计划安排:2012年8月20日-8月20日 : 进行系统分析,确定各模块及具体实现方案。2011年8月20日-8月21日 :进行系统的分析,确定各部分需要完成的主要功能,确定具体实现方案,并学习相关知识,确定使用VC+6.0。2011年8月21日-8月22日 :根据分析和设计,开始系统的实现,进行代码的编写。2011年8月22日8月23日各模块合并,调试运行。2011年9月23日-8月24日:系统完善,撰写报告1绪

5、论1.1项目简介本系统主要实现学生信息管理功能,为老师与同学提供一个可以快速查找信息的平台。1.2设计目的方便老师与同学查看学生信息,提高学生信息管理的效率,节省时间,从而实现学校工作的边界管理。1.3设计内容主要包括:用户的登陆于注册,对学生信息的增加删除修改。2需求分析2.1数据需求系统需要处理哪些数据总体分为用户输入的数据和从数据库中获得的数据。主要数据类型包括:CString类型数据、double类型数据、int类型数据和CTime类型数据。2.2事务需求用户:登陆、注册,对数据的增删改3概要设计3.1系统的大致流程图4详细设计4.1系统的流程图4.2整体逻辑数据库结构 4.3涉及算法

6、的思想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.3.5.2用户录入要添加记录

7、信息,如果要添加记录和已有记录不冲突就会把录入信息添加到新建 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数据库,Database数据库中储存的是用户名与密码,Dat

8、a数据库中储存的是学生的学号、姓名、年龄、联系方式、宿舍。Data(学生通讯表)字段名称中文含义数据类型宽度Num学号文本20Name姓名文本20Age年龄数字3Home宿舍文本20Phone联系电话文本20Database(管理登录表)字段名称中文含义数据类型宽度Logname用户名文本20Logpsw用户密码文本206关键源程序6.1建立工程6.2模块1先在学生信息管理系统.cpp中添加代码,通过ADO创建登陆数据库/ 学生信息管理系统.cpp : Defines the class behaviors for the application.#include stdafx.h#inclu

9、de 学生信息管理系统.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 see in these blocks of ge

10、nerated code! /AFX_MSG ON_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;/建立全局变量,在其他地方调用时要加extern/ CMyApp ini

11、tializationBOOL 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 _AFXDLL Enable

12、3dControls(); / Call this when using MFC in a shared DLL#else Enable3dControlsStatic(); / Call this when linking to MFC statically#endif /这里就是程序入口,在这里添加数据库检查代码 CString Filepath=Database.mdb; CDaoRecordset Dbset(&db); CFileFind Ffind;/先看看存不存在数据库文件 BOOL flag=Ffind.FindFile(Filepath); Ffind.Close(); if

13、(!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

14、.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 OK else if (nResponse = IDCANCEL) / TODO: Place code here to handle when the dialog is / di

15、smissed with 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 painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSa

16、feHdc(), 0); / Center icon in client rectangle int 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 icon dc.DrawIcon(x, y, m_hIcon); else / 给

17、窗体添加背景 CPaintDC dc(this); CRect 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);

18、 dc.StretchBlt(0,0,rc.Width(), 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 CDaoDat

19、abase db;/调用那个全局变量void DIALOGLOG: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(N

20、ame); varpsw=Dbset.GetFieldValue(Psw); Sname=(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(登入成功!,温情

21、提示); DIALOG3 dlg; dlg.DoModal(); else MessageBox(用户名或密码错误!,温情提示); 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;

22、 _variant_t varname; CDaoRecordset Dbset(&db); db.Open(Filepath); 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) Afx

23、MessageBox(密码不一致); return; if(Sname.Compare(m_regname)!=0)/如果输入框里的名字在数据库里不存在 Dbset.Edit();/将新数据代替旧数据 Dbset.SetFieldValue(Name,_variant_t(m_regname); Dbset.SetFieldValue(Psw,_variant_t(m_regpsw); Dbset.Update(); MessageBox(用户注册成功!,温情提示); CDialog:OnOK(); else/如果输入的名字和数据库里的一致,这提示存在该用户 MessageBox(该用户已存在

24、!,温情提示); Dbset.Close(); db.Close();6.5模块4初始化窗口BOOL DIALOG3:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here m_list.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);/设置扩展样式 m_list.InsertColumn(0,学号,LVCFMT_L

25、EFT,100,0);/添加学号项 m_list.InsertColumn(1,姓名,LVCFMT_LEFT,100,1);/添加姓名项 m_list.InsertColumn(2,年龄,LVCFMT_LEFT,100,2);/添加年龄项 m_list.InsertColumn(3,联系方式,LVCFMT_LEFT,200,3);/添加联系方式项 m_list.InsertColumn(4,宿舍,LVCFMT_LEFT,100,4);/添加宿舍项 readDb();/在初始化函数中,如果没有找到数据库文件就创建,并且在列表中显示出来 return TRUE; / return TRUE unl

26、ess you set the focus to a control通过ADO创建学生信息数据库void DIALOG3:readDb() CString Filepath=Data.mdb;/将数据库文件Data.mdb在程序的同一目录下 CFileFind Ffind;/先看看存不存在数据库文件 BOOL flag=Ffind.FindFile(Filepath); Ffind.Close(); if(!flag)/如果没有,就创建 aa.Create(Filepath); CString sqlcmd=CREATE TABLE DataTable(Num VARCHAR(20),Name

27、 VARCHAR(20),Age VARCHAR(3),Phone VARCHAR(20),Home VARCHAR(20);/创建内部表,并设置两个属性(姓名,年龄) aa.Execute(sqlcmd);/执行sql指令 aa.Close();/创建完成一定要关闭,否则出错 MessageBox(数据库已建立成功!,温情提示); _variant_t varnum,varname;COleVariant varage,varphone,varhome; CString Sname,Sage,Snum,Sphone,Shome;int i=0;aa.Open(Filepath);Dbset.

28、Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);while(!Dbset.IsEOF() varnum=Dbset.GetFieldValue(Num); varname=Dbset.GetFieldValue(Name); varage=Dbset.GetFieldValue(Age); varphone=Dbset.GetFieldValue(Phone); varhome=Dbset.GetFieldValue(Home); Snum=(LPCSTR)_bstr_t(varnum); Sname=(LPCSTR)_bstr_t(varname); Sage=(LPCSTR)varage.pbstrVal; Sphone=(LPCSTR)varphone.pbstrVal; Shome=(LPCSTR)varhome.pbstrVal;/分别将数据库里面读出来的文件转换成CString m_list.InsertItem(i,); m_list.SetItemText(i,0,Snum); m_list.SetItemText(i,1,Sna

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1