MFC学生信息管理系统课程设计报告Word格式文档下载.docx

上传人:b****2 文档编号:15105141 上传时间:2022-10-27 格式:DOCX 页数:16 大小:110.01KB
下载 相关 举报
MFC学生信息管理系统课程设计报告Word格式文档下载.docx_第1页
第1页 / 共16页
MFC学生信息管理系统课程设计报告Word格式文档下载.docx_第2页
第2页 / 共16页
MFC学生信息管理系统课程设计报告Word格式文档下载.docx_第3页
第3页 / 共16页
MFC学生信息管理系统课程设计报告Word格式文档下载.docx_第4页
第4页 / 共16页
MFC学生信息管理系统课程设计报告Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

MFC学生信息管理系统课程设计报告Word格式文档下载.docx

《MFC学生信息管理系统课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MFC学生信息管理系统课程设计报告Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

MFC学生信息管理系统课程设计报告Word格式文档下载.docx

(6)保存功能:

可将当前系统中各类记录存入文件中,存入方式任意。

(7)注销功能:

注销当前用户,返回登陆界面。

3、问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述;

(5)完成类中各个成员函数的定义;

(6)完成系统的应用模块;

(7)功能调试;

(8)完成系统总结报告。

学生选修课系统设计方案

系统登录界面:

主界面:

信息统计界面:

系统实现:

1.首先建立一个MFC类对话框,添加相关系统控件。

如图:

2.在解决方案中添加Student类,并实现这个类。

代码如下:

//Student.h

classStudent

{

public:

stringname;

stringstuNo;

stringsex;

stringmajor;

doublescore;

stringbanji;

Student(void);

Student(stringname,stringstuNo,stringsex,stringmajor,doublescore,stringbanji);

}

//Student.cpp

#include"

StdAfx.h"

Student.h"

Student:

:

Student(void)

Student(stringname,stringstuNo,stringsex,stringmajor,doublescore,stringbanji)

this->

name=name;

stuNo=stuNo;

sex=sex;

major=major;

score=score;

banji=banji;

3.将数据保存、读取。

在解决方案中创建FileManager类。

//FileManager.h

#pragmaonce

classFileManager

private:

charfilename[40];

FileManager(charfilename[]);

~FileManager(void);

voidadd(Studentstu);

intremove(stringname);

voidedit(Studentstu);

Studentsearch(stringname);

map<

string,Student>

loadAll();

voidsaveAll(map<

m);

};

//FileManager.cpp

FileManager.h"

FileManager:

FileManager(charfilename[])

strcpy_s(this->

filename,40,filename);

~FileManager(void)

{}

voidFileManager:

add(Students)

ofstreamfout(filename,ios:

out|ios:

app);

fout<

<

s.name<

"

"

s.stuNo<

s.sex<

s.major<

s.score<

s.banji<

endl;

fout.close();

intFileManager:

remove(stringname)

m=loadAll();

iteratorit=m.find(name);

if(it==m.end())

return0;

//表示学生不存在

else

{

m.erase(it);

saveAll(m);

return1;

//表示有一个学生被删除

}

edit(Studentstu)

m[stu.name]=stu;

saveAll(m);

StudentFileManager:

search(stringname)

Students;

iteratorp;

for(p=m.begin();

p!

=m.end();

p++)//据姓名查

if(name==p->

first)//根据姓名找到

{

s=p->

second;

//取出该学生对象

break;

}

returns;

//将文件中的每一名学生(一行)存入一个map

map<

FileManager:

loadAll()

m;

ifstreamfin(filename,ios:

in);

while(!

fin.eof())

Students;

fin>

>

s.name>

s.stuNo>

s.sex>

s.major>

s.score>

s.banji;

if(s.name.size()!

=0)

m[s.name]=s;

fin.close();

returnm;

saveAll(map<

m)

out);

p++)

s=p->

fout<

4.系统功能键有7个:

使这7个功能键分别起到作用的代码如下:

voidCdialogDlg:

OnBnClickedButtonsubmit()//添加按钮的功能

UpdateData(TRUE);

FileManagerf("

stuInfo.txt"

);

Studentstu=f.search(LPCSTR(name));

if(stu.name!

="

MessageBox("

该学生已存在!

"

提示"

return;

CStringmajor;

cbx_major.GetWindowTextA(major);

s.name=LPCSTR(name);

s.stuNo=LPCSTR(stuNo);

s.sex=(this->

int_sex==0?

男"

女"

s.score=score;

s.major=LPCSTR(major);

s.banji=(this->

int_banji==0?

一班"

:

二班"

f.add(s);

MessageBox("

添加成功!

OnBnClickedButtonsearch()//按姓名查找

if(stu.name=="

该学生不存在!

//将对象的值在界面显示出来

stuNo=stu.stuNo.c_str();

int_sex=(stu.sex=="

?

0:

1);

int_banji=(stu.banji=="

?

0:

1);

score=stu.score;

cbx_major.SelectString(0,stu.major.c_str());

UpdateData(FALSE);

//更新界面控件,使其显示关联变量的值

OnBnClickedButtonremove()//按姓名删除

if(f.remove(LPCSTR(name))==0)

删除成功!

OnBnClickedButtonedit()//编辑按钮的功能

不允许修改姓名!

i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1