2023年7月17日发(作者:)
学生信息管理系统
学 院: 电子信息与控制
班 级: 2012320106
专 业: 自动化(卓越工程师)
姓 名:
指导教师:
2014年6月26日
一.实验目的:
了解MFC编程的基本知识,掌握应用MFC类库编写Windows应用程序的基本模式,了解MFC编写程序的结构框架。
二.实验内容:
应用所学的C++知识,利用MFC编程,编写学生信息管理系统,实现简单的学生信息管理作用,例如学生增加、修改,能够实现管理员与学生双重身份管理。加深对C++程序的理解和应用。
三.实验原理
基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现相关功能。生成简单的应用软件。
四. 程序功能
(1)能够实现对管理员和学生登录时的识别,并对其权限做出相应限制
(2)管理员登录后能够查看所有成员的信息,包括个人档案,学生成绩。 (3)学生登录后能够实现对自己信息的查看和修改,不能查看到其他人的信息。
五. 软件演示:
编译、运行:
1.登陆界面:
2.系统管理:
(1)登陆界面
(图中为学生登录)
(2)登陆成功
3.管理界面:
(1)档案输入:(学生权限) (2)学生无修改成绩权限,仅能进行成绩查询
(3).使用管理员权限登陆: (4)以管理员身份进行学生成绩录入:
成绩写入成功
(5)学生查询
(6) 学生基本信息修改:(学生权限)
(7)学生成绩修改:(管理员权限)
六.实验总结
在这次的实验完成过程中,我们增长了很多知识,一点一点从刚开始的弹出对话框,到菜单界面的显示,再到程序功能的实现,通过上网查资料等手段学习并了解了怎样通过类向导编写一系列的程序,初步了解了MFC的原理,最终完成了学生成绩管理这一项目,实现查询、修改、输入等一系列基本功能,加深了对C++编程的理解,初步了解了利用MFC的基本原理,锻炼了编写实用程序的能力
七.主要程序代码
(1)登录界面程序
void LogDlg::OnOk()
{
// TODO: Add your control notification handler code here //LogDlg logdlg;
CString log_name;
UpdateData(TRUE);
log_name=m_logname;
log_("%",log_name);
CString C_lang="n";
CString Eng="n";
CStdioFile file(log_name,CFile::modeRead);
ring(C_lang);
ring(Eng);
();
UpdateData(true);
if((m_logname==C_lang)&&(m_logkey==Eng))
{t_logname=m_logname;
t_logkey=m_logkey;
CDialog::OnOK();
MessageBox("enter sucess!");
}
else
{MessageBox("enter fail!check your password!");
}
UpdateData(false); (2)成绩输入界面程序
void InputGrade::OnOK()
{
// TODO: Add extra validation here
int f=0;
if(t_logname=="管理员")
{charge chge;
l();
f=1;
CString log_name;
UpdateData(TRUE );
log_name=t_logname;
Info.C_language= m_iclanguage;
h=m_ienglish;
s=m_iphysics;
ility=m_iprobability;
log_("%",log_name);
CStdioFile file(log_name,CFile::modeReadWrite);
DWORD dwActual = End();
tring(Info.C_language+'n');
tring(h+'n');
tring(s+'n'); tring(ility+'n');
tring(_length);
();
MessageBox("成绩写入成功!");
}
else
MessageBox("你没有此权限!");
CDialog::OnOK();
if(f==1)
{
t_logname="管理员";
}
}
(3)读取界面程序
void changGrade::OnOK()
{
int F=0;
if(t_logname=="管理员")
{
charge chge;
l(); F=1;
}
CString log_name;
//UpdateData(TRUE);
log_name=t_logname;
log_("%",log_name);
CString C_lang="n";
CString Eng="n";
CString Phy="n";
CString Pro="n";
CStdioFile file(log_name,CFile::modeRead);
do{
ring(C_lang);
}while((C_lang!="男")&&(C_lang!="女"));
ring(C_lang);
ring(Eng);
ring(Phy);
ring(Pro);
();
UpdateData(true);
m_cclang=C_lang;
m_cenglish=Eng; m_cphysics=Phy;
m_cproba=Pro;
UpdateData(false);
if(F==1)
{
t_logname="管理员";
}
}
(4)修改界面程序
void changGrade::OnCancel()
{
CString lname;
CString lkey;
CString name;
CString depart;
CString clss;
CString sex;
int length;
// TODO: Add extra cleanup here
if(t_logname=="管理员")
{ charge chge;
l();
CString log_name;
CString unuse;
CFileStatus fileStatus;
UpdateData(TRUE);
log_name=t_logname;
Info.C_language=m_cclang;
h=m_cenglish;
s=m_cphysics;
ility=m_cproba;
//MessageBox(t_logname);
log_("%",log_name);
/*CStdioFile file(log_name,CFile::modeRead);
ring(lname);
//MessageBox(C_lang);
t_logname=lname;
ring(lkey);
t_logkey=lkey;
ring(name);
t_name=name;
ring(clss); t_class=clss;
ring(depart);
t_department=depart;
//MessageBox(Phy);
ring(sex);
t_sex=sex;
();*/
CStdioFile cfile(log_name,CFile::modeReadWrite);
length=atol(_length);
(35,CFile::begin);
tring(Info.C_language+'n');
tring(h+'n');
tring(s+'n');
tring(ility+'n');
();
MessageBox("change success!");
t_logname="管理员";
CDialog::OnOK();
}
else
{
MessageBox("你没有此权限"); CDialog::OnOK();
}
}
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689606961a270074.html
评论列表(0条)