




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
43湖南科技大学VC+ 课程设计报告学籍管理信息系统学生姓名:学号:1007010204 年级专业:10级信息技术 班级:信息技术1班指导老师: 学院:数学与计算科学提交日期:2012年12月目录一、开发背景3二、系统分析.4【2.1】需求分析.4三、系统设计.4【3.1】系统进入界面的流程图.5【3.2】用户管理管理.5【3.3】信息维护.5【3.4】记录查询.5【3.5】报表输出.5四、功能模块分析.4【4.1】系统管理模块.4【4.2】报表输出模块.4【4.3】学生信息管理模块.4五、开发环境.5六、系统演示.7【6.1】系统登录.7【6.2】系统主界面.7【6.3】系统管理.8【6.4】学生信息管理.9七、系统实现思路19八、存在的不足与对策20九、心得与体会20十、主要程序代码21【10.1】链表类.21【10.2】对话框类的实现代码.29十一、参考文献41一、 开发背景 对于一个只有十个以下学生的学校来说,老师可以凭借自己的记忆力记住学生的基本信息、学籍成绩等资料。 但是对于一个几十人、上百人、甚至上千人的学校来说,光凭管理者的记忆力肯定是不够的,采用手工记录的方式会非常不方便。如果有一款管理软件能够完成学校信息的管理,这样会大大减轻管理者的负担。 二、 系统分析1. 需求分析【2.1】 需要有一个记录学生的学号、姓名、性别、性别等基本信息的学生基本信息管理模块。三、 系统设计【3.1】 系统的进入界面流程图【3.2】用户管理管理者用自己的用户名和密码登录该系统。【3.3】信息维护管理着进入该系统后可以添加,删除。【3.4】记录查询管理者可以学生学号查询和学生姓名查询。【3.5】报表输出输出学校所有学生的信息。进入系统后的流程界面如下:四、 模块分析【4.1】. 系统登录注册和注销系统开始运行就出现系统登录对话框,密码正确后才能进入主界面(默认用户名:shan密码为123),用户还可以注销,注册和退出功能。【4.2】显示模块显示模块将输出所有学生的所有的信息 。【4.3】 修改模块首先由用户输入要修改的学生的姓名或者学号,然后系统用修改函数查找,显示该名学生的资料,然后系统提示用户输入需要修改学生的资料。【4.4】查询模块首先由用户输入要查询的学生的学号或者姓名,然后系统用查询函数查找,显示该名学生的信息。【4.5】删除模块首先由用户输入要删除的单个学生姓名或者学号,然后调用删除函数,删除该名学生的资料。【4.6】 清空模块系统将会把所有学生的资料全部删除,将链表清空。五、 开发环境【5.1】系统开发平台:Visual C+ 6.0。【5.2】运行平台:Windows 2000/Windows XP/Windows 2003/Windows Vista/windows7。六,系统演示【6.1】登录系统当登录系统时,出现对话框 ,输入用户名:杨朝勇 密码123【6.2】 系统主界面当管理者输入正确的密码后,验证成功后,进入系统的主界面如下:【6.3】系统管理打开系统管理点击注册,当用户名注册成功打开系统管理退出【6.4】学生信息管理1,打开学生信息管理点击添加信息添加信息成功2,打开学生信息管理删除信息删除学生信息成功3打开学生信息管理点击修改学生信息输入修改学生姓名:4,打开学生信息管理按学号查询查询成功:5,打开学生信息管理按学生姓名查找如果该系统没有改学生信息提示6,打开学生信息管理系统查询所有者信息如果该系统中没有有学生信息则显示该系统中为空,则会提示是否向该系统中添加数据如果该系统中有学生信息,则显示所有学生的信息7,打开学生信息管理系统清除所信息 对话框会提示是否清空所有学生的信息七、系统实现思路用一个链表类来实现所有的功能,链表类中封装了如下功能:int LinkListInsert(string &name,string &id,int &age);/在第一个位置插入数据int GetFirst(linklist &first); /得到第一个位置的元素int GetNext(linklist &pos,linklist &next); /得到指定位置的下一个位置int GetPre(linklist &pos,linklist &pre);/得到指定位置的上一个位置int FindByName(string &name,linklist &object,linklist &pre); /按姓名查找int FindById(string &id,linklist &object,linklist &pre);/按学号查找int Edit(linklist &object,string &name,string &id,int &age);/修改指定元素int Delete(linklist &object);/删除指定元素的后一个int SaveAll();/保存int LoadAll();/载入 在MFC中应用该类即可实现该系统。八,存在的不足与对策鉴于本人水平有限及时间等方面的原因,该系统的功能比较简单,不足之处有:首先,一次性只能输入一个数据,当下一次输入时,信数据会覆盖原来的数据,不能永久保存,因而不具有实际用途,仅停留在单纯的编程水平,并不能用于实际;第二,查询能力不强,而且没有设置对一些简单的信息进行修改,删除及对同样的姓名全部删除其信息等功能。对于一些不正确的输入可能会造成一些难以预料的结果,因此,请尽可能的输入正确信息。这些不足请老师多多谅解。今后设计者会更多的学习编程技巧,不断的提高程序设计水平。九,心得体会经过几个星期的设计和开发,系统基本开发完毕。在本次课程设计中困难遇到不少,比如文本文件的操作,i/o流,string,Cstring类,容器类相关的成员函数,全局参数的传递等。由于这是第一次进行课程设计没有经验很多地方多不尽人意,函数的实现不够完善等等。由于设计时间较短,所以该系统还有许多不尽如人意的地方,功能不够完善等多方面问题。在这次系统开发的过程中,我深深体会到了做一个系统,首先进行需求分析的重要性,了解了一个系统的制作,从功能分析到功能模块分析、与其他系统的关系,再到后台数据存储设计及各功能模块的创建都需要从整体上考虑设计。这些都有待以后进一步改进。通过实践对于我以后的学习是一笔不小的财富!特别是自己编的函数用户注册模块。希望在以后数据库系统设计中能开发出更强大的系统,希望以后能够在这方面有更多的创新和强化。十,程序的主要代码【1】链表类:头文件/*/*链表类基本操作:*/*/#ifndef LINKLIST_H#define LINKLIST_H#include #define FALSE 0#define TRUE 1#define OVERFLOW -2/#define OK 1/#define ERROR 0using namespace std;typedef struct LNodestring Name; string Id;int Age;int Length; /表长struct LNode *next;LNode,*linklist;class LinkListpublic:LinkList(); /在构造函数中初始化一个头结点LinkList(); int LinkListInsert(string &name,string &id,int &age);/在第一个位置插入数据int GetFirst(linklist &first); /得到第一个位置的元素int GetNext(linklist &pos,linklist &next); /得到指定位置的下一个位置int GetPre(linklist &pos,linklist &pre);/得到指定位置的上一个位置int FindByName(string &name,linklist &object,linklist &pre); /查找int FindById(string &id,linklist &object,linklist &pre);int Edit(linklist &object,string &name,string &id,int &age);/修改指定元素int Delete(linklist &object);/删除指定元素的后一个int DisplayAll();int SaveAll();/保存int LoadAll();/载入private:linklist A;#endif实现源文件:#include #include LinkList.h#include LinkList:LinkList()A=new LNode;/构建一个头结点if(!A)exit(OVERFLOW);/内存分配失败couterror!Age=0;A-Id=;A-Name=;A-next=NULL;A-Length=0;LinkList:LinkList()linklist p,q;p=A;while(p-next!=NULL)q=p-next;delete p;p=q;delete p;A=NULL;p=NULL;q=NULL;int LinkList:LinkListInsert(string &name,string &id,int &age)linklist B;B=new LNode;if(!B)exit(OVERFLOW);/内存分配失败couterror!Age=age;B-Id=id;B-Name=name;B-next=A-next;/把元素插入第一个位置A-next=B;A-Length+;return TRUE;int LinkList:GetFirst(linklist &first)if(A-Length=0)coutno value!next;return TRUE;int LinkList:GetNext(linklist &pos,linklist &next)if(A-Length=0)coutthat is the last,no value!next;return TRUE;int LinkList:FindByName(string &name,linklist &object,linklist &pre)if(A-Length=0)coutno value!next;pre=A;while(p)if(name=p-Name)object=p;return TRUE;pre=p;p=p-next;coutno element!Length=0)coutno value!length;int i=0;while(!input.eof()&i+nameidage;LinkListInsert(name,id,age);input.close();return TRUE;elsecoutcan not load any data!endl;input.close();return FALSE;【10.2】对话框类的实现代码 BOOL C1007010212Dlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX string/strB = LPCSTR(strA); / string - CString if(=add.m_name)MessageBox(信息不完整!n请重新输入!);return;if(=add.m_id)MessageBox(信息不完整!n请重新输入!);return;if(0=add.m_age)MessageBox(信息不完整!n请重新输入!);return;string name,id;name=LPCSTR(add.m_name);id=LPCSTR(add.m_id);/将CString 转换为string;data.LinkListInsert(name,id,add.m_age);data.SaveAll(); /保存数据m_list_stuinfo.DeleteAllItems();OnBtnDisplay();AfxMessageBox(信息添加成功!);void C1007010212Dlg:OnBtnDisplay() / TODO: Add your control notification handler code herem_list_stuinfo.DeleteAllItems();LinkList data;linklist first,next;data.LoadAll();/载入数据if(!data.GetFirst(first)if(IDOK=AfxMessageBox(没有数据,是否请输入数据!,MB_OKCANCEL)OnBtnAdd();elsewhile(first)char age5;memset(age,0,5);m_list_stuinfo.InsertItem(0,first-Name.c_str();m_list_stuinfo.SetItemText(0,1,first-Id.c_str();itoa(first-Age,age,10);m_list_stuinfo.SetItemText(0,2,age);if(data.GetNext(first,next)first=next;void C1007010212Dlg:OnBtnDeleteall() / TODO: Add your control notification handler code hereLinkList data;data.LoadAll();if(IDOK=AfxMessageBox(确定清空数据n清空后将不可恢复!,MB_OKCANCEL)data.SaveNull();AfxMessageBox(数据已清空);m_list_stuinfo.DeleteAllItems();elsereturn ;void C1007010212Dlg:OnBtnDelete() / TODO: Add your control notification handler code hereCDlgDelete a;LinkList data;linklist object,pre;data.LoadAll();a.DoModal();UpdateData();string name;name=LPCSTR(a.m_name);if(data.FindByName(name,object,pre)if(IDOK=AfxMessageBox(确定删除数据n清空后将不可恢复!,MB_OKCANCEL)data.Delete(pre);data.SaveAll();m_list_stuinfo.DeleteAllItems();OnBtnDisplay();elseAfxMessageBox(没有该生信息!);void C1007010212Dlg:OnBtnFindbyname() / TODO: Add your control notification handler code hereLinkList data;linklist object,pre;string str;data.LoadAll();CDlgFindByName a;a.DoModal();UpdateData();str=LPCSTR(a.m_name);if(data.FindByName(str,object,pre)CDlgDisplay b;CString na,id;na.Format(%s,object-Name.c_str();id=object-Id.data();b.m_age=object-Age;b.m_id=id;b.m_name=na;b.DoModal();UpdateData(FALSE);elseAfxMessageBox(没有该生信息!);return ;void C1007010212Dlg:OnBtnFindbyid() / TODO: Add your control notification handler code hereLinkList data;linklist object,pre;string str;data.LoadAll();CDlgFindById a;a.DoModal();UpdateData();str=LPCSTR(a.m_id);if(data.FindById(str,object,pre)CDlgDisplay b;CString na,id;na.Format(%s,object-Name.c_str();id=object-Id.data();b.m_age=object-Age;b.m_id=id;b.m_name=na;b.DoModal();UpdateData(FALSE);elseAfxMessageBox(没有该生信息!);return ;void C1007010212Dlg:OnBtnEdit() / TODO: Add your control notification handler code hereCDlgEdit a;LinkList data;void C1007010212Dlg:OnAbout() / TODO: Add your command handler code hereCDlgAbout a;a.DoModal();void C1007010212Dlg:OnExit() / TODO: Add your command handler cod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津国际留学方案咨询
- 油墨厂耐壬苯试验细则
- 化肥厂检测供应商档案细则
- 浙江省杭州市保俶塔教育集团2025-2026学年八年级上学期9月月考数学试卷(无答案)
- 电池厂产品检验标准实施细则
- 宠物美容培训学校入学合同书6篇
- 脂脉康安全性评价-洞察及研究
- 显示器亮度均匀性-洞察及研究
- 学生旅行安全知识培训课件
- 手三阳经课件
- 小额农业贷款技术服务合作协议
- 2025年押运员模拟考试试题及答案
- 沉井施工合同4篇
- 2026年高考试题汇编政治专题26树立科学思维观念
- 轴承质检员培训课件文档
- 2025沈阳各区县(市)工会公开招聘工会社会工作者数量考试参考试题及答案解析
- 数字化解决方案设计师专项考核试卷及答案
- 2025年北京市西城区普通中学高三数学第一学期期末检测模拟试题
- (2025秋新版)苏教版小学数学二年级上册全册教案
- 管业务必须管安全课件
- 月嫂培训教材及课件
评论
0/150
提交评论