VC++课程设计 班级信息输入与显示_vc课程设计文档要求
VC++课程设计 班级信息输入与显示由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“vc课程设计文档要求”。
VC++程序设计
1.设计方案及功能描述:
本设计为一个基于对话框的应用项目(项目名称为DW)。在主对话框中设置组合框、列表框和“添加”按钮。当按下“添加”按钮后,调用一个班级信息输入的对话框(包括班级号、班级名称、学生人数、女生人数)。班级信息输入的结果在主对话框中显示,其中班级号显示在组合框,选择组合框的班级号后,班级的其他信息显示在列表框。
2.实现步骤:
2.1创建并设计对话框
新建一个名为DW的工程,在这个创建一个基本对话框的应用项目。单击对话框编辑器工具栏上的切换网格按钮,显示对话框网格。
(1)选择“File”→“New”菜单命令,在弹出的“New”对话框中,“Project”标签页面中显示了一系列的应用程序项目类型;选择MFC AppWizard(exe)的项目类型,将项目工作文件夹定位在“C:USERSADMINISTRATORDESKTOPVC++DW”,并在“Project name”编辑框中输入项目名DW,如图1所示。
图1 新建工程
(2)单击 “确定”按钮,出现如图2所示的对话框。并在类型选择栏选择选择“基本对话框”
图2 选择所创建的应用程序的类型
(3)单击“下一步”按钮,出现如图3所示的对话框在“对话框的标题是”一栏输入“班级信息输入”。
图3 输入对话框的标题
(4)完成上述步骤后,可以单击完成按钮,或者一直点击下一步直至完成基本设置。并出现下图所示的提示界面。
图4 完成基本设置后的提示信息
(5)单击确定按钮,进入如下界面:
图5 主对话框
2.2控件选择及设置
(1)打开对话框网格,参见图6的控件布局,用编辑器为主对话框添加如下图所示的一些控件。
图6主对话框的控件布局
(2)将鼠标到左边框的IDD_DW_DIALOG处并单击右键,在下拉菜单中选择插入dialog选项系统弹出如下图所示的子对话框。
图7 子对话框
(3)打开对话框网格,参见图8的控件布局,用编辑器为对话框添加如下图所示的一些控件。
图8子对话框的控件布局
(4)更改各控件的ID和名称,并添加相关属性。如下列各图所示:
(5)打开ClaWizard的Member Variable页面,或者直接按Ctrl+W组合键,在Cla name中选择XMDialog,选中所需的控件号,双击或者单击Add Variaable按钮。依次为下列控件添加成员变量,如图8所。
图8 为主对话框的控件添加成员变量
同样的,为子对话框的控件添加成员变量如图9所示。
图9 为子对话框的控件添加成员变量
(6)用MFC ClaWizard为DWDialog类添加WM_INITDIALOG消息映射,并添加下列初始化代码:
BOOL CDWDlg::OnInitDialog(){ CDialog::OnInitDialog();
// Add “About...” menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0)== IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX
CMenu* pSysMenu = GetSystemMenu(FALSE);if(pSysMenu!= NULL){
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
} } } // Set the icon for this dialog.The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE);
// Set big icon SetIcon(m_hIcon, FALSE);// Set small icon
// TODO: Add extra initialization here
return TRUE;// return TRUE unle you set the focus to a control
图10 为DWDialog类添加WM_INITDIALOG消息映射
(7)在文件DWDlg.cpp的前面添加DWDialog的包含语句: #include “DWDlg.h” #include “add.h”
(8)用MFC ClaWizard 为CDWDlg 增加IDC_ Combo1 控件的CBN_EDITCHANGE消息映射,并添加下列代码:
void CDWDlg::OnSelchangeCombo1(){ int index=m_clanb.GetCurSel();CString infor=*(CString*)m_clanb.GetItemDataPtr(index);m_clameage.ResetContent();m_clameage.AddString(infor);
}(9)用MFC ClaWizard 为CDWDlg 增加IDOK控件的BN_CLICKED消息映射,并添加下列代码:
void CDWDlg::OnOK(){ add a;if(a.DoModal()==IDOK){
CString id=“”;
CString infor=“”;FILE* f=fopen(“recordinfor.txt”,“r”);FILE* fp=fopen(“recordid.txt”,“r”);while(!feof(f)){infor+=fgetc(f);} while(!feof(fp)){id+=fgetc(fp);} fclose(f);fclose(fp);int index;index=m_clanb.AddString(id);m_clanb.SetItemDataPtr(index,new CString(infor));}
UpdateData(true);
//CDialog::OnOK();}(10)用MFC ClaWizard 为add 增加IDOK 控件的BN_CLICKED消息映射,并添加下列代码:
void add::OnOK(){ UpdateData(true);CString infor=“”;CString id=“”;id=m_clanumber;infor+=“班级名称:”;infor+=m_claname;infor+=“rn”;infor+=“女生人数:”;infor+=m_gnumber;infor+=“rn”;infor+=“班级人数:”;infor+=m_snumber;
CDialog::OnOK();FILE* f=fopen(“recordinfor.txt”,“w+”);for(int i=0;i
} fputc(infor[i],f);fclose(f);FILE* fp=fopen(“recordid.txt”,“w+”);for(i=0;i
调试成功后的结果如下图所示,单击添加按钮,就会弹出子对话框,在子对话框中输入班级信息。
图11编译运行结果
图12 输入班级信息
在输入完一组数据后单击确定,会弹出小窗口提示添加成功。
图13 提示框口
所有班级信息添加完之后,单击主对话框班级号栏的组合框会显示所有以输入信息班级的班级号,选择02号班级,主对话框的列表框就会显示该班级的全部信息。
图14 列表框显示选中班级的信息
4.心得体会
VC++课程设计的尘嚣渐渐远去,怀着对这次设计的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,通过这次课程设计积累的信心与斗志,心里感慨万千。现在回顾两个星期以前,当一个星期前的现在,当看到老师布置给我们的这些题目时,我们都蒙了,这么难的题目我们怎么可能会编出来啊,可是埋怨是没有用的,我们只能尽我们自己最大的努力把程序给写出来,虽然知道这一路肯定是异常的艰苦,但豁出去了。上网查资料是我们迈开的第一步,看是否有类似的题目,可是泡了几个小时的网吧还是没有,我们失望而回.但是恍然一想,找学姐,学长们传授点经验啊,但是最终还是空手而归.我们真的有点绝望了,但是由于我们此刻有着年轻人的激情,冲动,火力,想了一想,求天求地求人不如求自己,所以我们决定大家在一起共同努力,分配任务去图书馆查找资料.肯定没有现成的,我们只能查相关的函数,经过两三天的努力,我们把框架弄出来了,可是还有计算和闪烁这两大难题摆在我们面前,真的是个难题,自从把框架弄好了以后就没有进展了,眼看几天都快过了,我们那个急啊,可是急也没有用。我们相信我们几个人总归可以搞定,这是我们可以坚持到现在的信念.后来我们不停地总结过去走过的弯路,回想上课时老师怎么教我们构建一个程序,要想构建一个程序,必须要有一个完整的想法,算法,大概的脑海路径,才能完整地创建一个程序.经过一个星期的学习,使我对VC语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对VC语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对VC语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。
与其临渊羡鱼,不如退而结网。这次课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个设计开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次课程设计,不过这只是我学习路上的驿站,我会继续学习它,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!
我很庆幸我圆满完成了这次设计,让我确实打开了眼界。