基于MFC工程的绩点计算器实验报告.docx

上传人:b****7 文档编号:9464148 上传时间:2023-02-04 格式:DOCX 页数:38 大小:2.07MB
下载 相关 举报
基于MFC工程的绩点计算器实验报告.docx_第1页
第1页 / 共38页
基于MFC工程的绩点计算器实验报告.docx_第2页
第2页 / 共38页
基于MFC工程的绩点计算器实验报告.docx_第3页
第3页 / 共38页
基于MFC工程的绩点计算器实验报告.docx_第4页
第4页 / 共38页
基于MFC工程的绩点计算器实验报告.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

基于MFC工程的绩点计算器实验报告.docx

《基于MFC工程的绩点计算器实验报告.docx》由会员分享,可在线阅读,更多相关《基于MFC工程的绩点计算器实验报告.docx(38页珍藏版)》请在冰豆网上搜索。

基于MFC工程的绩点计算器实验报告.docx

基于MFC工程的绩点计算器实验报告

 

实验报告

(适用计算机程序设计类)

实验名称:

平均学分绩点计算器

1.实验目的:

掌握用VC++6.0创建MFC方法

能够使用MFC工程实现可视化设计

 

2.实验内容:

(1)学习掌握创建MFC工程的方法。

(2)学习向MFC工程中添加、使用控件的方法。

(3)学习使用MFC工程实现可视化设计。

3.实验方案(程序设计说明)

(1)添加控件

(2)设定个控件属性,添加类向导

(3)根据要求填写函数

 

4.实验步骤或程序(经调试后正确的源程序)

(填写主要步骤与程序代码等。

见附件A)

 

5.程序运行结果

见附件A

6.出现的问题及解决方法

见附件A

附件A实验报告

(适用计算机程序设计类)

实验步骤或程序:

BOOLCMy100402128Dlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

//改变静态文字字体

m_editFont.CreatePointFont(180,"宋体");

m_edit_riqi.SetFont(&m_editFont);

m_edit_shijian.SetFont(&m_editFont);

GetDlgItem(IDC_STATIC_kecheng1)->SetFont(&font);

GetDlgItem(IDC_STATIC_kecheng2)->SetFont(&font);

GetDlgItem(IDC_STATIC_chengji1)->SetFont(&font);

GetDlgItem(IDC_STATIC_chengji2)->SetFont(&font);

GetDlgItem(IDC_STATIC_xuefen1)->SetFont(&font);

GetDlgItem(IDC_STATIC_xuefen2)->SetFont(&font);

GetDlgItem(IDC_STATIC_chongxiu1)->SetFont(&font);

GetDlgItem(IDC_STATIC_chongxiu2)->SetFont(&font);

GetDlgItem(IDC_STATIC_gaoshu)->SetFont(&font);

GetDlgItem(IDC_STATIC_wuli)->SetFont(&font);

GetDlgItem(IDC_STATIC_dianlu)->SetFont(&font);

GetDlgItem(IDC_STATIC_gailu)->SetFont(&font);

GetDlgItem(IDC_STATIC_jisuanji)->SetFont(&font);

GetDlgItem(IDC_STATIC_cyuyan)->SetFont(&font);

GetDlgItem(IDC_STATIC_modian)->SetFont(&font);

GetDlgItem(IDC_STATIC_shudian)->SetFont(&font);

GetDlgItem(IDC_STATIC_yingyu)->SetFont(&font);

GetDlgItem(IDC_STATIC_tiyu)->SetFont(&font);

GetDlgItem(IDC_STATIC_sixiu)->SetFont(&font);

GetDlgItem(IDC_STATIC_changlun)->SetFont(&font);

GetDlgItem(IDC_STATIC_fubian)->SetFont(&font);

GetDlgItem(IDC_STATIC_maogai)->SetFont(&font);

GetDlgItem(IDC_STATIC_xiandai)->SetFont(&font);

GetDlgItem(IDC_STATIC_lishi)->SetFont(&font);

GetDlgItem(IDC_STATIC_gaoshuxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_wulixuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_dianluxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_gailuxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_jisuanjixuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_cyuyanxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_modianxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_shudianxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_yingyuxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_tiyuxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_sixiuxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_changlunxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_fubianxuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_maogaixuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_xiandaixuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_lishixuefen)->SetFont(&font);

GetDlgItem(IDC_STATIC_diyixuenian)->SetFont(&font);

GetDlgItem(IDC_STATIC_dierxuenian)->SetFont(&font);

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

}

voidCMy100402128Dlg:

:

OnPaint()

{

if(IsIconic())

{

CPaintDCdc(this);//devicecontextforpainting

SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);

//Centericoninclientrectangle

intcxIcon=GetSystemMetrics(SM_CXICON);

intcyIcon=GetSystemMetrics(SM_CYICON);

CRectrect;

GetClientRect(&rect);

intx=(rect.Width()-cxIcon+1)/2;

inty=(rect.Height()-cyIcon+1)/2;

//Drawtheicon

dc.DrawIcon(x,y,m_hIcon);

}

else

{

//CDialog:

:

OnPaint();把这个注释掉,不调用基类的OnPaint()

CPaintDCdc(this);

CDCmemdc;

memdc.CreateCompatibleDC(&dc);//创建兼容DC

CBitmapbkg;

bkg.LoadBitmap(IDB_BITMAP4);//载入位图

BITMAPbkginfo;

bkg.GetBitmap(&bkginfo);//获取位图信息

memdc.SelectObject(&bkg);

RECTrect;

GetWindowRect(&rect);//获取对话框信息

dc.StretchBlt(0,0,rect.right-rect.left,rect.bottom-rect.top,&memdc,0,0,bkginfo.bmWidth,

bkginfo.bmHeight,SRCCOPY);

}

}

HCURSORCMy100402128Dlg:

:

OnQueryDragIcon()

{

return(HCURSOR)m_hIcon;

}

voidCMy100402128Dlg:

:

OnCHECKriqi()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData(TRUE);

if(m_chk_riqi==TRUE)

{CTimetNow;

tNow=CTime:

:

GetCurrentTime();

CStringsNow=tNow.Format("%y.%m.%d");

m_edit_riqi.SetSel(0,-1);

m_edit_riqi.ReplaceSel(sNow);

}

else

{m_edit_riqi.SetSel(0,-1);

m_edit_riqi.ReplaceSel("");

}

}

voidCMy100402128Dlg:

:

OnCHECKshijian()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData(TRUE);

if(m_chk_shijian==TRUE)

{CTimetNow;

tNow=CTime:

:

GetCurrentTime();

CStringsNow=tNow.Format("%I:

%M:

%S");

m_edit_shijian.SetSel(0,-1);

m_edit_shijian.ReplaceSel(sNow);

}

else

{m_edit_shijian.SetSel(0,-1);

m_edit_shijian.ReplaceSel("");

}

UpdateData(FALSE);

}

voidCMy100402128Dlg:

:

OnBUTTONjisuan1()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData(TRUE);

//将成绩转换为绩点

floatsixiu_jidian,lishi_jidian,tiyu_jidian,gaoshu_jidian,

yingyu_jidian,xiandai_jidian,dianlu_jidian,jisuanji_jidian;

if(m_edit_gaoshu<60)

gaoshu_jidian=0;

else

gaoshu_jidian=(m_edit_gaoshu-60)*0.2+2;

if(m_edit_yingyu<60)

yingyu_jidian=0;

else

yingyu_jidian=(m_edit_yingyu-60)*0.2+2;

if(m_edit_xiandai<60)

xiandai_jidian=0;

else

xiandai_jidian=(m_edit_xiandai-60)*0.2+2;

if(m_edit_dianlu<60)

dianlu_jidian=0;

else

dianlu_jidian=(m_edit_dianlu-60)*0.2+2;

if(m_edit_jisuanji<60)

jisuanji_jidian=0;

else

jisuanji_jidian=(m_edit_jisuanji-60)*0.2+2;

switch(m_combo_sixiu.GetCurSel())

{

case0:

sixiu_jidian=8;break;

case1:

sixiu_jidian=6;break;

case2:

sixiu_jidian=4;break;

case3:

sixiu_jidian=2;break;

case4:

sixiu_jidian=0;break;

}

switch(m_combo_lishi.GetCurSel())

{

case0:

lishi_jidian=8;break;

case1:

lishi_jidian=6;break;

case2:

lishi_jidian=4;break;

case3:

lishi_jidian=2;break;

case4:

lishi_jidian=0;break;

}

switch(m_combo_tiyu.GetCurSel())

{

case0:

tiyu_jidian=8;break;

case1:

tiyu_jidian=6;break;

case2:

tiyu_jidian=4;break;

case3:

tiyu_jidian=2;break;

case4:

tiyu_jidian=0;break;

}

//是否重修

if(m_chk_gaoshu==TRUE)

gaoshu_jidian=gaoshu_jidian-1;

if(m_chk_xiandai==TRUE)

xiandai_jidian=xiandai_jidian-1;

if(m_chk_yingyu==TRUE)

yingyu_jidian=yingyu_jidian-1;

if(m_chk_dianlu==TRUE)

dianlu_jidian=dianlu_jidian-1;

if(m_chk_jisuanji==TRUE)

jisuanji_jidian=jisuanji_jidian-1;

if(m_chk_sixiu==TRUE)

sixiu_jidian=sixiu_jidian-1;

if(m_chk_lishi==TRUE)

lishi_jidian=lishi_jidian-1;

if(m_chk_tiyu==TRUE)

tiyu_jidian=tiyu_jidian-1;

//绩点是否小于零

if(gaoshu_jidian<0)

gaoshu_jidian=0;

if(xiandai_jidian<0)

xiandai_jidian=0;

if(yingyu_jidian<0)

yingyu_jidian=0;

if(dianlu_jidian<0)

dianlu_jidian=0;

if(jisuanji_jidian<0)

jisuanji_jidian=0;

if(sixiu_jidian<0)

sixiu_jidian=0;

if(lishi_jidian<0)

lishi_jidian=0;

if(tiyu_jidian<0)

tiyu_jidian=0;

//计算绩点1

floatjidian1=(gaoshu_jidian*6

+yingyu_jidian*4

+xiandai_jidian*2

+dianlu_jidian*4.5

+sixiu_jidian*2

+lishi_jidian*2

+tiyu_jidian*1

+jisuanji_jidian*3)/24.5;

//成绩是否>100

if(m_edit_gaoshu>100)

{

m_edit_jidian1.Format("高数成绩输入有误,请重新输入!

");

m_edit_jieguo1.Format("");

}

elseif(m_edit_xiandai>100)

{

m_edit_jidian1.Format("线代成绩输入有误,请重新输入!

");

m_edit_jieguo1.Format("");

}

elseif(m_edit_yingyu>100)

{

m_edit_jidian1.Format("英语成绩输入有误,请重新输入!

");

m_edit_jieguo1.Format("");

}

elseif(m_edit_dianlu>100)

{

m_edit_jidian1.Format("电路成绩输入有误,请重新输入!

");

m_edit_jieguo1.Format("");

}

elseif(m_edit_jisuanji>100)

{

m_edit_jidian1.Format("计算机成绩输入有误,请重新输入!

");

m_edit_jieguo1.Format("");

}

else

{

m_edit_jidian1.Format("第一学年平均学分绩点:

%4.2f",jidian1);

if(jidian1>7)

m_edit_jieguo1.Format("恭喜你,继续努力,争取被保研!

");

elseif(jidian1<4)

m_edit_jieguo1.Format("真遗憾,你需要努力了,否则可能拿不到学位证了!

");

else

m_edit_jieguo1.Format("你表现不错,希望能更进一步!

");

}

UpdateData(FALSE);

}

voidCMy100402128Dlg:

:

OnBUTTONjisuan2()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData(TRUE);

//将成绩转换为绩点

floatsixiu_jidian,lishi_jidian,tiyu_jidian,gaoshu_jidian,

yingyu_jidian,xiandai_jidian,dianlu_jidian,jisuanji_jidian;

if(m_edit_gaoshu<60)

gaoshu_jidian=0;

else

gaoshu_jidian=(m_edit_gaoshu-60)*0.2+2;

if(m_edit_yingyu<60)

yingyu_jidian=0;

else

yingyu_jidian=(m_edit_yingyu-60)*0.2+2;

if(m_edit_xiandai<60)

xiandai_jidian=0;

else

xiandai_jidian=(m_edit_xiandai-60)*0.2+2;

if(m_edit_dianlu<60)

dianlu_jidian=0;

else

dianlu_jidian=(m_edit_dianlu-60)*0.2+2;

if(m_edit_jisuanji<60)

jisuanji_jidian=0;

else

jisuanji_jidian=(m_edit_jisuanji-60)*0.2+2;

switch(m_combo_sixiu.GetCurSel())

{

case0:

sixiu_jidian=8;break;

case1:

sixiu_jidian=6;break;

case2:

sixiu_jidian=4;break;

case3:

sixiu_jidian=2;break;

case4:

sixiu_jidian=0;break;

}

switch(m_combo_lishi.GetCurSel())

{

case0:

lishi_jidian=8;break;

case1:

lishi_jidian=6;break;

case2:

lishi_jidian=4;break;

case3:

lishi_jidian=2;break;

case4:

lishi_jidian=0;break;

}

switch(m_combo_tiyu.GetCurSel())

{

case0:

tiyu_jidian=8;break;

case1:

tiyu_jidian=6;break;

case2:

tiyu_jidian=4;break;

case3:

tiyu_jidian=2;break;

case4:

tiyu_jidian=0;break;

}

//是否重修

if(m_chk_gaoshu==TRUE)

gaoshu_jidian=gaoshu_jidian-1;

if(m_chk_xiandai==TRUE)

xiandai_jidian=xiandai_jidian-1;

if(m_chk_yingyu==TRUE)

yingyu_jidian=yingyu_jidian-1;

if(m_chk_dianlu==TRUE)

dianlu_jidian=dianlu_jidian-1;

if(m_chk_jisuanji==TRUE)

jisuanji_jidian=jisuanji_jidian-1;

if(m_chk_sixiu==TRUE)

sixiu_jidian=sixiu_jidian-1;

if(m_chk_lishi==TRUE)

lishi_jidian=lishi_jidian-1;

if(m_chk_tiyu==TRUE)

tiyu_jidian=tiyu_jidian-1;

//绩点是否小于零

if(gaoshu_jidian<0)

gaoshu_jidian=0;

if(xiandai_jidian<0)

xiandai_jidian=0;

if(yingyu_jidian<0)

yingyu_jidian=0;

if(dianlu_jidian<0)

dianlu_jidian=0;

if(jisuanji_jidian<0)

jisuanji_jidian=0;

if(sixiu_jidian<0)

sixiu_jidian=0;

if(lishi_jidian<0)

lishi_jidian=0;

if(tiyu_jidian<0)

tiyu_jidian=0;

//计算绩点1

floatjidian1=(gaoshu_jidian*6+yingyu_jidian

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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