1、可视化程序设计课程设计指导书一、 课程设计的目的与规定:1. 掌握C+语言中面向对象的概念,并能在程序中纯熟运用。2. 了解面向对象程序设计(C+)的基本概念以及运用面向对象技术进行程序设计的基本思想。 3. 能对的编写和调试C+程序。4. 了解在Visual C+环境下进行MFC程序设计的基本思想和方法。二、 设计内容2.1 项目一:项目描述与设计要点1. 一个有关银行业务运作的应用程序-银行储蓄系统,用菜单选择并实现: 动态创建帐户,帐户分储蓄帐户和结算帐户两类,帐户结点涉及帐号、储蓄金额等,帐号由程序自动给出。 存款业务。 取款业务。所有帐户取款时需有6位密码验证。结算帐户取款应收取手续
2、费:电汇(7%)、信汇(5%)、其它(2%)。 所有帐户的信息输出到数据库中。 2. 在Visual C+环境下,将上述银行储蓄系统设计成基于Windows的应用程序。3. 设计思绪:(1) 界面设计1) 界面1分2个区域,新建账户区和已有账户登陆区2) 当新建账户并电击拟定后弹出相关信息的界面3) 当已有账户登陆成功后到取款,存款操作的界面4) 每种操作后最右边都会显示操作后都弹出当前账户的相关信息界面(2) 代码设计1) 设计3个存储账户的类,SavAccount存储储蓄账户的信息,涉及类型,帐号,密码,存款余额。CheAccount存储结算帐户信息,涉及类型,帐号,密码,存款余额。Now
3、Account存储当前操作账户的帐户类型和帐号。2) 定义类的操作函数。3) 设计数据库,使用ODBC连接。4) 完毕1中的各项功能。4. 实验环节(涉及操作方法、数据解决)(1) 为账户建立类(2) 创建基本的操作函数(3) 为此系统设计数据库内容。(4) 为界面中的控件定义变量(5) 开帐户代码(6) 开帐户后弹出的确认界面代码(7) 帐户操作界面的存款操作代码(8) 帐户操作界面的取款操作代码2.2 项目二:项目描述与设计要点1. 一个简易的图书管理系统。综合运用开发管理信息系统的相关知识,从中小型图书馆的实际需求出发,进行设计和具体的实现。重要的功能有:管理员的权限验证;用户信息的管理
4、,涉及操作人员的增删和密码的修改;图书的接环流通管理;读者信息的维护管理;图书信息的维护管理,涉及图书信息的增删和检索;查看历史记录。2. 在Visual C+环境下,将上述图书管理系统设计成基于Windows的应用程序。3. 设计思绪:(1) 界面设计5) 主体框架,基于单文档的应用程序框架。6) 菜单(2) 代码设计1) 权限验证模块和用户信息管理模块的开发。2) 书库管理模块和读者管理模块的开发。3) 借阅图书和还书模块的开发。4) 历史查看模块。(3) 数据库的建立和连接使用MFC ODBC连接数据库。4. 实验环节(涉及操作方法、数据解决)(1) 设计数据库连接数据库。(2) 为程序
5、声明全局变量。(3) 为界面中的控件定义变量(4) 权限验证模块和用户信息管理模块的代码。(5) 书库管理模块和读者管理模块的代码。(6) 借阅图书和还书模块的代码。(7) 历史查看模块的代码。2.3 项目三:项目描述与设计要点1. 一个简易的学生成绩管理系统。综合运用开发管理信息系统的相关知识,进行设计和具体的实现。重要的功能有:学生成绩的录入、修改、删除;学生成绩的查询;学生成绩的排序。2. 在Visual C+环境下,将上述学生成绩管理系统设计成基于Windows的应用程序。3. 设计思绪:(1) 界面设计1) 主体框架,基于单文档的应用程序框架或者是基于对话框的应用程序。2) 菜单(2
6、) 代码设计1) 学生成绩录入和修改模块的开发。2) 查询模块的开发。3) 排序模块的实现。(3) 数据库的建立和连接使用MFC ODBC连接数据库。实验环节(涉及操作方法、数据解决)(1) 设计数据库连接数据库。(2) 为程序声明全局变量。(3) 为界面中的控件定义变量(4) 权限验证模块的代码。(5) 成绩录入和修改模块的代码。(6) 成绩查询模块的代码。(7) 成绩排序模块的代码。2.4 项目四:项目描述与设计要点1. 一个通讯录管理系统。综合运用开发管理信息系统的相关知识,进行设计和具体的实现。重要的功能有:管理员权限管理;通讯录的录入、修改、删除;通讯录的查询;日记博客的撰写;邮件的
7、发送。2. 在Visual C+环境下,将上述通讯录管理系统设计成基于Windows的应用程序。3. 设计思绪:(1) 界面设计1) 主体框架,基于单文档的应用程序框架。2) 菜单(2) 代码设计1) 管理员权限管理模块的开发。2) 通讯录的录入、修改、删除3) 查询模块的开发。4) 日记博客的撰写。5) 邮件的发送(3) 数据库的建立和连接使用MFC ODBC连接数据库。4. 实验环节(涉及操作方法、数据解决)(1) 设计数据库连接数据库。(2) 为程序声明全局变量。(3) 为界面中的控件定义变量(4) 管理员权限模块的代码。(5) 通讯录的录入、修改、删除模块的代码。(6) 查询模块的代码
8、。(7) 日记博客撰写代码。(8) 邮件的发送代码。2.5 项目五. 项目描述与设计要点1. 制作一个网页连连看的外挂程序,游戏网页为。2. VC+环境下,使用SPY查找改网页的窗口句柄,样例代码:void C控制示例Dlg:OnBnClickedButton1() /鼠标单击某个按钮控件后HWND pnote=:FindWindow(NULL,_T(果蔬连连看,果蔬连连看小游戏,4399小游戏 - Google Chrome); /注意,这里的名字是样例使用SPY抓取到的if(pnote=NULL)MessageBox(_T(请打开游戏);else:SendMessage(pnote,WM_
9、LBUTTONDOWN,0,MAKELONG(500,500); /向改网页发送鼠标单击的事件,500,500为单击的坐标3. 游戏中每个连连看图标的坐标,可以使用按键精灵或者其他方式获得,请思考如何拟定每个图标的位置。4. 设计使用数据结构中的的遍历方式,采用穷举法进行外挂操作,完毕连连看外挂。2.6 项目六. 项目描述与设计要点1. 制作一个15 X 15的五子棋游戏。2. 绘制五子棋的游戏界面,可参考3. 编写鼠标单击绘制棋子的相关程序。4. 不规定编写电脑AI,只规定可以完毕两个玩家的游戏即可。5. 规定设计数据结构,使游戏能判断输赢。2.6 项目七. 项目描述与设计要点1. 设计一个壁球游戏,游戏下方绘制一块板和一个球,当球碰撞到板时随机上弹。2. 设计球碰到游戏边框时的反弹,若球触底则游戏结束。3. 需要设计球的运动轨迹以及触碰到板的逻辑判断。4. 考虑设立游戏难度控制,可考虑通过变换难度设立球移动的速度。三、 设计验收指标以上七题任选一题完毕。1. 可运营的符合题目规定的系统。2. 一对一现场答辩。3. 符合规定的设计报告。4. 包含所有开发文档、程数据的光盘。