资源描述
程序设计课程设计参考题及要求一、本课程设计的性质、目的、任务本课程设计的性质是一门是计算机专业的实践教学平台课程,它是程序设计基础、面向对象程序 设计及其相关实验课程的后继课程。通过本课程的教学实践,使学生达到加深对计算机高级语言程序设 计特点、结构化程序设计方法和面向对象程序设计的理解、提高学生对可视化编程的动手能力之目的。本课程将充分考虑程序设计课程设计的各个方面和特点,特别重视探索设计过程中的可视化操作解决 方案,要求学生有一定的普通数学解题能力并能掌握将一般数学模型转换为程序的步骤和设计方法,通过 本设计课程,熟悉计算机的基本操作和初步的设计能力,使学生既具备较全面的计算机程序设计理论知识, 又掌握实际编程的应用动手技能。本课程设计的任务是结合程序设计基础、面向对象程序设计理论课和实验课教学以及课程的有 关知识,完成若干个综合设计内容,提交有关设计文档、源程序代码和总结报告。二、本课程设计的基本理论(基础理论和基本方法)本课程设计的基本理论和基本方法为:1) C程序设计的基本语法,包括“分支语句” “循环语句” “排序语句”“数组语句”“指针语句”“读和写磁盘文件语句”等;2)结构化程序设计方法、程序设 计的系统分析方法、一般的数学模型转换为程序的步骤和设计方法;3)面向对象方法学的基本概念(对 象、消息和方法、类、继承性、封装性、多态性);4)面向对象可视化程序设计。先导课程为高等数学、计算机导论、程序设计基础、面向对象程序设计以及相关实验等课 程,本课程为后续与程序设计有关的课程打下基础,是面向对象分析与设计、面向对象分析与设计实 验和高级数据库应用技术、网络应用软件开发等课程的先导课程。三、程序与要求 课程设计的程序与要求主要内容如下:【“内容一”为必做,“内容二”与“内容三”选做其中一个内 容。】内容一:“简单学生管理系统设计”本设计内容可用程序设计基础方法完成。 系统功能简介:本系统有包括7个主要功能供给用户,用于管理学生信息。1输入和储存学生信息用户可以使用系统储存学生信息,包括学生姓名,学号,性别,成绩(物理,英语,数学,计算机导论,C程序)2查看学生信息通过使用系统可以查看已统计好的学生信息3学生成绩统计:使用系统可以浏览学生已排好的成绩统计,包括名次,总分,平均分,最高和最低分4查找学生信息:使用系统可以浏览单个学生的信息,分为按学号和姓名查找。5 修改学生信息:当学生信息有误时就可以通过系统来修改。6 删除学生信息:使用系统可以要删除某个学生信息。7 增加学生信息:不能在第一个功能上增加学生信息,只能在这个功能上实现8 退出。系统主程序输入和储存学生信息查 看 学 生查 找 学 生修 改 学 生删 除 学 生增 加 学 生内容二:“简单电梯运行模拟系统设计”本设计内容可用面向对象程序设计方法完成。某公司要建立一栋两层的办公大楼,并装上1 部新的电梯,每个电梯限载1 人,要求开发一个面向对象的模拟程序,模拟电梯的操作,以确定这个电梯能否满足需要,对于发生的每个重要事件显示一个消息 (例如:“1人到了2 楼”,“人进入了电梯”等)。为了省电,电梯每天在一楼关门等待。模拟程序包括一个时钟,每天从时间0 开始,每秒滴答一次,模拟程序随机设置每一层第一个人到来 的时间,模拟程序生成一个新到的人并将人放在这一层,然后这个人按下该层的按钮,请求电梯开门。这 个人的目的地不能与他上电梯的楼层相同。电梯从一层到二层的时间需要5 秒。扩展 1:如果楼层为多层,程序应作何改动?扩展 2:如果有多部电梯,程序应如何实现电梯在每一层的载客和下客?而且最省电?扩展 3:如果电梯可搭载多位乘客,程序如何实现?扩展 4:(选做)用动画图形输出,在屏幕上显示电梯上下移动。内容三:“MFC可视化程序设计”本设计内容可用可视化程序设计方法完成。每个学生可任选下列问题1-8中的不少于六个小问题,或问题7-10不少于三个小问题,用MFC类库方法编程设计(指导教师也可以要求选取其他组合的问题):问题 1:“球体积和球表面积计算设计”。设计一个对话框,可以输入球的半径,输出球体积和球表面 积。问题 2:“长方体体积和表面积计算设计”。设计一个对话框,可以输入长方体的长、宽和高,输出长 方体的体积和表面积。问题 3:“袖珍计算器设计”。计算加、减、乘、除、乘方、开方。在用户界面上设置两个编辑框,分 别用于输入左操作数和右操作数,两个静态文本分别用于显示“=”号和运算结果,其中用六个单选按钮 用于选择运算符。要求能够存储操作数、操作码和结果;执行算术操作;实现控制功能,如清除、全部清除和改变符号; 根据需要产生在计算引擎中存储的量;对外报告错误时,保存内部状态。扩展 1:接收键盘输入;识别操作和数字操作数;从用户输入产生下一个操作和操作数;显示操作码 操作数、结果、错误;限制错误的输入。扩展2:建立合适大小的模拟LCD窗口;在LCD窗口中显示给定的字符串;显示给定的单一字符操 作码;清除LCD窗口;恢复对用户的正常I/O。问题4:“数据记录框设计”。编写一个列表框应用程序,可以进行添加和删除数据记录:姓名、性别、 年龄、电话号码、单位、住址、邮政编码,列表框用于显示对应某数据记录的姓名。问题 5:“调色板设计”。三原色红色、绿色、蓝色参数分别可用四个单选按钮选取为:0、80、160、255 的其中一个值,三种原色的参数选定后,在编辑框内显示调色后的颜色变化。问题 6:创建单文档应用程序框架,可在菜单的各栏目分别调出上述题1 到题5功能的各对话框。问题 7:设计一个数制转换类:实现十进制二进制,十进制八进制转换。输入十进制数,转换后 分别显示二进制,八进制数。(不能调用库函数)问题 8:设计一个文本加密类:文本包含26 个字母和数字0-9。接受用户输入文本,按加密按钮输 出加密后的文本;对于加密后的文本,按解密按钮可以得到原文。(通过简单的字符替换)问题 9:(1)、构造一个分数类CFractions,它有两个整数型数据成员,分别用来表示分数的分子和分母。类的构造函数在没有指定初始值时,将类的两个成员变量初始化为1。构造函数必须禁止将分母初始化为0。类能够按照下面的公式完成加、减、乘和除运算。(a) 分数相加:ac+ =bdad + bebd(b) 分数相减:a e ad - be b d bd(c) 分数相乘:(d) 分数相除a e aeX b d bd a e ad b d be(2)、将类CFractions加入到一个对话框程序中,并测试该类的每一个成员函数及友元函数。问题 10:(1)、构造一个分数类CVector3D,它有三个浮点型数据成员,分别用来表示该向量的x、y、和z分量。类的构造函数在没有指定初始值时,将类的三个成员变量初始化为0.0。类能够按照下面的公式完成向量加、减、数乘和内积运算。(a) 向量相加:(x1, y1, z1) + (x2, y2, z2) = (x1+x2, y1+y2, z1+z2)(b) 向量相减: (x1, y1, z1) - (x2, y2, z2) = (x1-x2, y1-y2, z1-z2)(c) 向量数乘: k(x1, y1, z1) = (kx1, ky1, kz1)(d) 向量内积: (x1, y1, z1) * (x2, y2, z2) = x1x2+y1y2+z1z2(2)、将类CVector3D加入到一个对话框程序中,并测试该类的每一个成员函数及友元函数。课程设计要求:1) 提供程序设计课程设计说明文档文件(其中包括各功能模块算法说明、功能说明和总结报告等)2) 提供源程序(完整的工程文件);将上述 1) -2)内容刻光盘,文档文件内容(除源程序代码)打印上交【注:全班都刻在一张光盘内】。四、考核方式与评分标准考核方式:考查评分标准:五分制,分优、良、中、及格、不及格。要求独立完成(若有两位或以上的同学采用完全 相同的解决方案或有相同源代码的模块,则这些同学全部不合格)。参照教学基本要求,程序设计相关文档和总结报告占25%,设计质量即设计的完整性、合理性、正确 性方面(具体材料包括功能模块结构说明、原代码、程序运行结果等)占 60%,学生学习态度及出勤情况 等占 15%。注意:如果想要得到优等成绩。必须在最后让我当场检查程序,并回答我的提问。提问内容包括:设 计思路、代码作用(你的程序里的任何一段代码)以及其它和程序相关的任何问题。五、配套教材参考教材:1)C 程序设计(第三版),谭浩强著 清华大学出版社出版,2005 年版2)C+程序设计基础(第2版),周霭如编著,电子工业出版社,2008年版。3)实验指导书:程序设计基础实验指导书、面向对象程序设计实验指导书,广州大学计算机科 学与教育软件学院编。程以下序是课程设设计统一计封面格式课程设计报告学 院:计算机科学与教育软件专业班级: 计算机大类09 ()班学 号:姓 名: 完成日期: 2010年 月 日
展开阅读全文