vc++程序设计课程考核。
大作业。题目:学生成绩输入。
专业:电子信息工程。
班级:电信1302
学号:0121314670306
姓名:2015学年——2016学年第一学期。
目录。1作业介绍3
2方案设计4
3运行结果10
4心得与体会13
1.作业介绍。
学生成绩输入(内容包括文字和数字)
1)建立一个单文档的应用项目(项目名称为学生姓名拼音首字母缩写)。
2)在该应用项目下,建立一个对话框进行学生成绩输入,并更改对话框的标题。输入内容可以是姓名、学号、4门课的成绩等。
3)在对话框中要求采用编辑框、旋转按钮、滚动条等进行选择,其中二门课成绩采用旋转按钮,一门课成绩采用编辑框,一门课成绩采用滚动条进行输入。(4)在应用项目主框架的菜单上设置一个菜单调用该对话框。(5)在工具栏设置一个工具按钮,点击该工具按钮也可调用该对话框。
(6)将对话框的输入结果显示出来。
2.方案设计:
a.创建一个默认的单文档应用程序文档czpdzy(岑志鹏的作业)
b.添加一个新的对话框资源,将id号改为idd_input,标题为“学生成绩输入”。将“确定”和“取消”按钮移至对话框下方。
c.向对话框加如下表所示控件,调整控件的位置,如图所示。
图1.1成绩输入对话框。
成绩1后旋转按钮控件的id号为idc_spin1,属性为自动结伴,右对齐,设置结伴整数。
成绩2后旋转按钮控件的id号为idc_spin2,属性同上。
成绩4后的滚动条空间的id号是idc_scrollbar1
d.选择“编排”即“taborder”命令,或按快捷键ctrl+d此时每个控件的左上方都有一个数字,表明了当前tab键次序,单击对话框中的控件,重新设置控件的tab键次序,以保证旋转按钮控件的tab键次序在相对应的编辑框之后,如下图所示。
图1.2改变控件的tab键次序。
e.双击对话框模板空白处,为该对话框模板创建一个对话框类cjdlg。f.
在classwizard的membervariables页面中,确定classname中是否已选择了cinputdlg选中所需的控件id号,双击鼠标或单击addvariables按钮,添加成员变量,如下图所示。
图1.3各控件的类别,类型,变量名。
其中变量类型为cstring的范围为20,float和int范围为都为0.0~100.0.
g.在mfcclasswizard的messagemaps页面中,为cjdlg添加wm_initdialog消息映射,并添加如下**。bool cjdlg::
oninitdialog()
h.用mfcclasswizard为cjdlg增加idc_spin_s1控件的udn_deltapos消息映射,并添加如下**。
void cjdlg::ondeltaposspin1(nmhdr* pnmhdr, lresult* presult)}
if(m_score4<0) m_score4=0;
if(m_score4>100) m_score4=100;m_
updatedata(false);/将变量内容显示在控件中//updatewindow();
invalidate();是对话框无效,强迫系统重绘对话框。
cdialog::onhscroll(nsbcode, npos, pscrollbar);}
j.用mfcclasswizard为cjdlg增加idc_static1控件的bn_clicked消息映射,并添加如下**。
void cjdlg::onstatic1()else
同理其他的五个也一样这样设置,只需改一下id就行了。
k.用mfcclasswizard为cjdlg增加idok控件的bn_clicked消息映射,并添加如下**。void cjdlg::onok()
l.打开czpdzy单文档应用程序的菜单资源,添加顶层菜单项“工具(&t)”,在其下加一个菜单项“学生成绩输入(&i)”,id为id_在该单文档应用程序的工具栏资源即自己设计,我这里设计的是一个加号。
n.用mfcclasswizard为cczpdzyview类添加菜单项id_ dialog1和为cmainframe添加工具栏id_file_new的command消息映射,并分别添加如下**。
void cczpdzyview::ondialog1(){
/ todo: add your command handler code here
cjdlg dlg;//定义一个对话框对象dlg,(-头文件)调用函数,建立一个模态对话框。
if(idok==
//获取对话框数据cstring str;
%s,%s,%4.1f,%4.1f,%4.1f,%d",添加一个工具菜单,形状。
o.在文件添加头文件#include""p.调试程序,确认无误。
3.运行结果。
图1.4点击测试按钮和工具栏的+号按钮均可实现成绩的输入。
图1.5程序运行主窗口。
图1.6学生姓名为空时提示。
图1.7学生学号为空时提示。
1.8运行结果。
1.9运行结果。
4.心得与体会。
通过这次vc++大作业,真的是让我学习到很多,从原来的一窍不通已经长进到可以独立的设计一些不是太复杂的东西。
我们这次所选的课题是学生成绩的输入,里面要求我们用不同的控件去实现成绩输入的功能,其中对我来说最难的是用滚动条进行成绩的输入,因为滚动条虽然运行程序简单,但是最容易在最后一步出现问题,即将程序调试无误之后,进行成绩输入的时候,滚动条控件输入的成绩总是不出现或者乱码,这个问题对初学者来说很难找出究竟哪出了问题,当然我刚开始的时候也是这样的,就是输入滚动条成绩之后出现了乱码,就我自己来说我觉得是只是单独使用滚动条的话很容易程序没有错误,但结果总是有点偏差。因此我最后采用了一个编辑框和滚动条联合使用的方法,即让他们两个通过程序**进行关联,从而实现了既能通过编辑框输入,也能通过滚动条输入,最后完成了题目规定的所有要求。当然,做程序的让我感觉最崩溃的就是改错,这个过**的是需要耐心,但是当把程序运行成功的时候,也是最有成就感的时候,总之来说通过这次作业能力增长了不少,真的是一个非常有价值的作业。
VC大作业格式
visual c 程序设计课程大作业。题目名称。系名称。专业班级。学生姓名。2009 年月。目录。一 成员分工 1 二 需求分析 1 三 总体设计 1 四 详细设计 1 五 系统测试 1 六 总结 1 七 参考文献 1 注意 大作用报告完成后要换成自己大作用的实际页码。一 成员分工。每个成员在本课题...
整理 VC 作业
江苏科技大学。课程实践报告。设计题目 计算机程序设计实践 vc 设计时间 2012.9.24 至 2012.9.30 学院电子信息学院 专业班级 电气工程及其自动化 学生姓名 金成学号 1140304316 指导老师 张晓如。2012 年 9 月。实践任务 1 16 定义一个方阵类cmatrix,并...
VC 作业三
作业题1 一 选择填空。1 在下列关键字中,用于说明类中公有成员的是 a public b private c protected d friend 2 在下列的各类函数中,不是类的成员函数。a 构造函数 b 析构函数 c 友元函数 d 拷贝初始化构造函数。3 作用域运算符的功能是 a 标识作用域的...