学生信息管理系统设计(私信我发源程序qq2795581871)_第1页
学生信息管理系统设计(私信我发源程序qq2795581871)_第2页
学生信息管理系统设计(私信我发源程序qq2795581871)_第3页
学生信息管理系统设计(私信我发源程序qq2795581871)_第4页
学生信息管理系统设计(私信我发源程序qq2795581871)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、c+面向对象课程设计任务书题目7 “学生信息管理系统设计”1、问题描述学生信息包括:学号、姓名、性别、年龄、班级等信息。小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。屮学生除了包括小学生所有信息外,还包括地理、历史成绩、家庭住址等信息。 大学生除了包括学生所有信息外,还包括专业、家庭地址、联系方式等信息。2、功能要求(1)添加功能:程序能够添加不同学生的记录,提供选择界而供用户选择所要添加的 类别,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到, 给出相应的提示信息,如果找到,贝

2、ij显示相应的记录信息。(3)显示功能:可显示当前系统屮所有学牛的记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改吋注意学号的唯一性。(5)删除功能:主要实现对己添加的学生记录进行删除。如果当前系统中没有相应的 记录,则提示“记录为空!”并返回操作。(6)统计功能:能根据多种参数进行统计。能统计学生人数、按性别统计、按年龄统 计等。(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件屮的信息读入到当前系统屮,供用户进行使用。3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功

3、能模块框图以及界面的组织和设计;(2)分析系统屮的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次屮各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。目录一、需求分析21 选做此课题的目的22程序所实现的功能2二、内容设计21 根据所选题目,给出模块图22画出主程序及其主要模块的流程图33编写程序关键代码5三、调试分析151实际完成的情况说明152 程序的性能分析153 上机过程中出现的问题及其解决方案154 程序中可以改进的地方说明165 程序中可以扩充的功能及设计实现构想16四、用户手册16五、

4、设计总结22六、参考文献23一、需求分析1. 选做此课题或项的目的面向对象程序设计作为一门软件设计的课程,具有极强的实践性,必须使学生具备灵活 应丿ij理论知识的能力及面向对象程序设计技能。所以在c+面向对象程序设计课程学习 完成后,安排课程设计教学环节。通过课程设计,使学生实际掌握面向对象的程序设计方法,了解c+tfri向对象的设 计方法与技巧,有效地、深刻地理解课程内容,体会理论、方法和设计原则;培养学生 分析实际问题和解决问题的能力,使学生具备使用面向对象程序设计开发工具设计实际 系统的能力。2. 程序所实现的功能(1)添加功能:程序能够添加不同学生的记录,提供选择界面供用户选择所要添加

5、的 类别,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据学号、姓名等信息対已添加的学生记录进行查询,如果未找到, 给出相应的提示信息,如果找到,则显示相应的记录信息。(3)显示功能:可显示当前系统屮所有学生的记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改。(5)删除功能:主耍实现对已添加的学生记录进行删除。如果当前系统中没有相应的 记录,则提示“记录为空!”并返回操作。(6)统计功能:能根据多种参数进行统计。能统计学牛人数、按性别统计、按年龄统 计等。(7)保存功能:可将当前系统中各类记录存入文件中。(8)读取功能:

6、可将保存在文件中的信息读入到当前系统中,供用户进行使用。二、内容设计1 根据所选题目,给出模块图系统杳 询添加示修保改存打开统计图2.1程序功能模块图系统添修打保添修打保添修打保加改开存加改开存加改开存图2.2系统模块图2画出主程序及其主要模块的流程图开始)选择添加 学生类型点击添加输入姓名点击按学号查询点击按姓名查询图2.4 杳询功能的流程图图2.5 修改功能的流程图图2.6 删除功能的流程图开始i点击统计打开文件统计各个条件下的人图2.7 统计功能的流程图3 编写程序关键代码定义的全局变量和普通类extern int n;extern int n2;extern int n3;extern

7、 int pupno;extern int midno;extern int colno;class student学生信息包括:学号、姓名、性别、年龄、班级等信息。public:int nnumb;char snamc20;int nage;char ssex20j;char nclass20;;/小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。class spupikvirtual public studentpublic:int nescore;int nmscorc;int ncscore;屮学生除了包括小学生所有信息外,还包括地理、历史成绩、家庭住址等信息。 class s

8、middle:public spupilpublic:int nmscore;int ncscore;int nescorc;int ngscore;char saddress30;int nhscore;char saddress30;大学生除了包括学生所有信息外,还包括专业、家庭地址、联系方式等信息。class scollege:virtual public studentpublic:char sconncct30;char smajor20;; 冇三种学生小学生,中学生,大学生。以小学生为例展示关键代码。修改的代码进入信息修改界面void cpup1ldlg:onmod()clistc

9、trl* pjistl =(clistctrl*)getdlgitem(idc_list 1);position pos=p_iist 1 ->gctfirstsclcctcditcmposition();int nsel=p_list 1 ->getnextselecteditem(pos);n=nsel;if(nsel<0)afxmessagebox("请选择一个再修改”);retuni;录入修改信息七个字符串分別记录小学生的七个信息,从编辑框中获得相应信息再显示到列表框中void cxiugaidlg:onok()cstring str,strl,str2,s

10、tr3,str4,str5,str6,str7; if(getfocus()!=getdlgitem(idok)cdialog:nextdlgctrl();return;getdlgitemtext(idc_numb,str);clistctrl& list=m_pinfodlg 1 ->m_list 1;引用 if(idno=afxmcssagebox(“确认修改记录吗?m,mb_yesno) return;list.deleteltein(n);getdlgitemtext(idc_name,str 1);getdlgitemtext(idc_sex,str2);getdlg

11、itemtext(idc_age,str3);getdlgitemtext(idc_class,str4);getdlgitemtext(idc_escore,str5);getdlgitemtext(idc_mscore,str6);getdlgitemtext(idc_cscore,str7);if(st=,|strl=n,l|str2=,,1|str3=,hl|str4=,,l|str5=,,l|str6=,|str7=,h,)afxmessagebox("请填写完信息!");return;list.insertltem(n.str);list.setitemtext

12、(nj ,strl);hst.setitemtext(n,2,str2);list.sctitcmtcxt(n,3,str3);list.setitemtext(n,4,str4);list.setitemtext(n,5,str5);list.setitemtext(n,6,str6);hst.setitemtext(n,7,str7);cdialog:onok();删除关键代码void cpupildlg:ondele()clistctrl* p_listl=(clistctrl*)getdlgitem(idc_listl);position pos=p_listl ->getfir

13、stselecteditemposition(); int nsel=pist 1 ->getnextselecteditem(pos);if(nsel<0)afxmessagebox("请选择一个再删”); return;pjistl ->deleteitem(nsel);添加的关键代码进入信息添加界血void cpuplldlg:onaddl()/ todo: add your control notification handler code here cinputdlg dig;dlg.m_pinfodlg=this; dlg.domodal();将录入添加

14、信息 if(gctfocus()!=gctdlgitcm(idok)cdialog:nextdlgctrl();return;cstring str,str 1 ,str2,str3,str4,str5,str6,str7;getdlgitemtext(idc_numb,str);clistctrl& list=m_pinfodlg->m_list 1;弓用int i=0,ncount=list.getitemcount(); while(i<ncount)if(list.getitemtext(i,o)=str)afxmcssagcboxc'学号 “+str+”已

15、存在!“);return;+i;gctdlgitcmtcxt(idc_name,str 1);getdlgitemtext(idc_sex,str2);getdlgitemtext(idc_age,str3);getdlgltemtext(idc_class,str4);getdlgitemtext(idc_escore,str5);gctdlgitcmtcxt(idc_mscore,str6);getdlgitemtext(idc_cscore,str7);if(str=“”|strlh”“|str2=“”|st3=“”|str4=”“|str5=”|str6=i”|str7=”“) afx

16、mcssagcboxc1 请填写完信息! ”);return;list.insertltem(ncount,str);list.set!temtext(ncount, 1 ,strl);hst.setitemtext(ncount,2,str2);list.sctitcmtcxt(ncount,3,str3);list. s etitemtext(ncount,4,str4);list.setitemtext( nco unt,5,str5);list.setitemtext(ncount,6,str6);hst.setitemtext(ncount,7,str7);if(idyes=afxm

17、essagebox(h 继续添加记录吗?n,mb_yesno)setdlgitemtext(idc_numb,n,);setdlgitemtext(idc_name;m,);setdlgitemtext(idc_sex,n,);setdlgitemtext(idc_age;,n);setdlgitemtext(idc_class,h n);setdlgitemtext(idc_escore,n,);setdlgitemtext(idc_mscore,mh);setdlgitemtext(idc_cscore,h);gctdlgitcm(idc_numb)->sctfocus();retu

18、rn;elsecdialog: :oncancel();文件打开void cpup1ldlg:onopen()cfile file; if(!file.open('*ap upil .txt'*,cfile: moderead) afxmcssagcbox(h打开文件失败! ”);return;m_l istl.deleteallitems();spupil info;int i=0;cstring str;while(file.read (&info,sizeof(info)=sizeof(info)str.format(n%dm,info.nnumb);m_l is

19、tl .insertltem(i,str);mist 1 sctitcmtcxt(i, 1 jnfo.snamc);m_list 1 .setitemtext(i,2 jnfo.ssex);str.format(ll%d,info.nage);m_l istl .setitemtext(i,3,str);m_l ist 1 .setitemtext(i,4,info.nclass);str.format(n%drinfo.nescorc);m_list 1 .setitemtext(i,5,str);str. format(n%d n,info. nmscore);m_l ist 1 .set

20、itemtext(i,6,str);str.format(,%dlinfo.ncscore);mistl .sctitcmtcxt(i,7,str);+i;file.close();文件保存void cpupildlg:onsave()cfile file;if(!filc.opcn(".p upil.txt",cfile: :mo(lcccatc|cfilc:modcwitc) afxmessagebox(h保存文件失败! ”);return;int i=0,ncount=m_list 1 .gctitcmcount();spupil info;while(i<nc

21、ount)info.nnumb=atoi(m _listl getitemtext(i,o);m_list 1 .getitemtext(i, 1 ,info.sname,sizeof(info.sname); m_l ist 1 .getitemtext(i,2tinfb.ssex,sizeof(infb-ssex);info.n age=atoi(m_list 1 .getitemtext(i,3);m_list 1 .getitemtext(i94,info.nclass,sizeof(info.nclass); info.nescorc=atoi(m_listl.gctitcmtcxt

22、(i,5);info.nmscore=atoi(m_listl.getitemtext(i,6);info.ncscore=atoi(mistl getitemtext(i,7);file.write(&info,sizeof(info);+i;afxmessagebox(" e 保存文件");统计void tongjidlg:onok()cstring xbl 二"女”;cfile file,file2,file3;int i=o,j=o,k=o;int nvnu=(),nannu=(),agenu 1 =0,agenu2=0,agenu3=0;spup

23、il info;smiddle info2;scollege info3; file3.open(macollege.txtu,cfile:moderead|cfile:sharedenynone);while(file3.read( & info3,sizeof(infb3)=sizeof(info3)if(info3.ssex=xbl)nvnu+;elsenannu+;if(info3.nagc<12)agenul+;if( info3.nage>=12 && info3.nage<17)agenu2+;if(info3.nage>17)ag

24、cnu3+;file3.close();file2.open(h.middle.txt,cfile:itioderead|cfile:sharedenynone); whilc(filc2.rcad(&info2,sizcof(info2)=sizcof(info2)if(info2.ssex=xbl) nvnu+;elsenannu+;if(info2.nage<12)agenui+;if( info3.nage>=12 && info2.nage<17)agcnu2+;if(info2.nage>17)agenu3+;j+;filc2.clo

25、sc();file.open(".pupil.txt",cfile:moderead|cfile:sharedenynone);while(file.read(&info,sizeof(info)=sizeof(info)if(info.ssex=xb 1)nvnu+;elsenannu+;if(info.nage<12)agenul+;else if( info3.nagc>=12 && info.nagc<17)agenu2+;else if(info.nage>= 17)agenu3+;k+;file.closeo;pu

26、pno二k;midno=j;colno=i;int m=pupno+midno+colno;cstring str,strl,str2,str3,str4,str5;str. format("%d ”,m);m_totol.setwindowtext(str);updatedata(false);str 1 .format("%du,nvnu);m_nv.setwindowtext(strl);updatedata(false);str2.format(m%dh,nannu);m_nan.setwindowtext(str2);str3.format("%d&qu

27、ot;,agcnul);m_age 1 .setwindowtext(str3);str4.format(m%d,agenu2);m_age2.setwindowtext(str4); str5.format(m%d",agcnu3); m_age3.setwindowtext(str5); updatedata(false);按学号查询bool cchaxundlg:onchaxun()u pdatedata(true);cfile filel,file2,file3;if(!filcl.opcn(".p upil.txt",cfile:modcread|cfi

28、le:sharedcnynone) afxmessagebox(h没有打开文件”);return false;char strl 20j;getdlgitemtext(idc_cha 1, strl,sizeof(strl);int m;m=atoi(strl);cstring str;spupil u;int i=0,c=0;while(filel.read(&u,sizeof(u)=sizeof(u)if(m=u.nnumb)m_chaxun.subclassdlgitem(ldc_list i ,this); m_chaxun.insertcolumn(0,n 小学生的学号 ”,

29、0,180); m_chaxun.insertcolumn( 1,"姓名",0,80); m_chaxun.insertcolumn(2,"tt 别",0,80); m_chaxun.insertcolumn(3,h 年龄",0,80); m_chaxun.insertcolumn(4,*'班级",0,80); m_chaxun.insertcolumn(5,u 英语成绩",0,80); m_chaxun.insertcolumn(6,n 数学成绩",0,80); m_chaxun.insertcolumn

30、(7,"语文成绩",0,80);str.format("%d",u.nnumb); in_chaxun.lnsertltem(i,str); m_chaxun.setitemtext(i, 1 ,u.sname); m_chaxu n.setitemtext(i,2,u.ssex); str.format(h%d'u.nage); m_chaxu n.setitemtext(i,3,str);m_chaxun.setitemtext(i,4,u.nclass); str.format(n%d,u.nescorc); m_chaxun.setite

31、mtext(i,5,str); str.format(h%dh,u.nmscore); m_chaxun.setitemtext(i,6,str); str.format(,%d,u.ncscore); m_chaxun.sctitcmtcxt(i ,7,str); c=l;i+;if(c=o)afxmessagebox("查无此人”);retum true;filel.close(); file2.close();file3.close();/按姓名查询void cchaxundlg:onchaxun2()cfile filel,flle2,file3;if(!filel.open

32、(".pupil.txth,cfile:moderead|cfile:sharedenynone)afxmessagebox(h没有打开文件”);cstring s, str;gctdlgitcmtcxt(idc_cha2, s);spupil u;int i=0,c=0;while(filel.read(&u,sizeof(u)=sizeof(u)if(s=u.snamc)m_chaxun.subclassdlgitem(ldc_list i ,this); m_chaxun.insertcolumn(0,"小学生的学号 ”,0,180); m_chaxun.in

33、sertcolumn( 1,"姓名",0,80); m_chaxun.insertcolumn(2/'性另 l| ",0,80); m_chaxun.insertcolumn(3,n 年龄",0,80); m_chaxun.insertcolumn(4,"班级",0,80); m_chaxun.insertcolumn(5,n 英语成绩",0,80); m_chaxun.insertcolumn(6,n 数学成绩",0,80); m_chaxun.insertcolumn(7,"语文成绩 ”,0,

34、80);str. format("%d",u.nnumb);m_chaxun.lnsertltem(i,str);m_chaxun.sctitcmtcxt(i, 1 .u.snamc);m_chaxun.setitemtext(i,2,u.ssex); str.format("%d",u.nage);m_chaxun.setitemtext(i3,str); m_chaxun.setitemtext(i,4,u.nclass); str.format(n%dm,u.nescorc);m_chaxun.setitemtext(i,5,str); str.f

35、ormat(h%dh,u.nmscore);m_chaxun.setitemtext(i,6,str);str.format(lf%d,u.ncscore);m_chaxun.sctitcmtcxt(i j,str);c=l;i+;if(c=o)afxmessagebox("查无此人”);三、调试分析1. 实际完成的情况说明木程序实现了三种学生类型(小学生,屮学生,人学生)的信息的添加,按姓名查找, 按学号查找,统计学生总人数,女性总人数,男性总人数,12岁以下学生人数,12-17岁学 生人数,17岁以上学生人数。学生信息修改,删除,保存,打开。2. 程序的性能分析1 )本程序充分利

36、用了各种系统函数和wm消息,使本程序十分简洁;2) 根据不同的功能建立不同的类,类内乂对具体的功能分别用相应的函数来具体实现 使程序变得有序易读;3) 程序使用窗体结构清晰.4) 存储数据用的是类封装,存储,读取,适时关闭文件。浪费空间少。3 上机过程中出现的问题及其解决方案1. 在mfc中无法使用string来定义字符串,耍用cstring.2. 出现某个变量显示未定义.解决方法(1)检查是否已经定义该变量,如果未定义则添加该 变量定义.(2)在另一个文件中已经定义该变量,则添加该变量所在的头文件.3. 如何使用全局变量.1. 在一类的.cpp屮定义int mylnt;然后再在要用到的地方的

37、.cpp里extern int mylnt;这样就可以用了。2. 在 stdafx.cpp 中加入:int mylnt;然后在 stdafx.h 中加入:extern int mylnt4. 如何定义小学生类,屮学牛类人学牛类,使它们能被所有的dialog共亨.解决方法:定义在stdafx.h中凶为每个dialog自动添加#includcv stdafx.h .我采用的第二种.4 程序中可以改进的地方说明1. 在查询的时候,不能先查询学号后接着查询姓名,要点击返回后再进入才能查询姓名,否 则出错.在修改时可以将原数据显示在信息框中。2. 程序还不够简洁,不够稳定。3. 变量命名时没有全部使用匈

38、牙利命名法。可以全部使用匈牙利命名法。4. 界面还可以添加目录使界面更加肓观,美观。5.程序中可以扩充的功能及设计实现构想1 可以扩充登陆界面.使用数据库登陆界面设置用户,密码,用户类别:管理员,使用者. 管理员能进行查询,修改删除统计等所有功能使用者只能进行查询,和修改自己信息功 能.2.可以添加菜单。四、用户手册1. 点击运行进入主菜单。如图4.1所示羽主菜单图4.1主菜单2. 点击小学主进入小学生相关操作。点击打开/显示查看己有信息。如图4.2所示。图4.2已保存的信息3. 然后点击添加,进入如图4.3所示界而。输入要添加的倍息。如果添加相同学号则捉 示学号已存在,需重新填写。<1

39、荐生数务录入学号:1姓名:i1英语语文成绩:i1取消图4. 3学号存在时显示的图4. 如果要删除某行信息。点击打开并选择要删除的一行。如果没冇选择则会提示“请选 择一行再删”。如图4.4,图4.5所示。忝加11除修改打开/显示保存学号姓名性别年龄班级英再成绩数学1蒋男1678888图4. 4点击打开后显示的图图4. 5没有选择行给出提示5. 如果耍修改某行数据。选择要修改的一行。如果没有选择则会提示“请选择一行再修 改”。如图4.6所示。修改打开/显示保存学号姓名英语成绩i数学88 88图4.6没有选择行给出提示然示进入修改信息的填写。如图4.7所示图4.7修改信息录入界而填完信息后点击确定,

40、弹出如图4.8所示信息框。i參改学号:卩数学成绩:图4. 8给出是否确认提示点击确认。如果没冇填写完信息,也会给出相应提示,如图4.9所示惨改j学号:p数学成绩:确型图4. 9没冇填写完整修改信息给出捉示查询结果小学生的学号姓名性别1蒋男4-ih按学号查洵按姓名査洵6. 如果要杏询学生信息。点击查询后进入杳询界面。输入查询学号,点击按学号杳询 出现如图4.10所示界面。查询结果小学生的学号姓名性别1蒋男4 川按学号查询按姓名查询图4.10按学号查询后的查询界面输入杏询学生的姓名,点击按姓名查询,如图4.11所示。如果查询完毕,或不想杏询, 点击返冋。图4. 11按姓名查询后的查询界面7. 如果

41、要统计学生信息,点击统计进入统计界面。点击确定出现统计信息。如图4.12所示。图4. 12统计界面五、设计总结在这次课程设计中,我选择使用mfc.在查资料的过程中,筛选的能力,搜索资料的能 力大大提高。作为信息时代的大学生,我们要学会利用网上资源來丰富自己的知识。因为在我心屮系统都是得用界面实现才能更加直观。由于以前没有学过mfc在使用控件时自己摸索,衍度.遇到了各种各样由于不熟悉控件 而产生的铢因为要直观,美观的显示信息,大量使用了列表控件使用对彖指针,特別容易 出错,让我一度心塞,抓狂多个类的使用,多个文件的使用以前都不会用,现在已经掌握.这 是一大收获.在经过不停的出错找错过程中,我调试

42、程序找出错误的能力较以前冇了较大提 高.并且通过这次课设我多学会了很多新知识,也感到开心.六、参考文献1 李兰,任风华.c+面向对象程序设计.西交 西安电子科技大学出版社,20102 李兰,任风华.c+面向对象程序设计实验指导及习题解析.西安:西安电子科技人 学岀版社,20103 郑莉,董渊.c+程序设计基础教程.北京:清华大学出版社,20104 郑莉.c+程序设计基础教程学生用书.北京:清华人学岀版社,2() 1()七. 附录/ stdafx.h/定义类学生信息包括:学号、姓名、性别、年龄、班级等信息。小学牛除了包括学生所有信息外,还包括英语、数学和语文成绩。中学生除了包括小学生所有信息外,

43、还包括地理、历史成绩、家庭住址等信息。 人学生除了包括学生所有信息外,还包括专业、家庭地址、联系方式等信息 extern int n;extern int n2;extern int n3;extern int pup no;extern int midno;extern int colno;class student 学生基类public:int nnumb;char sname20;char sscx20;int nage;char nclass20j;);class spupikvirtual public student 小学生类public:int nescore;int nmsco

44、re;int ncscorc;;class smiddle:public spupil/中学生类public:int nescore;int nmscore;int ncscore;int ngscore;int nhscorc;char saddress30;;class scollege:virtual public student/大学生类public:char smajor20;char saddress30j;char sconnect30;;/ "stdafx.cpp"int n; 记录小学生列表选中位置的全局变量int n2; 记录中学生列表选中位置的全局变量

45、int n3; 记录人学生列表选屮位置的全局变量”collegedlg.cpp”void ccollegedlg:onadd3() /添加大学生信息cinputdlg3 dig;dlg.m_pinput3dlg=this;dlg.domodal();bool ccollegedlg:oninitdialog()cdialog:oninitdialog();mist3.subclassdlgitcm(idc_list3,this);/ 指针指向操作的列表 m_list3.insertcolumn(0,"学号 ”,0,80);/插入表头信息 m_l ist3.insertcolumn(

46、1,"姓名",0,80);mjist3.insertcolumn(2,m 性别 ”,0,80);m_l ist3.insertcolumn(3,m 年龄 ”,0,80);m_l ist3.inscrtcolumn(4,m 班级",0,80); m_list3.insertcolumn(5," &业",0,80);m_l ist3.insertcolumn(6,"联系方式",0,180);mjist3.insertcolumn(7,m 家庭地址n,0,180);return true;删除大学生代码void ccoll

47、egedlg: :ondele()clistctrl*pjist3=(clistctrl*)getdlgitem(idc_list3);position pos3=p_list3->getfirstselecteditemposition();/得到选11 的位置 int nsel3=p_list3->getnextselecteditem(pos3);if(nsel3<0) /没有选中给提示afxmessagebox(h 请选择一个再删“);return; p_list3->deleteitem(nsel3);/大学生弹出修改对话框代码void ccollegedlg

48、:onmod()clistctrl* p_list3=(clistctrl*)getdlgitem(idc_list3);position pos3=p_list3->getfirstselecteditemposition(); int nsel3=p_list3->getnextselecteditem(pos3);n3=nsel3;if(nse!3<0)afxmessagebox(h请选择一个再修改');return;showwindow(sw_show);/ 隐藏当前窗体cxiugai3 dlgxiu3;定义对象dlgxiu3.m_pxiugai3=this;

49、m象调用修改对话框对象指针 dlgxiu3.domodal();/显示修改对话框打开保存人学主信息的文件并显示在列表框屮void ccollegedlg:0nopen()cfilc filc3;if(!file3.open(h.college.txt",cfile:moderead|cfile:sharedenynone)afxmessagebox("打开文件失败!");return;m_list3.deleteallitems();scollege info;int i=();cstring str;while(file3.read(&info,size

50、of(info)=sizeof(info)str.format(n%dm,info.nnumb);m_l ist3.1nsertltem(i,str);mist3.sctitcmtcxt(i, 1 jnfo.snamc);m_list3.setitemtext(i,2jnfo.ssex); str.format(ll%d,info.nage);mist3.setitemtext(i,3,str);m_list3.setitemtext(i,4jnfo.nclass);m_l ist3.sctitcmtcxt(i,5,info.smajor);m_list3.setitemtext(i,64nf

51、o.saddress);m_l ist3.setitemtext(i,7jnfo.sconnect);+i;filc3.closc();保存人学生信息文件,保存后提示已保存。void ccollegedlg:onsave()cfilc file; if(!file.open(".college.txt",cfile:modecreate|cfile:modewrite) afxmessageboxc'保存文件失败! ”);return;int i=0,ncount=m_list3.getitemcount();scollege info;while(i<nco

52、unt)info.nnumb=atoi(m _list3.getitemtext(i,0);m_list3.getitemtext(ij,info.sname5sizeof(info.sname); m_list3.getitemtext(i,2jnfo.ssex,sizeof(info.ssex);in fo.nage=atoi(m_list3.getitemtext(i3);m_list3.getitemtext(i944nfo.nclass,sizeof(info.nclass);m_list3.gctitcmtcxt(i,5jnfo.smajor,sizcof(info.smajor)

53、; m_list3.getitemtext(i,6,info.saddress,sizeof(info.saddress); m_list3.getitemtext(i,7jnfo.sconnect,sizeof(info.sco nn ect); file.write(&info,sizeof(info);+i;afxmessageboxc 已保存文件“);ninputdlg.cpp,r添加小学生信息if(getfocus()! =getdlgitem( idok)cdialog:nextdlgctrl();return;cstring str,str 1 ,str2,str3,st

54、r4,str5,str6,str7;getdlgitemtext(idc_numb,str);clistctrl& list=m_pinfodlg->m_listl;/引用int i=0»ncount=list.getitemcount();whilc(i<nc ount)if(list.getitemtext(i,o)=str)afxmcssagcbox("学号“+str+” 已存在! j;return;+i;getdlgitemtext(idc_name,str 1);getdlgitemtext(idc_sex,str2);getdlgitemtext(idc_age,str3);getdlgitemtext(idc_class,str4);getdlgltemtext(ldc_escore,str5);getdlgitemtext(idc_mscore,str6);getdlgitemtext(idc_cscore,str7);判断有没

温馨提示

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

评论

0/150

提交评论