您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 12-嵌入式学生选课系统
嵌入式系统课程设计报告题目十二:嵌入式学生成绩查询及选课系统终端设计专业:计算机科学与技术班级:姓名:学号:指导教师:2目录一、设计目的………………………………………………3二、开发环境………………………………………………3三、设计任务及要求………………………………………3四、实现过程………………………………………………34.1硬件…………………………………………………44.2驱动程序设计………………………………………44.3用户应用程序设计…………………………………44.4编译与运行结果……………………………………18五、总结…………………………………………………203一、设计目的学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。当前的网络选课系统均通过B/S结构的网站构架。必须通过具有学校内网IP的PC机客户端登陆才可以进行选课。但是高校选课时间一般固定在几天之内,这样面临着校内机房网络阻塞,一些同学没有机器进行选课等问题。本题目拟在WINCE下设计一套学生选课系统。该系统能够在安装有WINCE系统的智能手机上运行,并且智能终端能够与服务器之间进行数据交换。能够进行课程的查询,修改个人信息,选课与修改选课信息等功能。选课系统的实现能够方便学生选课,节省时间。二、开发环境程序在VisualStudio2005开发环境中编写与编译,使用C++与MFC作为开发的语言环境。利用SQLite数据库实现数据表的建立。4三、设计任务及要求3.1系统应用需求分析学生的需求是查询院系的课程、学生选课情况及学生信息的修改;学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统。一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码。这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。3.2系统功能本系统主要实现学生信息管理、课程信息管理。学生信息管理有学生姓名、学生学号和学生的登录密码;课程信息管理有课程名称、任课教师。(1)学生信息模块完成学生的登陆,然后调用相应的选课模块。其中学生登录模块的功能是验证登录人员确实是本院的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。(2)选课信息模块,是在登陆的状态下在本登陆用户名下进行操作的。针对每个学生进行选课的添加和删除以及查询。学生选课的流程:先从登陆界面登陆如果登陆成功进入选课界面,如果密码或者用户名不对则登录失败。进入到选课界面可以对自己的选课进行增删查。3.3模块设计5(一)、学生登陆模块学生通过登陆界面验证用户名和密码,和数据库中的学生信息匹配方可登陆成功,进入到选课界面。(二)、选课管理模块该模块是在当前用户登陆的状态下进行选课的,所以选课的信息直接加入到该生的信息库中。可对课程进行添加、删除以及查询。6(三)、数据库设计(1)STUDENT表列名类型SNointSNameVarchar(20)SPswint(2)COURSE表列名类型CNointCNameVarchar(20)CTeacherVarchar(20)7CourseVarchar(50)四、实现过程4.1用户应用程序设计MySqlitedlg.cpp(登陆界面的设计和student数据库的初始化)//MySqliteDlg.cpp:实现文件//#includestdafx.h#includeMySqlite.h#includeMySqliteDlg.h#includeDlg1.h#ifdef_DEBUG#definenewDEBUG_NEW#endif//CMySqliteDlg对话框CMySqliteDlg::CMySqliteDlg(CWnd*pParent/*=NULL*/):CDialog(CMySqliteDlg::IDD,pParent){m_hIcon=AfxGetApp()-LoadIcon(IDR_MAINFRAME);}voidCMySqliteDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CMySqliteDlg,CDialog)#ifdefined(_DEVICE_RESOLUTION_AWARE)&&!defined(WIN32_PLATFORM_WFSP)ON_WM_SIZE()#endif8//}}AFX_MSG_MAPON_BN_CLICKED(IDC_BUTTON1,&CMySqliteDlg::OnBnClickedButton1)END_MESSAGE_MAP()//CMySqliteDlg消息处理程序BOOLCMySqliteDlg::OnInitDialog(){CDialog::OnInitDialog();//设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动//执行此操作SetIcon(m_hIcon,TRUE);//设置大图标SetIcon(m_hIcon,FALSE);//设置小图标//TODO:在此添加额外的初始化代码CppSQLite3DBdb;db.open(L\\MyDocuments\\stu.db);//打开或新建数据库,文件名为test.dbCppSQLite3Queryq=db.execQuery(LcreatetableStudent(SNoint,SNamenvarchar(20),SPswint));//使用execQuery方法执行SQL语句创建表。//插入数据q=db.execQuery(LinsertintoStudentvalues(201110910062,'liujiayi',0307));//执行SQL语句插入一条数据q=db.execQuery(LinsertintoStudentvalues(201110910032,'wangjing',0501));MessageBox(_T(SUCCESS),_T(INFORMATION),MB_OK);db.close();//关闭returnTRUE;//除非将焦点设置到控件,否则返回TRUE}#ifdefined(_DEVICE_RESOLUTION_AWARE)&&!defined(WIN32_PLATFORM_WFSP)voidCMySqliteDlg::OnSize(UINT/*nType*/,int/*cx*/,int/*cy*/){if(AfxIsDRAEnabled()){DRA::RelayoutDialog(AfxGetResourceHandle(),this-m_hWnd,DRA::GetDisplayMode()!=DRA::Portrait?9MAKEINTRESOURCE(IDD_MYSQLITE_DIALOG_WIDE):MAKEINTRESOURCE(IDD_MYSQLITE_DIALOG));}}#endifvoidCMySqliteDlg::OnBnClickedButton1(){//TODO:AddyourcontrolnotificationhandlercodehereCStringyhm,mm,strTemp;GetDlgItem(IDC_EDIT1)-GetWindowText(yhm);GetDlgItem(IDC_EDIT2)-GetWindowText(mm);CppSQLite3DBdb;db.open(L\\MyDocuments\\stu.db);strTemp.Format(_T(select*fromStudentwhereSName='%s'andSPsw=%s),yhm,mm);CppSQLite3Queryq=db.execQuery(strTemp);//查询//if(q!=NULL)if(!q.eof()){CDlg1dlg;//将用户名和学号传值dlg.username=q.fieldValue(1);dlg.sno=q.fieldValue(0);dlg.DoModal();}else{MessageBox(_T(OK),_T(INFORMATION),MB_OK);}}Dlg1.h(调用界面以及course数据库的初始化)#pragmaonce#includeafxwin.h#includeafxcmn.h//CDlg1dialogclassCDlg1:publicCDialog10{DECLARE_DYNAMIC(CDlg1)public:CDlg1(CWnd*pParent=NULL);//standardconstructorvirtual~CDlg1();//DialogDataenum{IDD=IDD_DIALOG1};protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupportvirtualBOOLOnInitDialog();DECLARE_MESSAGE_MAP()public:CStringusername,sno;afx_msgvoidOnBnClickedButton1();afx_msgvoidOnBnClickedButton3();CComboBoxm_combo_ctr;CComboBoxm_combo_ctr1;CListCtrlm_list;afx_msgvoidOnLvnItemchangedList1(NMHDR*pNMHDR,LRESULT*pResult);afx_msgvoidOnBnClickedButton2();};MySqlite.h//MySqliteDlg.h:头文件//#includeCppSQLite3U.h#pragmaonce//CMySqliteDlg对话框classCMySqliteDlg:publicCDialog{//构造public:CMySqliteDlg(CWnd*pParent=NULL);//标准构造函数//对话框数据11enum{IDD=IDD_MYSQLITE_DIALOG};protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持//实现protected:HICONm_hIcon;//生成的消息映射函数virtualBOOLOnInitDialog();#ifdefined(_DEVICE_RESOLUTION_AWARE)&&!defined(WIN32_PLATFORM_WFSP)afx_msgvoidOnSize(UINT/*nType*/,int/*cx*/,int/*cy*/);#endifDECLARE_MESSAGE_MAP()public:afx_msgvoidOnBnClickedButton2();afx_msgvoidOnBnClickedButton1();};Dlg1.h#pragmaonce#includeafxwin.h#includeafxcmn.h//CDlg1dialogclassCDlg1:publicCDialog{DECLARE_DYNAMIC(CDlg1)public:CDlg1(CWnd*pParent=NULL);//standardconstructorvirtual~CDlg1();//DialogDataenum{IDD=IDD_DIALOG1};protected:vir
本文标题:12-嵌入式学生选课系统
链接地址:https://www.777doc.com/doc-6431576 .html