还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C++基于MFC类可视化程序设计报告方案概述”一班:“二班s.banji=this-int_banji==0f.adds;添力口成功!提示MessageBox7〃按姓名查找void CdialogDlg::OnBnClickedButtonsearch{UpdateDataTRUE;FileManager fnstulnfo.txtn;Student stu=f.searchLPCSTRname;ifstu.name==nn该学生不存在!提示MessageBox”J return;〃将对象的值在界面显示出来this-stuNo=stu.stuNo.c_str;this-int_sex=stu.sex==H男?0:1;一班this-int_banji=stu.banji==0:1;this-score=stu.score;this-cbx_major.SelectString0,stu.major.c_str;更新界面控件,使其显示关联变量的值UpdateDataFALSE;////按姓名删除void CdialogDlg::OnBnClickedButtonremove|UpdateDataTRUE;FileManager fnstulnfo.txtn;iff.removeLPCSTRname==0该学生不存在!提示MessageBox”J else删除成功!提示MessageBox7〃编辑按钮的功能void CdialogDlg::OnBnClickedButtonedit UpdateDataTRUE;FileManager fnstulnfo.txtn;Student stu=f.searchLPCSTRname;ifstu.name=,,n MessageBox不允许修改姓名!提示return;CString major;this-cbx_major.GetWindowTextAmajor;Student s;s.name=LPCSTRname;s.stuNo=LPCSTRstuNo;男”:“女;s.sex=this-int_sex==Os.score=score;s.major=LPCSTRmajor;一班““二班”;s.banji=this-int_banji==0”修改成功!提示f.edits;MessageBox//保存按钮的功能void CdialogDlg::OnBnClickedButton1已成功保存所有已编辑信息到”提示MessageBox stulnfo.txt!void CdialogDlg::OnBnClickedButtonsave〃显示全部void CdialogDlg::OnBnClickedButton2U pdateDataTRUE;FileManager fi^stuInfo.txt^;mapstring,Studentp;mapstring,Student::iterator i;p=fi.loadAllQ;CString list=二for ip.begin;i!=p.end;i++学号n;list+=二list+i-second.stuNo.c_str;list+=n姓名”;list+=i-second.name.c_str;二性另list+I”;list+=i-second.sex.c_str;班级:list+=list+=i-second.banji.c_str;list+廿专业”;二list+i-second.major.c_str;list+”;list+=\n”;MessageBoxQist,所有学生;〃注销按钮的功能void CdialogDlg::OnBnClickedButton4CDialog::OnOK;Login dlgl;dlgl.DoModalQ;U pdateDataFALSE;创建登陆界面,在解决方案中,以为基类创建一个类,代码如下:Dlg.h Login//Login,h#pragma once对话框//Loginclass Login:public CDialogDECLARE_DYNAMICLoginpublic://标准构造函数;LoginCWnd*pParent=NULL;virtual〜Login//对话框数据enum{IDD=IDD_LOGIN};protected:支持virtual voidDoDataExchangeCDataExchange*pDX;//DDX/DDVDECLARE_MESSAGE_MAPpublic:afx_msg voidOnBnClickedOk;afx_msg voidOnBnClickedCancel;CString zhanghao;CString mima;;//Login.cpp实现文件//Login.cpp:////using namespacestd;#include nstdafx.hn#include dialog.h#include Login.h”对话框//LoginIMPLEMENT_DYNAMICLogin,CDialogLogin::LoginCWnd*pParent/*=NULL*/:CDialogLogin::IDD,pParent,zhanghaoJTO,mima_T””Login:Login void Login::DoDataExchangeCDataExchange*pDX正CDialog::DoDat xchangepDX;DDX_TextpDX,IDC_EDIT_usemame,zhanghao;DDX_TextpDX,IDC_EDIT_password,mima;BEGIN_MESSAGE_MAPLogin,CDialogON_BN_CLICKEDIDOK,Login::OnBnClickedOkON_BN_CLICKEDIDCANCEL,Login::OnBnClickedCancel END_MESSAGE_MAP消息处理程序//Loginvoid Login::OnBnClickedOkUpdateDataTRUE;char name
[20],pass
[20];ifstream finHlogin.txtn;while!fin.eoffin»name;fin»pass;ifzhanghao=namemima==passbreak;fin.close;iffin.eof{MessageBox登陆失败!”;return;elseOnOK;voidLogin::OnBnClickedCancelthis-ShowWindowSW_HIDE;工程总结.心得1我们小组仔细研读了课程题目的要求,结合指导老师给我们的模板写下了此工程的设计思路经过我们的不断调试和修改,以及上网杳阅资料最后作出这个工程,尽管过程中我们遇到了各种各样的麻烦和bug,但是也收获很多感受到自己编程的难度以及程序的魅力虽然,编写过程中我们犯了很多简单的错误但是通过查找课本知识,回归基础,问题都得到了顺利的解决过程中我们感受到了课本基础知识还需要我们熟练的掌握课程设计要做到认真细心,吸取经验教训,把知识学透学精
2.小结在这次编程中我们主要遇到的问题是VS版本的兼容性,老师教给我们的代码无法直接代入比较新的版本例如strcpy函数在vs2013中使用会有warning,而导致程序无法正常编译通过百度我们了解到strcpy_s和strcpy函数的功能几乎是一样的strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串在程序运行时,这将导致不可预料的行为用strcpy_s就可以避免这些不可预料的行为以及更多诸如此类的问题我们遇到了很多问题,也学到了很多知识.工程分工3这次课程设计两人一组工程文件部分由主要由赵文琪完成,倪涛进行调试及修复bug文档部分由赵文琪和倪涛共同分析完成word过程中合作交流,收获很多感受到语言的魅力以及可视化程序实现的C++MFC乐趣通过此次课程设计,我们两人查阅各种资料,解决遇到的各种问题,都受益匪浅.问题描述1学生信息包括学号、姓名、性别、年龄、班级、专业等信息功能要求
2.()添加功能程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选1择所要添加的类别添加记录时,要求学号和编号要唯一如果添加了重复记录,则提示数据添加重复并取消添加()查询功能可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目2进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息
(3)显示功能可当前系统中所有学生的信息和课程设计题目信息显示,每条记录占据一行()编辑功能可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性4()删除功能主要实现对已添加的学生和课程设计题目记录进行删除如果当前系统中没5有相应的记录,则提示“记录为空!”并返回操作
(6)保存功能可将当前系统中各类记录存入文件中,存入方式任意()注销功能注销当前用户,返回登陆界面
7.问题的解决方案3根据系统功能要求,可以将问题解决分为以下步骤()应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;1
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告学生选修课系统设计方案系统登录界面:账号:定码:取消主界面:信息统计界面:学生信息管理询专业I物联网—3添加姓名:按姓名查询所有学生字号:按姓名删除学号12姓名z1SS0男班级:一班专业计算机修改性另学号:3130411姓名李四性SU女班级:一班专业信告保存学号:3134563姓名王五性§U女班级:』专业物联网学号:3130704姓名:张三性SU男班级:二H专业计算机显示全部确定L系统实现首先建立一个MFC类对话框,添加相关系统控件如图:在解决方案中添加Student类,并实现这个类代码如下://Student.hclass Studentpublic:string name;string stuNo;string sex;string major;double score;string banji;public:Studentvoid;Studentstring name,string stuNo,string sex,string major,double score,string banji;//Student.cppinclude nStdAfx.hH#include Student.hStudent::StudentvoidStudent::Studentstring name,string stuNo,string sex,string major,double score,string banjithis-name=name;this-stuNo=stuNo;this-sex=sex;this-maj or=maj or;this-score=score;this-banji=banji;将数据保存、读取在解决方案中创建类代码如下FileManager//FileManager.h#pragma once#include Student.hclass FileManagerprivate:char filename
[40];public:FileManagerchar filenamel];-FileManagervoid;void addStudent stu;int removestringname;void editStudent stu;Student searchstringname;mapstring,Student loadAll;void saveAllmapstring,Student m;;//FileManager.cpp includenStdAfx.hn#include nFileManager.hnFileManager::FileManagerchar filename1]strcpy_sthis-filename,40,filename;FileManager::-FileManagervoid}void FileManager::addStudent sofstream foutfilename,ios::out|ios::app;fout«s.name«n^«s.stuNo«^n«s.sex«n n«s.major«n n«s.banji«endl;n«s.score«nfout.close;int FileManager::removestring namemapstring,Student m=loadAll;mapstring,Student::iterator it=m.findname;ifit==m.end表示学生不存在return0;//else m.eraseit;saveAllm;表示有一个学生被删除return1;//}void FileManager::editStudent stumapstring,Student m=loadAll;m[stu.name]=stu;saveAllm;Student FileManager::searchstring nameStudent s;mapstring,Student m=loadAll;mapstring,Student::iterator p;〃据姓名查〃根据姓名找到forp=m.begin;p!=m.end;p++ifname==p-first〃取出该学生对象s=p-second;break;return s;〃将文件中的每一名学生一行存入一个叩mmapstring,Student FileManager::loadAll mapstring,Student m;mapstring,Student:iterator p;ifstream finfilename,ios::in;while!fin.eofStudent s;fin»s.name»s.stuNo»s.sex»s.major»s.score»s.banji;ifs.name.size!=0m[s.name]=s;fin.close;return m;void FileManager::saveAllmapstring,Student m{ofstreamfoutfilename,ios::out;Students;mapstring,Student:iterator p;forp=m.bcgin;p!=m.end;p++〃取出该学生对象s=p-second;fout«s.name«M n«s.stuNo«n n«s.sex«n n«s.major«n H«s.score«n n«s.banji«endl;fout.close;系统功能键有7个:本设计含源文件等全套资料联系Q1225467431获取代做课设毕设使这个功能键分别起到作用的代码如下:7〃添加按钮的功能void CdialogDlg::OnBnClickedButtonsubmit UpdateDataTRUE;FileManager fnstulnfo.txtn;Studentstu=f.searchLPCSTRname;ifstu.name!=nn该学生已存在!提示MessageBox”J return;CString major;this-cbx_major.GetWindowTextAmajor;Students;s.name=LPCSTRname;s.stuNo=LPCSTRstuNo;〉男”:“女;s.sex=this-int_sex==Os.score=score;s.major=LPCSTRmajor;。
个人认证
优秀文档
获得点赞 0