C学籍管理系统课程设计报告含代码_第1页
C学籍管理系统课程设计报告含代码_第2页
C学籍管理系统课程设计报告含代码_第3页
C学籍管理系统课程设计报告含代码_第4页
C学籍管理系统课程设计报告含代码_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

年4月19日C学籍管理系统课程设计报告含代码文档仅供参考摘要:学籍管理信息系统是高校管理的重要组成部分,为老师、同学提供存档、查询等手段。根据教学安排,我们有两周的时间进行学籍管理信息系统课程设计,我们小组团结一心,分工明确,积极讨论,终于在组员的努力下及老师的指导帮助下,我们顺利完成了本次课程设计,系统包括学生资料设置,成绩设置,成绩、排名查询,修改资料关键字:系统查询课程设计论文管理目录第一章绪论(1)1.1课程设计背景………11.2课程设计目的………11.3课程设计思路………1第二章系统总体规划(2)2.1前期准备……………22.2系统功能……………2第三章系统分析设计(3)3.1建立MFC主界面及代码设计………33.2学生资料设置及代码设计…………103.3学生成绩设置及代码设计…………193.4查询功能及代码设计………………283.5修改密码功能及代码设计…………303.6删除功能及代码设计………………343.7修改功能及代码设计………………36第四章界面设计与实现(37)4.1学生信息管理系统…………………374.2学生资料设置………374.3成绩设置……………384.4学生资料显示………384.5成绩显示……………394.6修改密码……………39总结(40)工作安排(43)参考文献(44)第一章绪论课程设计背景经过一个学期对《C++程序设计》的学习,学习到了基本的理论知识,了解到了C++语言程序设计的思想,现在把这些知识运用到实际中来。学籍管理信息系统是高校管理的重要组成部分,它能够为用户提供充分的信息和快捷的查询手段。使用计算机对学生资料、成绩信息进行管理,能够极大的提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。因此我们有必要开发学籍管理信息系统。课程设计目的全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类、对象、继承与派生、多态、虚函数、模板、流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品。了解当前常见的软件开发工具(VisualC++),要求熟练掌握基于MFC的程序设计,培养解决实际问题的能力。1.3课程设计思路实现学生基本情况的录入、修改、删除等基本操作;能实现学生成绩的录入、修改、删除等基本操作;能方便的对学生的各个学期成绩进行统计;能具有成绩统计、排名等功能;可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。第二章系统总体规划2.1前期准备学习C++6.0课本理论知识,查找、搜集相关资料,讨论出具体思路、方法,在整个过程中周老师给了我们必不可少的许多指导,使我们能够顺利地完成前期各项工作。2.2系统功能基于系统需求分析,该系统具有以下基本功能:用户管理:管理系统操作人员,设置操作人员账号、密码、用户资料等。用户资料:学生经过登录,能够查询到自己的资料、成绩、排名,同时能够修改密码。成绩管理:管理员根据学生成绩保存到系统中,同时可计算出综合排名、平均分等信息。基础数据管理:维护学生资料,主要包括院系、专业设置,联系方式、学号等个人信息设置等。管理员登陆注册用户资料登录系统设置成绩功能图管理员登陆注册用户资料登录系统设置成绩查询成绩\排名\平均分查询成绩\排名\平均分查询用户资料修改密码学生登录查询用户资料修改密码学生登录第三章系统分析设计3.1建立MFC主界面及代码设计#include"stdafx.h"//头文件#include"学生信息管理系统.h"#include"学生信息管理系统Dlg.h"#include"xueshengziliao2.h"#include"xueshengziliao1.h"#include"stu.h"#include"fstream.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endifclassCAboutDlg:publicCDialog//定义类CAboutDlg及数据和方法{public: CAboutDlg(); enum{IDD=IDD_ABOUTBOX}; protected: virtualvoidDoDataExchange(CDataExchange*pDX);protected: DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog) END_MESSAGE_MAP()CMyDlg::CMyDlg(CWnd*pParent)//构造函数 :CDialog(CMyDlg::IDD,pParent){ m_xuehao2=0.0f; m_mima=0.0f; m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);}voidCMyDlg::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX); DDX_Text(pDX,IDC_EDIT1,m_xuehao2); DDX_Text(pDX,IDC_EDIT2,m_mima);}BEGIN_MESSAGE_MAP(CMyDlg,CDialog)//窗口链接函数的实现 ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_guanliyuandenglu,Onguanliyuandenglu) ON_BN_CLICKED(IDC_xueshengdenglu,Onxueshengdenglu) ON_BN_CLICKED(IDC_guanbi,Onguanbi)END_MESSAGE_MAP()BOOLCMyDlg::OnInitDialog()//布尔函数的实现{ CDialog::OnInitDialog(); ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX<0xF000); CMenu*pSysMenu=GetSystemMenu(FALSE); if(pSysMenu!=NULL) { CStringstrAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if(!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu); } } SetIcon(m_hIcon,TRUE); SetIcon(m_hIcon,FALSE); returnTRUE;}voidCMyDlg::OnSysCommand(UINTnID,LPARAMlParam){ if((nID&0xFFF0)==IDM_ABOUTBOX) { CAboutDlgdlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID,lParam); }}voidCMyDlg::OnPaint()//添加背景图片{ if(IsIconic()) { CPaintDCdc(this); SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0); intcxIcon=GetSystemMetrics(SM_CXICON); intcyIcon=GetSystemMetrics(SM_CYICON); CRectrect; GetClientRect(&rect); intx=(rect.Width()-cxIcon+1)/2; inty=(rect.Height()-cyIcon+1)/2; dc.DrawIcon(x,y,m_hIcon); } else{//CDialog::OnPaint();//要禁止这个调用CPaintDCdc(this);CRectrect;GetClientRect(&rect);CDCdcMem;dcMem.CreateCompatibleDC(&dc);CBitmapbmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP1);BITMAPbitmap;bmpBackground.GetBitmap(&bitmap);CBitmap*pbmpOld=dcMem.SelectObject(&bmpBackground);dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);}}HCURSORCMyDlg::OnQueryDragIcon()//最小化窗口{ return(HCURSOR)m_hIcon;}voidCMyDlg::Onguanliyuandenglu()//管理员登录{ this->UpdateData(true); if(m_mima==123&&m_xuehao2==321) {xueshengziliao2a; this->OnCancel();//跳出此窗口时关闭此窗口 a.DoModal();//跳转到另一窗口 } elsethis->MessageBox("管理员的学号或密码输入错误!");}VoidCMyDlg::Onxueshengdenglu()//学生登录{ structstustu; boolnum=false; boolcode=false; intfind=0;this->UpdateData(true); ifstreamii("data.txt");//读取数据while(ii.eof()==0) { ii.read((char*)&stu,sizeof(stu)); if(stu.xuehao==m_xuehao2) { find=1; break; } }ii.close(); if(find==0) { this->MessageBox("该学号尚未注册!"); } else{ num=true; if(stu.mima==m_mima) { code=true; } else this->MessageBox("密码错误!"); } if(num==true&&code==true) { xueshengziliao1aa; this->UpdateData(true); aa.m_dianhua1=stu.dianhua;//更新关联变量 aa.m_dizhi1=stu.dizhi; aa.m_mima1=stu.mima; aa.m_nianbanji1=stu.nianbanji; aa.m_xingbie1=stu.xingbie; aa.m_xingming1=stu.xingming; aa.m_xuehao1=stu.xuehao; aa.m_xueyuan1=stu.xueyuan; aa.m_zhuanye1=stu.zhuanye; aa.m_jiguan1=stu.jiguan; this->UpdateData(false); this->OnCancel(); aa.DoModal();//跳转窗口 } }voidCMyDlg::Onguanbi()//关闭此窗口{ this->OnOK();}3.2学生资料设置及代码设计#include"stdafx.h"#include"学生信息管理系统.h"#include"学生信息管理系统Dlg.h"#include"xueshengziliao2.h"#include"chengji2.h"#include"fstream.h"#include"stu.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endifxueshengziliao2::xueshengziliao2(CWnd*pParent/*=NULL*/) :CDialog(xueshengziliao2::IDD,pParent){ m_zhuanye2=_T(""); m_xueyuan2=_T(""); m_xuehao2=0.0f; m_xingming2=_T(""); m_xingbie2=_T(""); m_nianbanji2=_T(""); m_mima2=0.0f; m_jiguan2=_T(""); m_dizhi2=_T(""); m_dianhua2=0.0f;}voidxueshengziliao2::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX); DDX_Text(pDX,IDD_zhuanye2,m_zhuanye2); DDX_Text(pDX,IDD_xueyuan2,m_xueyuan2); DDX_Text(pDX,IDD_xuehao2,m_xuehao2); DDX_Text(pDX,IDD_xingming2,m_xingming2); DDX_Text(pDX,IDD_xingbie2,m_xingbie2); DDX_Text(pDX,IDD_nianbanji2,m_nianbanji2); DDX_Text(pDX,IDD_mima2,m_mima2); DDX_Text(pDX,IDD_jiguan2,m_jiguan2); DDX_Text(pDX,IDD_dizhi2,m_dizhi2); DDX_Text(pDX,IDD_dianhua2,m_dianhua2);}BEGIN_MESSAGE_MAP(xueshengziliao2,CDialog) ON_BN_CLICKED(IDC_chaxun2,Onchaxun2) ON_BN_CLICKED(IDC_fanhui2,Onfanhui2) ON_BN_CLICKED(IDC_guanbi2,Onguanbi2) ON_BN_CLICKED(IDC_queren2,Onqueren2) ON_BN_CLICKED(IDC_shanchu2,Onshanchu2) ON_BN_CLICKED(IDC_shezhichengji2,Onshezhichengji2) ON_BN_CLICKED(IDC_xiugai2,Onxiugai2)END_MESSAGE_MAP()Voidxueshengziliao2::Onfanhui2()//关闭此窗口并返回{ this->OnCancel(); CMyDlga; a.DoModal(); }Voidxueshengziliao2::Onguanbi2()//关闭此窗口{ this->OnOK(); }Voidxueshengziliao2::Onchaxun2()//查询用户资料{ intfindFlag=0; this->UpdateData(true); structstustu;ifstreamis("data.txt"); while(is.eof()==0) { is.read((char*)&stu,sizeof(stu)); if(m_xuehao2==stu.xuehao){findFlag=1; break; } }is.close();if(findFlag==1){ m_xingming2=stu.xingming; m_mima2=stu.mima; m_xuehao2=stu.xuehao; m_dianhua2=stu.dianhua;m_dizhi2=stu.dizhi;m_nianbanji2=stu.nianbanji;m_xingbie2=stu.xingbie;m_xueyuan2=stu.xueyuan;m_zhuanye2=stu.zhuanye;m_jiguan2=stu.jiguan;}else{ this->MessageBox("此学号用户不存在!"); m_xingming2=""; m_mima2=0; m_xuehao2=0; m_dianhua2=0;m_dizhi2="";m_nianbanji2="";m_xingbie2="";m_xueyuan2="";m_zhuanye2="";m_jiguan2="";}this->UpdateData(false);}voidxueshengziliao2::Onxiugai2()//修改用户资料{ unsignedlongposition=NULL; intfindFlag=0; this->UpdateData(true); structstustu;ifstreamis("data.txt"); while(is.eof()==0) { position=is.tellg(); is.read((char*)&stu,sizeof(stu)); if(stu.xuehao==m_xuehao2) {findFlag=1; break; } } is.close(); if(findFlag==0){ this->MessageBox("此学号用户不存在!"); return;}ofstreamos("data.txt",ios::ate); os.seekp(position); strcpy(stu.xingming,m_xingming2); stu.mima=m_mima2; stu.xuehao=m_xuehao2; stu.dianhua=m_dianhua2;strcpy(stu.dizhi,m_dizhi2);strcpy(stu.nianbanji,m_nianbanji2);strcpy(stu.xingbie,m_xingbie2);strcpy(stu.xueyuan,m_xueyuan2);strcpy(stu.zhuanye,m_zhuanye2);strcpy(stu.jiguan,m_jiguan2); os.write((char*)&stu,sizeof(stu)); os.close(); this->MessageBox("修改成功");}voidxueshengziliao2::Onqueren2()//用户注册{ stu stu,stu1; this->UpdateData(true); strcpy(stu.xingming,m_xingming2); stu.mima=m_mima2; stu.xuehao=m_xuehao2; stu.dianhua=m_dianhua2;strcpy(stu.dizhi,m_dizhi2);strcpy(stu.nianbanji,m_nianbanji2);strcpy(stu.xingbie,m_xingbie2);strcpy(stu.xueyuan,m_xueyuan2);strcpy(stu.zhuanye,m_zhuanye2);strcpy(stu.jiguan,m_jiguan2); ifstreamis("data.txt"); inti=0;while(is.eof()==0) { is.read((char*)&stu1,sizeof(stu1));if(stu1.xuehao==m_xuehao2) {i=1; this->MessageBox("此学号用户已登记!"); break; } } is.close(); if(i==0) { ofstreamos("data.txt",ios::app); os.write((char*)&stu,sizeof(stu)); os.close(); MessageBox("此学号用户注册成功!"); }}Voidxueshengziliao2::Onshanchu2()//删除用户资料{ unsignedlongposition=NULL; structstustu; intfindFlag=0; this->UpdateData(true); ifstreamis("data.txt"); while(is.eof()==0) { position=is.tellg(); is.read((char*)&stu,sizeof(stu)); if(stu.xuehao==m_xuehao2) {findFlag=1; break; } } is.close(); if(findFlag==0){ this->MessageBox("此学号用户不存在,删除失败!"); return;}ofstreamos("data.txt",ios::ate); os.seekp(position); strcpy(stu.xingming,""); stu.mima=0; stu.xuehao=0; stu.dianhua=0;strcpy(stu.dizhi,"");strcpy(stu.nianbanji,"");strcpy(stu.xingbie,"");strcpy(stu.xueyuan,"");strcpy(stu.zhuanye,"");strcpy(stu.jiguan,""); os.write((char*)&stu,sizeof(stu)); os.close();m_xingming2=""; m_mima2=0; m_xuehao2=0; m_dianhua2=0;m_dizhi2="";m_nianbanji2="";m_xingbie2="";m_xueyuan2="";m_zhuanye2="";m_jiguan2=""; this->MessageBox("删除成功");this->UpdateData(false);}Voidxueshengziliao2::Onshezhichengji2()//判断学生资料存在与否和跳到学生资料窗口{ chengji2a; a.DoModal();}3.3学生成绩设置及代码设计//chengji2.cpp:implementationfile#include"stdafx.h"#include"学生信息管理系统.h"#include"chengji2.h"#include"fstream.h"#include"fen.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endifchengji2::chengji2(CWnd*pParent) :CDialog(chengji2::IDD,pParent){ m_c1=0.0f; m_changweifen1=0.0f; m_makesiyuanli1=0.0f; m_pingjunfen1=0.0f; m_shufen1=0.0f; m_tiyu1=0.0f; m_wuli1=0.0f; m_wulishiyan1=0.0f; m_yingyu1=0.0f; m_zongfen1=0.0f; m_paiming1=0.0f; m_xuehao1=0.0f;}voidchengji2::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX); DDX_Text(pDX,IDD_c1,m_c1); DDX_Text(pDX,IDD_changweifen1,m_changweifen1); DDX_Text(pDX,IDD_makesiyuanli1,m_makesiyuanli1); DDX_Text(pDX,IDD_pingjunfen1,m_pingjunfen1); DDX_Text(pDX,IDD_shufen1,m_shufen1); DDX_Text(pDX,IDD_tiyu1,m_tiyu1); DDX_Text(pDX,IDD_wuli1,m_wuli1); DDX_Text(pDX,IDD_wulishiyan1,m_wulishiyan1); DDX_Text(pDX,IDD_yingyu1,m_yingyu1); DDX_Text(pDX,IDD_zongfen1,m_zongfen1); DDX_Text(pDX,IDC_paiming11,m_paiming1); DDX_Text(pDX,IDC_xuehao21,m_xuehao1);}BEGIN_MESSAGE_MAP(chengji2,CDialog) ON_BN_CLICKED(IDC_queren2,Onqueren2) ON_BN_CLICKED(IDC_fanhui2,Onfanhui2) ON_BN_CLICKED(IDC_guanbi2,Onguanbi2) ON_BN_CLICKED(IDC_shanchu2,Onshanchu2) ON_BN_CLICKED(IDC_xiugai2,Onxiugai2) ON_BN_CLICKED(IDC_chaxun2,Onchaxun2)END_MESSAGE_MAP()voidchengji2::Onqueren2()//登记小学生成绩{ fenfen,fen1; this->UpdateData(true); fen.c=m_c1; fen.changweifen=m_changweifen1; fen.makesiyuanli=m_makesiyuanli1; fen.shufen=m_shufen1; fen.tiyu=m_tiyu1; fen.wuli=m_wuli1; fen.wulishiyan=m_wulishiyan1; fen.yingyu=m_yingyu1;fen.xuehao=m_xuehao1;fen.sum=m_c1+m_changweifen1+m_makesiyuanli1+m_shufen1+m_tiyu1+m_wuli1+m_wulishiyan1+m_yingyu1;ifstreamis("data1.txt"); inti=0;while(is.eof()==0) { is.read((char*)&fen1,sizeof(fen1)); if(fen1.xuehao==m_xuehao1) {i=1; this->MessageBox("此学号用户成绩已登记!"); break; } is.close(); if(i==0) { ofstreamos("data1.txt",ios::app); os.write((char*)&fen,sizeof(fen)); os.close(); MessageBox("成绩登记成功!"); } }}voidchengji2::Onfanhui2()//关闭窗口{ this->OnOK();}voidchengji2::Onguanbi2(){ this->OnOK();}voidchengji2::Onshanchu2()//删除成绩数据{ unsignedlongposition=NULL; intfindFlag=0; this->UpdateData(true); structfenfen;ifstreamis("data1.txt"); while(is.eof()==0) { position=is.tellg(); is.read((char*)&fen,sizeof(fen)); if(fen.xuehao==m_xuehao1) {findFlag=1; break; } } is.close(); if(findFlag==0){ this->MessageBox("此学号用户不存在,删除失败!"); return;}ofstreamos("data1.txt",ios::ate); os.seekp(position); fen.c=0; fen.changweifen=0; fen.makesiyuanli=0; fen.shufen=0; fen.tiyu=0; fen.wuli=0; fen.wulishiyan=0; fen.yingyu=0;fen.xuehao=0; fen.sum=0; os.write((char*)&fen,sizeof(fen)); os.close();m_c1=0; m_changweifen1=0; m_makesiyuanli1=0; m_shufen1=0; m_tiyu1=0; m_wuli1=0; m_wulishiyan1=0; m_yingyu1=0;m_xuehao1=0; m_zongfen1=0; m_pingjunfen1=0; m_paiming1=0; this->UpdateData(false); this->MessageBox("删除成功");}Voidchengji2::Onxiugai2()//修改用户数据{ unsignedlongposition=NULL; intfindFlag=0; this->UpdateData(true); structfenfen;ifstreamis("data1.txt"); while(is.eof()==0) { position=is.tellg(); is.read((char*)&fen,sizeof(fen)); if(fen.xuehao==m_xuehao1) {findFlag=1; break; } } is.close(); if(findFlag==0){ this->MessageBox("此学号用户不存在!"); return;}ofstreamos("data1.txt",ios::ate); os.seekp(position); fen.c=m_c1; fen.changweifen=m_changweifen1; fen.makesiyuanli=m_makesiyuanli1; fen.shufen=m_shufen1; fen.tiyu=m_tiyu1; fen.wuli=m_wuli1; fen.wulishiyan=m_wulishiyan1; fen.yingyu=m_yingyu1;fen.xuehao=m_xuehao1;fen.sum=m_c1+m_changweifen1+m_makesiyuanli1+m_shufen1+m_tiyu1+m_wuli1+m_wulishiyan1+m_yingyu1; os.write((char*)&fen,sizeof(fen)); os.close(); this->MessageBox("修改成功");}voidchengji2::Onchaxun2()//实现查询功能{ intfindFlag=0; this->UpdateData(true); structfenfen;ifstreamis("data1.txt"); while(is.eof()==0) { is.read((char*)&fen,sizeof(fen)); if(fen.xuehao==m_xuehao1) {findFlag=1; break; } }is.close();if(findFlag==1){ //this->MessageBox("此数据存在!"); m_c1=fen.c; m_changweifen1=fen.changweifen; m_makesiyuanli1=fen.makesiyuanli; m_shufen1=fen.shufen; m_tiyu1=fen.tiyu; m_wuli1=fen.wuli; m_wulishiyan1=fen.wulishiyan; m_yingyu1=fen.yingyu;m_xuehao1=fen.xuehao; m_zongfen1=fen.sum; m_pingjunfen1=fen.sum/8;}else{ this->MessageBox("此学号用户成绩未登记!"); m_c1=0; m_changweifen1=0; m_makesiyuanli1=0; m_shufen1=0; m_tiyu1=0; m_wuli1=0; m_wulishiyan1=0; m_yingyu1=0;m_xuehao1=0; m_zongfen1=0;} this->UpdateData(false);}3.4查询功能及代码设计Voidxueshengziliao1::Onchaxuechengji1()//查询成绩{ chengji1tt; this->UpdateData(true); structfenfen;intfindFlag=0; floati=1; ifstreamjj("data1.txt"); while(jj.eof()==0) { jj.read((char*)&fen,sizeof(fen)); if(fen.xuehao==m_xuehao1) { findFlag=1; tt.m_c1=fen.c; tt.m_changweifen1=fen.changweifen; tt.m_makesiyuanli1=fen.makesiyuanli; tt.m_shufen1=fen.shufen; tt.m_tiyu1=fen.tiyu; tt.m_wuli1=fen.wuli; tt.m_wulishiyan1=fen.wulishiyan; tt.m_yingyu1=fen.yingyu; tt.m_zongfen1=fen.c+fen.changweifen+fen.makesiyuanli+fen.shufen+fen.tiyu+fen.wuli+fen.wulishiyan+fen.yingyu;tt.m_pingjunfen1=fen.sum/8; break; } } jj.close();ifstreamjjj("data1.txt"); if(findFlag==1)//成立则显示出data文档中相应的储存数据{ structfengg; while(jjj.eof()==0) { jjj.read((char*)&gg,sizeof(gg)); if(fen.sum<gg.sum)i=i+1; tt.m_paiming1=i; } jjj.close(); this->UpdateData(false);tt.DoModal(); } elsethis->MessageBox("未登入成绩!","消息:");}Voidxueshengziliao1::Onguanbi1()//关闭此窗口{ this->OnOK();}Voidxueshengziliao1::Onfanhui1()//关闭此窗口并返回{ this->OnCancel(); CMyDlga; a.DoModal();}3.5修改密码功能及代码设计#include"stdafx.h"#include"学生信息管理系统.h"#include"xueshengziliao1.h"#include"xiugaimima1.h"#include"stu.h"#include"fstream.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endifxiugaimima1::xiugaimima1(CWnd*pParent) :CDialog(xiugaimima1::IDD,pParent){ m_xuehao1=0.0f; m_qingshuruxinmima1=0.0f; m_jiumima1=0.0f; m_zaicishuruxinmima1=0.0f;}voidxiugaimima1::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX); DDX_Text(pDX,IDD_xuehao1,m_xuehao1); DDX_Text(pDX,IDD_qingshuruxinmima1,m_qingshuruxinmima1); DDX_Text(pDX,IDD_jiumima1,m_jiumima1); DDX_Text(pDX,IDD_zaicishuruxinmima1,m_zaicishuruxinmima1);}BEGIN_MESSAGE_MAP(xiugaimima1,CDialog) ON_BN_CLICKED(IDC_queren1,Onqueren1) ON_BN_CLICKED(IDC_fanhui2,Onfanhui2)END_MESSAGE_MAP()voidxiugaimima1::Onqueren1()//修改密码功能的实现{ this->UpdateData(true); structstustu1; boolnum=false; boolcode=false; unsignedlongposition=NULL; intfind=0;this->UpdateData(true); ifstreamii("data.txt");while(ii.eof()==0) { ii.read((char*)&stu1,sizeof(stu1)); if(stu1.xuehao==m_xuehao1) { find=1; break; } }ii.close(); if(find==0) { this->MessageBox("该学号用户尚未注册!","消息:"); } else{ num=true; if(stu1.mima==m_jiumima1) { code=true; } else this->MessageBox("旧密码错误!","消息:"); } if(num==true&&code==true) { if(m_qingshuruxinmima1==m_zaicishuruxinmima1) { stu1.mima=this->m_zaicishuruxinmima1; ofstreamtt("data.txt",ios::ate); tt.seekp(position); tt.write((char*)&stu1,sizeof(stu1));//经过write方式进行数据覆盖,达到修改的目的 tt.close(); this->MessageBox("修改成功!请保留您的号码和密码!","消息:"); this->UpdateData(false);} elsethis->MessageBox("两次新号码不相等,请检查!","警告:"); }}BEGIN_EVENTSINK_MAP(xiugaimima1,CDialog)END_EVENTSINK_MAP()voidxiugaimima1::OnBeforeDragOverImage1(LPDISPATCHCancel,LPDISPATCHData,floatX,floatY,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论