选修课课程设计题目(完整版)

  • 格式:pdf
  • 大小:464.53 KB
  • 文档页数:9

题目1、绘制曲线

【功能】根据给定的函数绘出相应的曲线。

函数有(1)f(x)=ax×x+b×x+c (2)sin(a×x+b) (3) con(a×x+b)

(a,b,c值通过对话框输入) 【要求】

1、 窗口最大化显示。

2、 坐标轴的原点位于窗口中央。曲线的x轴和y轴的大小分别为

窗口宽度的一半和高度的1/3。

3、 要绘制出坐标轴

4、 线的颜色可定制,通过弹开标准颜色对话框来实现。

5、 绘制过程有动画效果,曲线是慢慢绘制出来。 题目2、气球飘动

窗口上有10个颜色各异大小相同的气球(填充的椭圆实现),气球

可在窗口上随机向4个方向漂动(上下左右),每次移动N个象素,

(N通过对话框输入,在【30,100】之间,用微调按钮)当气球碰到

边界时,该球破裂(即消失),同时在屏幕上某个位置(随机产生)

再产生一个同样颜色的气球,永远保持窗口上有10个气球。

【提高部分】窗口上可用一副表示天空的位图来填充。

题目3、编制一个通讯录管理程序,实现通讯录信息的添加、

删除和查询功能

【要求】(1)程序的主窗口如左图所示。程序启动时,窗口

左边的“姓名”列表框中显示了本软件中已保存的所有人员姓

名,从中选择一个姓名,窗口左边的“详细信息”区域显示出

此人的详细通讯录内容。

(2)窗口顶部“城市”和“性别”两个列表框中列出了可供选

择的城市名称和姓名。使用这两个控件,可以筛选出感兴趣

的内容。例如,在“城市”中选择“南京”,在性别中选择“男”,则

在“姓名”列表框中只显示出程序所保存的住在南京的男性人

员。选择“城市”和“性别”中的“全部”,则列出所有人员。

(3)单击“添加”按钮,弹出一个对话框。通过此对话

框,可以添加新的通讯录条目。在添加新条目时,所在城市

应从组合框中选择,若组合框中没有想要的城市,可以直接

在组合框中键入。要求键入的新城市名能自动添加到“添加”

对话框中“所在城市”组合框和主窗口中“城市”组合框的下拉

列表中。 (4)在主窗口中点击“删除”按钮可以删除当前显示的

条目。

(5)增加一个“保存”按钮或菜单项,要求能够自动保存所做

的添加和删除操作。

(6)所有的数据能保存在文件中,并能读出。【CFile类】

【提示】创建通讯类,包括姓名、性别、生日、所在城市、

工作单位、办公电话、住宅电话等必要信息。

题目4、编一个基于对话框的应用程序,根据当前所选的形

状及画笔和刷子的颜色来作图。

要求:形状”是个列表框,能

从矩形、圆角矩形和椭圆中任

选一种,画笔和刷子对应的都

是列表组合框,内容都为红色、

蓝色、绿色、黑色、黄色、洋红、青色。“作图区域”是个成

组框。当按“作图”按钮时,根据当前所选的画笔和刷子在作

图区域中画所选择的形状的图形。所画的图形是最大的。

题目5、沿着一个半径为R1的虚拟圆周,使用半径R2画圆

(圆心均匀分布于虚拟圆周上)。【教材书上第八章第四题】 要求:(1)图形位于视窗的中心(2)每隔0.1秒使用半径

R2画一个圆,当画完36个圆(每10°画一个圆)后,形成

如图所示的图形,定时器终止。(3)工具条上有四个按键、

、 、 ,分别为黑色,红色、绿色、蓝色。缺省情况下

用黑色画图。当选中另一种颜色时,用该种颜色重画该图形。

即重新执行(2)。(4)窗口变化时,该图形仍然存在,只

是它的位置发生变化,即它仍然位于该视窗的中心。(5)

有一个菜单项弹出如下的对话框输入R1,R2的大小,对话

框有编辑框和微调按钮。

题目6、彩票自动选号系统

【功能】

1、该软件能自动生成体育彩票和福利彩票的投注号码。

2、软件是一个基于对话框的应用程序,是一个标签式对话框。 【提示】

1、体育彩票的每一注由0~9

中的6个数和一个特别号码

(0~4)组成。

在该窗口中,每一注可单独投注,也可一次产生5注号码。

点击“开始”按钮,则互斥按钮中选中的那一注的各个号码开始滚动。

点击“停止”按钮时,左边窗口中的号码停止滚动,产生一注号码,

其中最右边的特别号码只能是0~4中的一个。点击“自动”按钮,

则一次滚动产生5注号码。

点击“清除”按钮,则把左边窗口中显示的号码全部清除。 2、福利彩票每一注由1~35

之间的7个数组成,7个数中

没有重复的数,按从小到大

的顺序排列在方框中。

可以一次投1到5注。如果

选择投一注,则显示其他4

注的方框消失,见下图。相

应地,选择几注,就只有几行方框在窗口上。按“开始”按钮,则几

注号码就滚动显示在方框中。按“停止”按钮,则方框中的号码停止

滚动。

题目7、建立一个计算器的应用程序,完成整数的运算操作。

【功能】 (1)基于对话框的应用程序。 (2)对话框为右图。操作数1和操作数2框时都是下拉式组合框,运算符框是个列表组合框,运算符为+ - / * | & << >>。缺省时是十进制,当在操作数1和操作数2框中分别输入一个十进制数或选择一个十进制数,然后再在运算符中选择一个运算符,再用鼠标点一下“计算”按钮,则结果在结果编辑框中显示,结果编辑框是个列表式组合框。如果再用鼠标点一下“十六进制”按钮,则三个编辑框中的值都变成十六进制数。 (3)“变量”对应的框是个列表框,里面有26个大写字母代表的单字母变量,每个变量的值刚开始都置为0。每一行都具有这样的格式 A:0。一直从A:0到Z:0。变量框中所显示的值都为十进制,而不管当前所选择的进制。 (4)将当前结果存入某个变量中。首先用鼠标在变量框中选择一个变量,,然后点击一下“存贮”按钮,则结果就存入到该变量中,并在列表框中显示这个值。如结果框中的值为十六进制的1D,要把它存放在变量C中,则用鼠标在变量列表框中第三行点击一下然后点击一下“存贮”按钮,则列表框中的第三行就变为C:30 (5)操作数1和操作数2框中的内容既可以是数字,也可以是单字母变量名。如果在操作数1或操作数2框中输入#字符,并且在变量框中的某项上用鼠标连续点击两下,则存储在该项中的值就会替换操作数1或操作数2框中的#字符。 (6)操作数1和操作数2框以及结果框都是以时间先后顺序往列表框中插入内容的。操作数1和操作数2框中会记住最后35个输入不同的操作数,而结果框会记住最后35个不同的计算结果。(7)输入错误时,应能给出错误信息。

题目8、男子五项全能比赛信息管理系统

比赛项目为: 100米、110米栏、1500米、跳高和铅球。运动员的总成绩是,每项运动成绩折合成分数再由五个分数相加形成;运动成绩与分数的对应关系如下: 1. 100米 14” 13” 12” 11” 10” 9.5” 300 400 600 900 1300 1600

2. 110 米栏 17” 16” 15” 14” 13” 12” 300 400 600 900 1300 1700

3. 1500米

6'00 5'30 5'00 4'30 4'00 3'30 200 300 500 800 1200 1700

4. 跳高

1.70M 1.90 M 2.10 M 2.25 M 2.35 M 2.45 M 200 300 500 800 1200 1700 5. 铅球 14 M 16 M 18 M 20 M 22 M 24 M 100 200 400 700 1100 1600

凡遇成绩与表格数据不符,按线性插值取值。 该系统存储如下信息: 1. 报名表。包含每位运动员的号码、姓名、出身年月、身高、体重。人数不超过50人; 2. 比赛后,每人每项的运动成绩。 【功能】

(1)输入报名表和比赛后的每人每项的运动成绩; (2)可输出成绩表,表项有:姓名、 5个项目成绩和得分、总分和名次; (3)可输出前 6 名的领奖名单,表项有:姓名、总分和名次; [提示]

创建运动员信息类,包含号码、姓名、出身年月、身高、体重、 5个项目成绩、得分、总分和名次等信息,根据需要定义函数成员,完成程序功能。通过菜单打开对话框,在对话框中实现报名、成绩输入和题目要求的查询功能;在视图类中输出查询结果;

【提高部分】运动员信息可保存到文件并可读出。 【文档类的串行化,可参见教材第六章的文档的串行化】

题目9: 银行定期储蓄管理系统

[要求]

该系统存贮以下信息: 1.每笔存款的储户信息和办理该笔存款的营业员信息,这些信息存放于存款文件中。其中,储户信息包括:帐号,姓名,密码,地址,储种(定期1年、3年、5年),本金,收储日期,是否已挂失和挂失日期,营业员信息包括:接待该储户的营业员的姓名与工号。2.每笔取款的储户信息和办理该笔取款的营业员信息,这些信息存放于取款文件中。

系统功能要求如下;

1、 创建存款文件(第一次输入储户信息时); 2、 创建取款文件(第一次办理取款时); 3、 接收储蓄。接收储户与营业员信息并将以上信息添加到存款文件中; 4、 处理挂失。根据储户提供的帐号、姓名、密码、地址、储种,储金核查有无此项存款,有则对此帐号加入挂失标记,若无此项存款,则需判断是否领走还是未发生过这笔存款。 5、 办理取款:(1)根据储户提供的存款单(上面有帐号、姓名、储种、本金、日期)判断是否到期,检查有否挂失,根据储户提供的密码判断是否正确。若以上判断通过,执行以下三步。(2)在取款文件中添加这笔取款的储户和营业员的所有信息和取款日期,以便复查。(3)显示利息单,其内容包括:帐号、姓名、储种、起息日期,支取日期、本金、利息和支取金额。利息计算方法如下:1年到期利率1.98%,2年到期利率2.25%,3年到期利率2.52%,5年到期利率2.79%,每逾期一天,每天利率0.02‰,若未到期提前支取,按每天利率0.02‰计,每月按30天计算,利息税按20%扣除。(4)在存款文件中对这笔存款删除。 6、 统计今后3天每天到期的储金数,以便备款。

[提示]

1、 创建一个存款信息类,包含储户信息和营业员信息。 2、 创建取款信息类,包含必要信息。 3、 在文档类中添加存储存款信息类和取款信息类的链表或数组(用MFC的集合类) 4、 存款取款都通过菜单或工具栏按钮打开对话框,在对话框中输入信息;每发生一次存款,向存款链表中添加一个对象,每发生一次取款,从存款链表中删除一个对象,向取款链表中添加一个对象。

【提高部分】让创建的类从CObject类派生,在文档类Serialize函数中实现序列化;