一、填空题:(每小题2分,共20分)
1.工程名称为kkk的单文档应用程序,默认情况下其文档类名称为()
2.切分窗口有两种类型:()切分和()切分。
3.ActiveX控件有三个属性集:()、()和方法。
4.Windows操作系统支持两种形式的多任务:基于()的多任
务和基于()的多任务
5.Windows提供了四种同步对象:()创建或打开一个命名的或匿名的事件对
象)、(把指定的事件对象设置为有信号状态)、(把
指定的事件对象设置为无信号状态/)、(请求事件对象)事件对象、和临界区。
6.在Windows系统中,消息有数百种之多,可以大致分为以下三类:
()、()和命令消息
7.套接字的数据结构中包含的信息应该有:()、()和协议
8.ActiveX控件的二进制文件的扩展名为(CAB)。
9.若从扩展动态链接库中导出类,需在定义该类时添加关键字()
10.画刷共有三种基本类型:()、()和图案画刷。
二、选择题:(每小题2分,共40分)
1.下列()函数用于弹出模式对话框?
(A) OnInitDialog (B) DoModal (C) OnOK (D) OnCancel
2.( )函数用于设置注册数据库,注册文档模板等初始化工作。
(A)I nitInstance (B)OnDraw (C)OnOK (D)OnCancel
3.( )函数作用是初始化一个新文档。
(A)GetDocument (B) DeleteContent (C) OnNewDocument (D) Dump
4.自动化客户可以通过自动化服务器的()来控制自动化服务器。
(A)过程 (B)属性 (C)事件 (D)方法
5.所有的标准Windows消息都以WM_为前缀,标准Windows消息应该由
相应的窗口类和视图类进行处理,它又分为以下几类:()
(A)鼠标消息 (B)控件消息 (C)键盘消息 (D)命令消息(E)窗口消息
6. 下列哪些属于文档与视图之间相互作用的函数?()
(A)Serialize (B)OnUpdate (C)GetDocument (D)GetNextView
7.对于SDI应用程序,命令传递顺序为:()
(A)文档->视图->SDI主框架窗口->应用程序
(B)视图->文档 ->SDI主框架窗口->应用程序
(C)应用程序->文档->视图->SDI主框架窗口
(D)应用程序->视图->文档 ->SDI主框架窗口
8. 下列哪个函数将32位网络字节顺序转换到主机字节顺序?()
(A) Ntohs (B)Ntohl (C)Htons (D)Htonl
9. 在菜单状态更新机制中,更新处理函数以一个指向()对象的
指针作为参数,处理函数可以利用该指针对菜单项进行状态设置。
(A)CmainFrame (B)Cdocument (C)CView (D)CCmdUI
10.()类是绝大多数MFC类的根类。
(A) CMainFrame (B) CWinApp (C) CObject (D) CView
11.回车键所能响应的键盘消息是()
(A)WM_CHAR (B)WM_KEYDOWN (C)WM_KEYUP (D)WM_TIMER
12. 信号量对象允许有限数量的线程同时访问一个共享资源。每当有一个新
线程要访问共享资源时,首先调用函数()检查信号量计数
器是否大于0。
(A)SuspendThread (B)WaitForSingleObject (C)ResumeThread (D)sleep
13.动态链接库工程经编译后会生成扩展名为()的新文件
(A) .ocx (B) .dll (C) .lib (D) .c
14.()函数可以完成在下拉列表框中查找是否含有某字符串的功能。
(A)GetWindowText (B)SetCurSel (C)InsertString (D) FindStringExact
15.获取列表框中被选中字符串索引值的函数是()
(A) GetCurSel (B) GetWindowText (C) InsertString (D) AddString
16.若要设置编辑框属性为只读,应选择下列()属性。
(A) Read-Only (B) Auto Hscroll (C) Want return (D) Border
17.获取滚动条中滚动块位置的函数是()
(A)ReplaceSel(B) GetScrollPos(C) SetSel(D) SetScrollRange 18.能在视图区域输出字符串的函数是:()
(A) MessageBox (B)MessageBeep (C) TextOutW (D) SetCheck
19.能控制计算机扬声器发出响声的函数是:()
(A) MessageBox (B)MessageBeep (C) Sleep (D) AfxMessageBox
20.将记录集指针移到下一条记录的函数是:()
(A) MoveFirst (B) MovePrev (C) MoveNext (D) MoveLast
三、简答题:(每小题5分,共25分)
1.流式套接字与数据报套接字不同之处
流式套接字要分客户和服务器,而数据报不用分
流式套接字适合传输数据量大的,而数据报套接字适合传递数据量少的
流式套接字建立麻烦,数据报套接字建立简单
客户的流式套接字只能向一个方向传递,数据报套接字可以接受任何方向的来得数据,并可以向任何地址发送数据报流套接字比数据报套接字好,这样你可以不必管理底层细节,只需要相信TCP就可以保证传送的数据是依次,可靠的传送的,缺点是效率相对数据报套接字低。
使用数据报套接字,可以让你更快,但你得自已保证数据是否依次,准确的传送来的,如使用数据报套接字,你可能先收到后发的,后收到先发的,还有可能收漏,数据报套接字是用来发送数据报的,是面向无连接不可靠的传输(在今天这个网络里,其实已经相当可靠)流套接字是面向连接可靠的传输。服务器通过转发实现一个客户与另一个客户的数据传送。当向另一个客户转发时,他必须知道对方IP(或套接字等),所以要求转发的客户必须提供关于接受方的信息,否则服务器不知道向哪转发。
2.对话框可分为哪两大类?其各自特点是什么?
软件一般分为系统软件和应用软件两大类。系统软件是直接控制和协调计算机工作的软件,应用软件是完成某些具体工作和任务的软件。(1)常见的操作系统有:DOS、WINDOWS、UNIX、LINUX等,Visual Basic是一个计算机语言编译系统,它属于系统软件。(2)应用软件:应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。应用软件是人们为了各种实际工作的需要而研究开发出来的软件(一般可分为通用软件和专用软件两种。Word2000、Excel、Wps等是通用软件)
3.CDialog类的四个基本的函数是什么?
构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,
其实这些貌似简单的函数就象没有顶盖的下水道那样危险。
每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A 产生四个缺省的函数,例如:
A(void); // 缺省的无参数构造函数
A(const A &a);
// 缺省的拷贝构造函数~A(void); // 缺省的析构函数A & operate =(const A &a); // 缺省的赋值函数4.通用对话框类包括哪些类?各自功能?
5.全服务器运行的几种方式
四、编程题:(每小题15分,共15分)
1.辅线程计算10!,主线程则将辅线程计算结果乘以2
武汉轻工大学VC++程序设计大作业 院系电气与电子工程学院 班级 学号1204 姓名 日期2013.11.22
1题目 编写MFC下的单文档程序,通过鼠标点击选择两个点,作为矩形左上角、右下角,然后绘制矩形。(对应12题) 2思路 首先点击鼠标,选中左上角,然后拖动鼠标,在右下角拿起,这样矩形就就可以实现了。 3程序实现过程 首先建立MFC单文档程序
然后建立类向导 添加鼠标事件
添加CPoint成员变量m_OrigPoint 4关键代码 // RectangleView.cpp : implementation of the CRectangleView class // #include "stdafx.h" #include "Rectangle.h" #include "RectangleDoc.h" #include "RectangleView.h"
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CRectangleView IMPLEMENT_DYNCREATE(CRectangleView, CView) BEGIN_MESSAGE_MAP(CRectangleView, CView) //{{AFX_MSG_MAP(CRectangleView) ON_WM_LBUTTONDOWN() ON_WM_LBUTTONUP() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CRectangleView construction/destruction CRectangleView::CRectangleView() { // TODO: add construction code here } CRectangleView::~CRectangleView() { } BOOL CRectangleView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CView::PreCreateWindow(cs); }
VC程序设计课程设计 报告书 设计题目:简单绘图软件 院系:信息工程学院 班级:软件1101 组别:第二十二组 学号: 1110024130 姓名: 方锦 起止日期:2012年12月10日~2012年12月20日指导教师:张顺利
目录 绪论 -------------------------------------------------------------------------------- 3一概要设计 -------------------------------------------------------------------- 5 1.主要功能---------------------------------------------------------------------- 5 2.设计的概要设计功能模型框架图---------------------------------------- 5 二设计的详细设计------------------------------------------------------------- 5 1工具栏的编辑---------------------------------------------------------------- 6 2状态栏的编辑 --------------------------------------------------------------- 6 四编码和测试---------------------------------------------------------------- 9五设计总结 ------------------------------------------------------------------ 10 1.过程分析-------------------------------------------------------------------- 10 2.经验教训及分析 -----------------------------------------------------------11 3程序维护 --------------------------------------------------------------------11 六参考文献-------------------------------------------------------------------- 12
3.25设计一个类CRectangle,除了有相关的数据成员,该类要求包含下述成员1 函数:矩形从一个位置移动到另一个位置的Move()函数;改变矩形大小的Size 2 ()函数;返回矩形左上角的坐标坐标值的Where()函数;计算矩形面积的Area 3 ()函数。 4 代码如下:#include
} 20 ~CRectangle() 21 {} 22 void Move(double , double); 23 void Size(double ,double); 24 void Where(); 25 void Area(); 26 }; 27 void CRectangle::Move(double x, double y) 28 { 29 cout<<"矩形按向量("< 南京工业大学继续教育学院 《VC++程序设计》练习题 2010学年第一学期使用班级:H工升本/HY交升本/H自升本 一、选择题(每小题2分,共计40分) (1)下列关于栈的叙述正确的是 A)栈是非线性结构B)栈是一种树状结构 C)栈具有先进先出的特征D)栈具有后进先出的特征 (2)结构化程序设计所规定的三种基本控制结构是 A)输入、处理、输出B)树形、网形、环形 C)顺序、选择、循环D)主程序、子程序、函数 (3)结构化程序设计的一种基本方法是 A)筛选法B)递归法C)归纳法D)逐步求精法 (4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是: A)选择B)投影C)连接D)并 (5)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是() A)面向过程B)面向对象C)安全性D)复用性 (6)C++语言的跳转语句中,对于break和continue说法正确的是() A)break语句只应用与循环体中 B)continue语句只应用于循环体中 C)break是无条件跳转语句,continue不是 D)break和continue的跳转范围不够明确,容易产生问题 (7)for(int x=0,y=o;!x& &y<=5;y++)语句执行循环的次数是() A)0B)5C)6D)无次数 (8)考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是() A)test(5); B)test(5,8); C)test(6,"#") D)test(0,0."*"); (9)下面有关重载函数的说法中正确的是() A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同; C)重载函数必须有不同的形参列表D)重载函数名可以不同; (10)下列关于构造函数的描述中,错误的是() A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行 C)构造函数可以是内联函数;D)构造函数不可以重载 (11)下面描述中,表达错误的是() A)公有继承时基类中的public成员在派生类中仍是public的 B)公有继承是基类中的private成员在派生类中仍是private的 C)公有继承时基类中的protected成员在派生类中仍是protected的 D)私有继承时基类中的public成员在派生类中是private的 (14)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(B) A)fail B)eof C)bad D)good (15). ( D )能用作用户自定义标识符 A friend B-var C 3xyz D Float (16). 指针可以用来表示数组元素,int a[3][7],表示错误的是___A___ A.*(a+1)[5] B.*(*a+b) C.*(*(a+1)) D.*(a[0][0]+2) 烟台南山学院计算机系《可视化程序设计Visual C++》作业 2016-2017学年第二学期 班级:计科1401 姓名:毛宗磊 学号:201422031026 专业:计算机科学与技术 指导教师:王玉健 1、创建计算器 1、打开vc6.0编译环境,选择file新建选项,选择工程,选择MFC APPWIZARD(exe),设置工程名字和位置,选择建立对话框,完成基本设置。 2、添加静态文本、编辑框以及按钮,修改基本属性,如图所示 3、创建类向导,在members variables中添加代码,如图所示 4、点击求和按钮,函数的代码如下 5、点击归零按钮,设置代码如下 6、实验结果如下 2、设置背景颜色 1、在文件视图中找到Onpaint()函数,设置代码如下: CRect rect; GetClientRect(rect); CPaintDC dc(this); dc.FillSolidRect(rect,RGB(10,20,180)); CDialog::OnPaint(); 2、设置完成后效果如下: 3、设置变色按钮功能 1、添加一个按钮,设置其基本属性 2、在头文件里定义几个控制颜色的变量 int m_nred; int m_ngreen; int m_nblue; 3、在变色按钮函数内添加如下代码: CColorDialog dlg; if(dlg.DoModal()==IDOK) { COLORREF color=dlg.GetColor(); m_nred=GetRValue(color); m_ngreen=GetGValue(color); m_nblue=GetBValue(color); Invalidate(); } 4、在绘图函数中修改几个变量的值 dc.FillSolidRect(rect,RGB(m_nred,m_ngreen,m_nblue)); 5、效果图如下 4、设置随机色 1、添加一个随机色按钮,设置基本属性 一、填空题:(每小题2分,共20分) 1.工程名称为kkk的单文档应用程序,默认情况下其文档类名称为() 2.切分窗口有两种类型:()切分和()切分。 3.ActiveX控件有三个属性集:()、()和方法。 4.Windows操作系统支持两种形式的多任务:基于()的多任务和基于()的多任务 5.Windows提供了四种同步对象:()创建或打开一个命名的或匿名的事件对象)、(把指定的事件对象设置为有信号状态)、(把指定的事件对象设置为无信号状态/)、(请求事件对象)事件对象、和临界区。 6.在Windows系统中,消息有数百种之多,可以大致分为以下三类:()、()和命令消息 7.套接字的数据结构中包含的信息应该有:()、()和协议 8.ActiveX控件的二进制文件的扩展名为(CAB)。9.若从扩展动态链接库中导出类,需在定义该类时添加关键字()10.画刷共有三种基本类型:()、()和图案画刷。 二、选择题:(每小题2分,共40分) 1.下列()函数用于弹出模式对话框? (A)OnInitDialog(B)DoModal(C)OnOK(D)OnCancel 2.()函数用于设置注册数据库,注册文档模板等初始化工作。 (A)I nitInstance(B)OnDraw(C)OnOK(D)OnCancel 3.()函数作用是初始化一个新文档。 (A)GetDocument(B)DeleteContent(C)OnNewDocument(D)Dump 4.自动化客户可以通过自动化服务器的()来控制自动化服务器。 (A)过程(B)属性(C)事件(D)方法 5.所有的标准Windows消息都以WM_为前缀,标准Windows消息应该由相应的窗口类和视图类进行处理,它又分为以下几类:() (A)鼠标消息(B)控件消息(C)键盘消息(D)命令消息(E)窗口消息 6.下列哪些属于文档与视图之间相互作用的函数?() (A)Serialize(B)OnUpdate(C)GetDocument(D)GetNextView 7.对于SDI应用程序,命令传递顺序为:() (A)文档->视图->SDI主框架窗口->应用程序 (B)视图->文档->SDI主框架窗口->应用程序 (C)应用程序->文档->视图->SDI主框架窗口 (D)应用程序->视图->文档->SDI主框架窗口 得分评卷人 得分评卷人 目录 目录 ......................................................................................................................................... I 摘要 ....................................................................................................................................... II 1 设计目的 (1) 2 设计要求 (2) 3 设计内容 (3) 3.1 系统分析 (3) 3.2项目创建 (3) 3.3界面设计 (5) 3.4 代码实现 (8) 3.5 方案分析总结 (17) 总结与致谢 (20) 参考文献 (21) 附件 (22) 摘要 GPA英语全称是grade point average,意思就是平均分。GPA的精确度往往达到小数点后1到2位,如:3.0,3.45。GPA的标准计算方法是将大学成绩的加权平均数乘以4,再除以100,得出平均分。美国的GPA满分是4分,即A=4,B=3,C=2,D=1。一般来讲,百分制中的90分以上可视为4分,80分以上为3分,70分以上为2分,60分以上为1分,五分制中的5分为4分,4分为3分,3分为2分,2分为1分。 这次课程设计完成了一个简单的GPA计算器。本次设计系统具有良好的界面,必要的交互信息和较好的健壮性,使我们能快捷简单地进行操作,即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。 关键词:GPA;VC++6.0;MFC;控件; 西安科技大学 《VC++程序设计》 实验报告 题目画图 院、系(部)计算机科学与技术学院专业及班级 学号 姓名:szgkb 日期 2014.6.2 1 题目要求 建立一个通过“画图”程序,它是基于MFC的多文档应用程序,并且应用程序的风格样式具有Office视觉样式的Ribbon风格。在实现程序的过程中,要创建具有Office视觉样式的项目,再为应用程序的Ribbon功能区添加相应的绘图命令。在实现绘图中,能够很好地使用CDC类中的绘图函数,以实现直线、矩形、圆弧、椭圆等的绘制。了解MFC中设备环境类和坐标映射方式,并且了解常用的GDI对象。扩展“画图”程序实现图形的绘制、保存、滚动等功能。 2 功能需求 选择“绘图”选项卡后,将会展开一些绘图工具。选择某个绘图工具后,便可以在客户区中绘制相应的图形,还可以点击面板上的“画笔颜色”和“填充颜色”按钮,利用弹出的颜色对话框分别设置绘图的颜色及填充的颜色,而且单击“文本”按钮还可以在客户区中输入文本内容,在文本输入中,涉及到文本的颜色、插入符的位置、字体、退格、回车、文本字符等的正确处理。 3 总体设计 建立一个MFC的基于对话框的应用程序,取名为MyPaint1。接下来创建Ribbon 功能区,创建了“工具”、“颜色”两个面板。新建绘图类CDrawShape用以封装自由线、直线、矩形、椭圆、圆的绘制过程。在CMyPaint1View中响应绘图命令并通过添加鼠标左键按下以及移动的消息响应函数(OnLButtonDown、OnMouseMovehe、 OnLButtonup)来实现图形绘制。另外设置插入符、文本内容、文本颜色,来实现文本的输出。最后进行对绘图光标的修改。 3.1 系统模块 3.2 系统业务处理流程运行“画图”程序“绘图”菜单 工具面板 客户区绘图 颜色面板 保存图形 《Visual C++程序设计》课程大作业 题目名称:多功能模拟时钟 院系名称:计算机科学与信息工程学院 专业班级:10计科嵌入班 学号姓名:李博201003010028 2012 年 5 月 目录 一、选题意义 (1) 二、需求分析 (1) 三、总体设计 (1) 四、详细设计 (1) 五、系统测试 (1) 六、总结 (1) 七、参考文献 (1) 注意:大作用报告完成后要换成自己大作用的实际页码 一、选题的意义 此设计选择意义在于引导学生学会设计多功能模拟时钟显示窗口,进一步掌握Visual C++应用程序,系统的的学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C++,并在此环境下设计并实现多功能模拟时钟显示程序。 二、需求分析 1、指针式时钟,为便于演示,时钟速度应比实际时间快20倍,即1小时相当于3分钟。 2、时间、日期数字式时钟显示,秒表功能。 3、数字式时钟的时间显示与指针式时钟显示一致。 4、可以进行时间和日期设置 三、总体设计 MainFrame.cpp程序框架类,实现通过工具栏上的按钮调整时间和指针式时钟的运行和停止。具体功能通过OnSettime(),OnStart(),OnStop()等函数实现。 Clock13View.cpp视图类。由于本程序的主要界面均通过函数绘制,故该类为本程序的主要部分,包含函数较多。有: CClock13View(),OnLButtonDown(),SetClock(),GetPoint(),OnDraw(),OnSetTime(),OnT imer(),OnStart(),OnStop()等实现定时、绘制表盘、指针、刷新及数字时钟的输出等功能 其余文件和类均由向导自动生成 实验报告 课程名称 VC++程序设计 专业班级电子0942 姓名 学号 电气与信息学院 和谐勤奋求是创新 实验教学考核和成绩评定办法 1.课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。 2.单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。3.实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为、、;原则上根据上述三个方面进行综合评定。学生未取得1)和2)项成绩时,第3)项成绩无效。 4.实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。实验成绩在教师手册中有记载。 实验报告主要内容 一.实验目的 二.实验仪器及设备 三.实验原理 四.实验步骤 五.实验记录及原始记录 六.数据处理及结论 七.实验体会(可选项) 注:1. 为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。 2. 实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。 3. 验证性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事 实、概念或理论)的实验。 4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。 5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。 一、实验目的 1.进一步加深对类和对象的理解。 2.掌握类的构造函数和析构函数的概念、意义和使用方法。 3.掌握重载构造函数的含义和使用。 4.编写一个较为复杂的类和对象的应用程序。 二、实验内容 1.设计一个程序,定义一个矩形类,包括数据成员和函数成员。要求有构造函数、析构函数,还有一个成员函数area( )用来计算并显示矩形的面积,并编写main函数进行测试。程序:# include<> # include<> class Rect { public: Rect(int l, int w); ~Rect(); int Area(); private: int nLength; int nWidth; }; Rect::Rect(int l, int w) {cout<<"executing constructor..."< VC++ PROJECT ECJTU NAME STUDENT ID LIU * 2******* LI * 2******* DAI * 2******* WANG * 2******* ZUO * 2******* STUDENT CLASS: CLASS 1 MAJOR : 2******* Certificate This to certify that the following students: 1.Liu *,and Student ID No is 2******* 2.Li * and Student ID No is 2******* 3.Dai * and Student ID No is 2******* 4.Wang * and Student ID No is2******* 5.Zuo * and Student ID No is 2******* are done this project under the guidance and supervision of MR.RAVI and it is submitted to the East China JiaoTong University as partial fulfillment of Software and Machanic & Electronics Engineering graduation. Signature of the Guide Acknowledgement Firstly, we would like to express my deep and sincere gratitude to our parents, as they gave me life and brought me up. Besides, they do their best to make our life better, but they seldom care about themselves. We know they have so many hopes and wishes for my future, and I l’l do my best to respond you. Secondly, we warmly thank Professor Mr. Ravi for his valuable advice and patient help. He taught us the Visual C++ course and let me know the foundation of MFC. Moreover, thanks to the help of Mr. Ravi, my ability of spoken English has been improved. Finally, we would like express my thanks to other classmates who helped us with the process of doing the project. 聊天程序设计报告 ----网络编程设计报告 目录 【1】设计原理————————————————————————1【2】功能描述————————————————————————1【3】详细设计————————————————————————2【4】工作进度————————————————————————7【5】设计总结————————————————————————8【6】使用方法————————————————————————9【7】附录——————————————————————————9 一. 设计原理 计算机网络技术发展至今已经大大超越了人们当初的预想,无论是人们日常的工作还是学习,我们都越来越多的依靠到互联网。各种实时性的聊天娱乐软件也同时诞生,而且为我们的即时通讯带来了众多的方便,比如说大家所熟知的腾讯QQ、微软的MSN、中国移动的Fetion等,都是做的比较成功的实时聊天工具。随着网络的日益普及,各种聊天工具也层出不穷,但当我们学习了《网络编程》这门课程之后,我们便会觉得,其实要实现简单的网络通讯其实并不难。接下来的课程设计就是针对一个简单的网络聊天程序,利用MFC为开发工具,实现基本的通讯功能。 此程序主要分为两个模块:服务线程和聊天线程。服务线程用于提供一个网络端口,等待客户线程发出请求,登录到作为服务端的程序,然后进行网络通讯和消息的收发;客户端可通过服务器端的IP地址发送连接请求,然后建立连接,进行通讯。整个程序的主体使用了CSocket类的方法,实现了网络通讯聊天。 二.功能描述(需求分析) 1、一对一会话。此程序既可以作为服务器,也可以作为客户端。当发起聊 第二章Windows程序基础 在本学习情境中主要掌握: (1)Windows 程序结构 (2)Windows控件使用 2.1 Windows程序结构 2.1.1 WinMain函数 C语言中的main()函数一样,Windows程序是从WinMain()函数开始和结束的.WinMain()函数是在WINBASE.H中定义的,如图1所示。 图1 WinMain函数头文件 其原形如下: int WINAPI WinMain( HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd ) 其中第一个参数(HINSTANCE hInstance)是程序的实例句柄,这个实例句柄是程序的唯一标识. 第二个参数(HINSTANCE hPrevInstance)是用做检查是否有多个程序实例运行,但由于Windows9X和NT(包括更高版本)是32位操作系统,所以这个参数总是NULL.第三个参数(LPSTR lpCmdLine)是一个指向字符串的指针,用来保存运行程序时的命令行参数. 第四个参数(int nShowCmd)用来指定程序开始的时候如何显示. 2.1.2 窗口创建过程 第一步:定义并注册窗口类。 在Windows中要创建一个窗口首先要定义窗口类然后注册这个窗口类.定义窗口类要通过填充WNDCLASS结构体来完成,此结构体是在WINUSER.H中定义的,其原形如下:typedef struct tagWNDCLASSA { UNIT style; WNDPROC lpfnWndProc; 武汉科技大学机械自动化学院 2009.9 任务一开发一个计算器程序 1. 软件功能与目标 开发一个计算器软件,要求是基于对话框的应用程序,至少具有加、减、乘、除四个基本功能。在此基础上扩展平方、开方、三角函数等功能。 2. 具体要求 (1)使用Visual C++ 的MFC开发一个基于对话框的应用程序软件; (2)要有数据输入和结果显示窗口(或者数据的输入和显示共用一个窗口);(3)对话框字体采用“楷体”小四号字体; (4)窗口要有“最小化”按钮,同时屏蔽掉“最大化”按钮; (5)界面上设置一个按钮,点击后弹出一个消息窗口,显示软件开发者的姓名、班级、学号等信息,按钮位置自定; (6)要求界面美观、操作方便,风格自定。 3. 软件设计说明书撰写要求 软件设计说明书应按规定要求和格式撰写。 (1)软件目标:说明所开发软件的目标和具体功能; (2)软件设计:基于何种模式开发;基本操作流程;何种界面风格;软件功能模块等简要说明; (3)实现过程:根据照软件开发的过程按步骤分条叙述,界面上设置的控件应说明其控件ID号,主要属性,对应的变量名称与类型;自定义的函数、消息映射等应说明;实现过程中的主要代码应列出;(可参考上课所讲例题的流程) (4)软件界面:给出1~2幅软件最终界面截屏图片。 4. 软件提交存档 将最终软件源程序与可执行文件打包后统一提交至任课老师处。 任务二开发一个画图程序 1. 软件功能与目标 开发一个画图软件,要求是基于单文档或多文档的应用程序,能绘制点、直线、矩形、圆、椭圆等基本几何图形。在此基础上扩展多边形、扇形、贝赛尔曲线以及文字输出等功能。 2. 具体要求 (1)使用Visual C++ 的MFC开发一个基于单文档或多文档的应用程序软件;(2)(可选项)如果是多文档,要求具有切分窗口,其中一侧窗口为数据显示及输入窗口,另一侧窗口为图形显示窗口,且两个窗口的大小均能动态改变; (3)程序要能够绘制点、直线、矩形、圆、椭圆等基本几何图形; (4)既可以从菜单中点击子菜单项来绘制图形,也可以从对应的工具栏按钮中点击按钮进行绘制; (5)在状态栏中显示当前操作命令; (6)在程序“帮助”菜单的“About”对话框中用静态文本控件显示软件开发者的姓名、班级、学号等信息; (7)要求界面美观、操作方便,界面风格自定。 3. 软件设计说明书撰写要求 软件设计说明书应按规定要求和格式撰写。 (1)软件目标:说明所开发软件的目标和具体功能; (2)软件设计:基于何种模式开发;基本操作流程;何种界面风格;软件功能模块等简要说明; (3)实现过程:根据照软件开发的过程按步骤分条叙述,界面上设置的控件应说明其控件ID号,主要属性,对应的变量名称与类型;自定义的函数、消息映射等应说明;实现过程中的主要代码应列出;(可参考上课所讲例题的流程) (4)软件界面:给出1~2幅软件最终界面截屏图片。 4. 软件提交存档 将最终软件源程序与可执行文件打包后统一提交至任课老师处。 广州涉外2011-2012学年第二学期期末考试 VC 程序设计 试卷A 适用专业: 计算机应用技术 年级:2011级 考试形式:闭卷 考场要求:笔试 考试时间:120分钟 班级: 学号: 姓名: 评分: (试卷说明:请将答案填在答题纸内,否则不给分!) 一、选择题(本题共30小题,每题1分,共30分) 1、下列标识符中,合法的是(D )。 A 、4foots B 、main C 、val(7) D 、who_am_I 2、下列(B )是语句。 A 、 ;; B 、 a=17; C 、 x+y D 、 cout<<”\n ” 3、以下双目运算符中要求两个操作数均为整型的运算符是( D )。 A 、|| B 、&& C 、> D 、% 4、预处理命令在程序中都是以(B )为开头的。 A 、* B 、# C 、: D 、/ 5、下列for 循环的循环次数是(B )。 For(int i=0,x=0;!x&&i<=5;i++) A 、 5 B 、 6 C 、 1 D 、 无限 6、下述关于“for(e1; e2; e3)s1;”的描述中,不正确的是( B )。 A 、存在“for(; ;)s1;”的情况 B 、表达式e1和e3可为空,但e2不能为空 C 、表达式e2的值可增可减 D 、循环体s1可以为空,但分号(;)必须有 7、以下叙述中,不正确的是(C ) 。 A 、一个函数中可以有多个return 语句 B 、一个函数中可以没有return 语句 C 、一个return 语句可返回多个值 D 、一个return 语句可不返回值 8、已知:int a,b;下列switch 语句中,(D )是正确的。 装 订 线 《VC++程序设计》课程教学大纲 总学时:54 学分:3 理论学时:34 实验学时:20 面向专业:计算机科学与技术课程代码:2710015 先开课程:数据结构、C语言、面向对象程序设计课程性质:选修 执笔人:张磊审定人:陈龙猛、于仁师 第一部分:理论教学部分 一、说明 1、课程的性质、地位和任务 《VC++程序设计》最重要的任务是发展学生的智力,即编程、上机调试能力,具体到教学内容上则是重在使学生掌握理论教学中的重点和难点,对VC++语言的编程技巧能熟练掌握,提高自身的编程能力,加强素质教育。注重从事理论研究、实验工作的能力和严谨的科学作风的培养,提倡创新精神。 2、课程教学和教改基本要求 本课程主要讲解Visual C++6.0的语法结构、体系结构、各种组件,以及微软在Visual C++6.0中推出的各种新技术。通过本课程的学习,使学生熟悉采用面向对象编程语言进行Windows 可视化开发,掌握面向对象的编程思想,熟悉面向对象编程的消息响应。 本课程主要采用多媒体教室讲课,讲课与上机实验相结合,并辅以实际应用案例、常见问题分析等,巩固所学内容,基本要求如下: (1)掌握面向对象程序设计的基本概念 (2)熟悉Visual C++集成开发环境 (3)掌握Visual C++语言的基本内容、常用的算法 (4)理解WINDOWS的消息机制和WINDOWS应用程序的基本结构 (5)掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、对话框和控件等对象的程序设计方法 (6)可用Visual C++开发基本的WINDOWS应用程序 二、教学内容与课时分配 第一章 Visual c++概述(学时数:1) 本章将重点介绍Visual c++的总体功能和特点,具体讲述Visual c++6.0版的安装过程,并详细介绍。 教学内容: 1、Visual c++开发环境、Visual c++向导、Visual c++应用程序环境。 2、Visual c++安装过程。 3、Visual c++菜单栏、Visual c++工具栏、Visual c++工作区、Visual c++资源编辑器。本章重点难点:Visual c++6.0版开发环境的熟悉 建议教学方法:先讲解主要知识点,再通过多媒体演示达到教学效果。 思考题 1、Visual c++的安装有什么要求? 2、Visual c++的帮助文件如何安装? 3、简单描述Visual c++开发环境? 第二章使用Visual c++创建控制台程序(学时数:2)本章主要通过一个具体实例——“Hello World”程序,演示Visual c++开发环境下建立一个控制台程序的完整过程。 教学内容: 1、创建“Hello world”程序的基本步骤。 2、创建控制台程序的输入、输出。 3、熟悉控制台程序句柄与I/O。 4、解析控制台程序窗口。 本章重点难点:Visual c++6.0版开发环境的熟悉 建议教学方法:先讲解主要知识点,再通过实例讲解进行巩固 思考题 1、如何控制自定义控制台程序的输入、输出? 2、如何读取控制台程序中的文字与背景? 3、如何在控制台窗口的指定部位写入指定的字符信息? MFC程序设计报告 一题目 运用相应的绘图函数,绘制正弦曲线。 二设计步骤 1 工程建立 只需按照应用程序的要求(如结构,特征和功能)选择相应的选项,AppWizard就可生成一系列符合要求的起始文件。然后,再起始文件的基础上进行开发,就可以了。 具体步骤如下: (1)在文件菜单中选择新建命令,进入新建对话框,在工程类型中选择:MFC AppWizard(exe)即MFC应用程序向导。 (2)在列表中选择MFC AppWizard(exe)项,并以下列方式填写其他选项; 在工程名框中填入03304321sin ; 在位置框中确定目录为E:\作业\C++\正弦曲线\03304321sin 作为工程根目录; 在列表框平台中默认为Win32检查框; 然后单击确认,并打开对话框Step1; (3) 在你喜爱的应用程序类型中选择单文档按钮;然后连续单击下一步按钮三次,接受默 认值 (4)在AppWizard的对话框Step 4 中,选择多选按钮MAPI support ,其余接受默认值。(5)单击完成,接受AppWizard的对话框中Step4,Step5 的设置。 (6)在New Project Information 对话框中,单击确认。 AppWizard创建并生成所有的必须文件,并在工作区窗口的ClassView视图中显示该工程。 2 类中新增变量的作用 在主框架类CMainFrame中,增加控制条成员变量CStatusBar m_wndStatusBar; CToolBar m_wndToolBar;分别应用与状态条和工具条。 在新增参数设置对话框CModelessDlg中增加视图类指针变量CView *m_pView,整型变量m_clength , m_cno, m_x, m_y,m_ymax,分别用于在视图类中显示内容,设置正弦曲线的周期长度,周期数,起始点的横坐标,纵坐标,以及y轴上的高。 在视图类CMy03304321sinView中增加变量crColor和变量m_thickness,分别用于表示正弦曲线的颜色和宽度。 增加全局变量CModelessDlg *dlg,用于指向新加入的对话框资源,实现对话框的生成和毁灭。 3 需处理的消息的详细代码 在视图类的实现文件中 void CMy03304321sinView::OnDraw(CDC* pDC) //正弦函数绘制 { CMy03304321sinDoc* pDoc = GetDocument(); ASSERT_V ALID(pDoc); // TODO: add draw code for native data here CPen Pen; Pen.CreatePen(PS_SOLID,m_thickness,crColor); //画笔 pDC->SelectObject(&Pen); 《VC++面向对象程序设计》课程设计任务书 一、课程设计目的 《VC++面向对象程序设计》是计算机相关专业的一门重要专业基础课。其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。VC++程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。通过课程设计,可以使学生更进一步地理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题,从而达到锻炼学生理论与实践相结合的能力。 本课程设计以设计综合性实验为主,培养学生灵活利用所学综合知识,提高程序设计的能力;同时,也培养学生利用C++语言进行编程和调试程序的能力,使学生能够具有编写较复杂程序的能力。通过此次课程设计,主要达到以下目的: 巩固和加深对VC++面向对象程序设计基本知识的理解,提高综合运用VC++理论的能力。 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。 使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 二、VC++课程设计要求 基本要求 1、每组2人完成课程设计。或者2人共同完成10-20题中任意1题)。其中,设计报告中要能体现明确分工,并每人完成不同的功能模块,对于关键代码或者关键模块不允许出现重复内容。 2、独立思考,独立完成课程设计。课程设计中各任务的设计和调试要求独立完成,遇到问题可以相互讨论,但不可以拷贝。 3、做好上机准备。每次上机实验之前,要事先编制好准备调试的程序,认真想好调试步骤和相关环境的设置方法,准备好有关文档。 4.按照课程设计的具体要求建立功能模块。对于具体模块要求按照如下几个方面内容认真完成: 需求分析: 在该部分描述清楚模块的具体功能。如果存在多个模块,则需要描述清楚每个模块的具体功能及相互之间的关联关系。 概要设计: 在此部分对模块的算法设计进行说明,每个程序中使用VC++程序设计练习题
VC++可视化程序设计入门
VC 程序设计
VC++程序设计说明书---计算器
(画图vc程序设计)
VC++程序设计大作业格式
VC++程序设计课内实验报告
vc程序设计英文
基于MFC的聊天程序设计
vc++Windows程序设计
VC程序设计任务书及标准封面
VC程序设计期末试卷A
Vc++程序设计课程教学大纲
MFC程序设计报告
《VC 面向对象程序设计》课程设计任务书