资源描述
《程序设计基础》综合设计
« 设计任务
v 系统以菜单方法工作(文本菜单或图形菜单)
v 输入数据模块,数据用文件保留
v 输出数据模块,数据用文件保留
v 基础算法利用模块(排序、查找、插入、比较算法中最少包含一个)
v 系统进入画面(静态或动画)
v 系统其它功效实现(任选)
« 设计要求和设计汇报
v 设计要求
l 可自己选定题目,但最少包含五个功效模块
l 模块化程序设计
l 锯齿型书写格式
l 必需上机调试经过
v 实习汇报
l 语言简练,条理清楚,图表规范
l 程序设计组成框图、步骤图
l 模块功效说明(如函数功效、入口及出口参数说明,函数调用关系描述等)
l 调试和测试:调试方法,测试结果分析和讨论,测试过程中碰到关键问题及采取处理方法
l 源程序清单和实施结果(软盘):清单中应有足够注释
参考题目
一、 设计实现一个模拟班级学生成绩管理系统
1 目标
经过学生成绩管理系统设计,培养学生综合利用C++语言进行程序设计能力,加强函数利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用系统提供标准函数及经典算法进行设计。
2 基础要求
该系统用于管理学生基础信息、课程成绩。要求实现以下功效:
①经过此模块来管理课程信息,包含查询、添加、修改、删除等功效。在进行课程信息添加时,系统会自动监测所添加信息是否已经存在,假如存在,会提醒已经存在。在进行课程信息删除时,一样要求再次确定。
②实现对学生信息、课程成绩文件存取(分别存放在StudentInfo.txt、StudentScore.txt和GraduateCheck..txt文件中),实现对学生信息、课程成绩统计增加、删除及修改;
③实现输入学生学号或姓名查询并显示学生课程成绩;
学生基础信息统计,如:
学号
姓名
性别
出生日期
专业
0999
张三
男
1980年6月1日
软件工程
……
……
……
……
……
学生课程成绩统计,如:
学号
课程名称
学分
成绩
0999
毛泽东思想概论
4
60
0999
高级语言程序设计
3
70
0999
WEB程序设计
2
80
0999
IT企业管理
1
90
……
……
……
……
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
二、 设计实现一个简单产品管理系统
目标和要求
(1) 目标
经过产品管理系统设计,培养学生综合利用C++语言进行程序设计能力,加强函数利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用系统提供标准函数及经典算法进行设计。
(2) 基础要求
合理利用C++语言数组、指针、结构体及文件操作等,实现一个模拟班级学籍管理系统。该系统用于管理产品基础信息及信息统计。具体要求以下:
① 经过键盘或读取文件方法读取产品信息,对各类产品进行统计和分析。
② 要求使用结构数组和结构指针,各个功效分别使用函数来完成,主函数和各个函数分别存放在不一样.c文件中,要求使用头文件。
③ 要求使用选择法排序,折半查找法进行查找。
④ 要求在程序中能够利用结构化程序设计选择和循环结构,并熟练使用相关语句(如do while、for、if-elseif等)。
⑤创新要求。在基础要求达成后,进行创新设计,如进行删除或插入操作。
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
三、 设计实现一个个人信息管理系统
目标和要求
(1) 目标
经过个人信息管理系统设计,培养学生综合利用C++语言进行程序设计能力,加强函数利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用系统提供标准函数及经典算法进行设计。
(2) 基础要求
合理利用C++语言数组、指针、结构体及文件操作等,实现一个模拟个人信息管理系统。该系统能够对每个学生消费、生活及学习进行系统管理,把这几项内容综合在一起开发了含有个人特色管理系统。具体要求以下:
① 学生基础信息管理关键包含了学生姓名、学号、性别、出生年月、专业、爱好等内容。
② 消费模块关键包含个人消费统计。关键功效有:数据添加、数据查找、数据删除、数据修改、数据逐一显示、消费总额显示等。
③ 学生课程成绩模块关键包含学习成绩统计。关键功效有:数据添加、数据查找、数据删除、数据修改、数据逐一显示、消费总额显示等。
④ 要求在程序中能够利用结构化程序设计选择和循环结构,并熟练使用相关语句(如do while、for、if-elseif等)。程序要有主菜单,能够完成关键功效。
学生基础信息统计,如:
学号
姓名
性别
出生日期
专业
0999
张三
男
1980年6月1日
软件工程
……
……
……
……
……
学生消费或个性信息统计,如:
……
……
……
……
……
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
四、 设计实现一个模拟通信录管理系统
目标和要求
(1) 目标
经过班级通信录管理系统设计,培养学生综合利用C++语言进行程序设计能力,加强函数利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用系统提供标准函数及经典算法进行设计。
(2) 基础要求
合理利用C++语言数组、指针、结构体及文件操作等,实现一个模拟班级通信录管理系统。该系统用于管理学生基础信息、通信信息等。具体要求以下:
① 经过键盘或读取文件方法读取学生通信信息。
② 系统需要有添加模块、查询模块、删除模块、修改模块等。
③ 用户登录查询时,能够经过输入姓名或学号等查到某人信息,并输出这些信息。若找不到则显示找不到信息。
④ 在添加某人信息时,若通讯录中已经有该人信息,则提醒信息已存在。
⑤ 要求在程序中能够利用结构化程序设计选择和循环结构,并熟练使用相关语句(如do while、for、if-elseif等)。程序要有主菜单,能够完成关键功效。
学生通信录基础信息统计,如:
学号
姓名
性别
住址
系别
电子邮箱
电话
个人介绍
密码
0999
张三
男
……
……
……
……
……
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
五、 设计实现一个班级信息管理系统
目标和要求
(1) 目标
经过班级信息管理系统设计,培养学生综合利用C++语言进行程序设计能力,加强函数利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用系统提供标准函数及经典算法进行设计。
(2) 基础要求
合理利用C++语言数组、指针、结构体及文件操作等,实现一个模拟班级通信录管理系统。该系统用于管理学生基础信息、通信信息等。具体要求以下:
① 工作人员能够经过此程序来管理学生信息,包含查询,添加,修改,删除等功效。
② 在进行添加时,系统会自动监测所添加学生信息是否已经存在,假如存在,会提醒用户该学生已经存在。
③ 在删除时,要首先弹出对话框,让用户确定是否删除,只有经过确定才能够被删除。
④ 在进行学生信息管理时,不准用户修改学号。
⑤ 经过键盘或读取文件方法读取学生信息。
⑥ 能够利用结构化程序设计选择和循环结构,并熟练使用相关语句(如do while、for、if-elseif等)。
⑦ 程序要有主菜单,能够完成关键功效。
学生基础信息统计,如:
学号
姓名
性别
出生日期
专业
民族
专长
家庭住址
0999
张三
男
1980年6月1日
软件工程
汉族
篮球、跳舞
……
……
……
……
……
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
六、 设计实现一个小型企业人员信息管理系统
目标和要求
(1) 目标
经过企业人员信息管理系统设计,培养学生综合利用C++语言进行程序设计能力,加强函数利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用系统提供标准函数及经典算法进行设计。
(2) 基础要求
某企业有三类人员,经理、兼职技术人员、兼职销售员。这些人员分别含有以下属性:
① 经理:姓名、编号、固定工资、当月薪水、计算月薪、显示信息;
② 兼职技术员:姓名、编号、工作小时、每小时工资额、当月薪水、计算月薪、显示信息;
③ 兼职销售员:姓名、编号、销售额、销售分成、当月薪水、计算月薪、显示信息。
要求:
① 人员编号基数为1000。每输入一个人员信息,编号次序加1;
② 月薪计算方法是:经理固定工资8000元,兼职技术员按100元/小时领取月薪,兼职销售员按当月销售额4%分成。
③ 工作人员能够经过此程序来管理人员信息,包含查询,添加,修改,删除等功效。
④ 在进行添加时,系统会自动监测所添加人员信息是否已经存在,假如存在,会提醒用户该人员已经存在。
⑤ 在删除时,要首先弹出对话框,让用户确定是否删除,只有经过确定才能够被删除。
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
七、 设计实现一个学院教职员信息管理系统
目标和要求
(1) 目标
经过学院教职员人员信息管理系统设计,培养学生综合利用C++语言进行程序设计能力,加强函数利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用系统提供标准函数及经典算法进行设计。
(2) 基础要求
某学院有三类人员,老师、试验室人员、办公室人员。这些人员分别含有以下属性:
① 老师:姓名、编号、职称、固定工资、当月课时数、当月薪水、计算月薪、显示信息;
② 试验室人员:姓名、编号、固定工资、工作小时、每小时工资额、计算月薪、显示信息;
③ 办公室人员:姓名、编号、固定工资、当月薪水、计算月薪、显示信息。
要求:
① 人员编号基数为1000。每输入一个人员信息,编号次序加1;
② 月薪计算方法是:老师固定工资元,教讲课酬为30元/小时,副教授为25元/小时,讲师和助教为20元/小时;试验室人员固定工资1000元,每小时课酬额10元;办公室人员固定工资为2500元。
③ 工作人员能够经过此程序来管理人员信息,包含查询,添加,修改,删除等功效。
④ 在进行添加时,系统会自动监测所添加人员信息是否已经存在,假如存在,会提醒用户该人员已经存在。
⑤ 在删除时,要首先弹出对话框,让用户确定是否删除,只有经过确定才能够被删除。
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
八、 设计实现一个简单库存管理程序
目标和要求
(1) 目标
经过简单库存管理程序设计,培养学生综合利用C++语言进行程序设计能力,加强函数利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用系统提供标准函数及经典算法进行设计。
(2) 基础要求
写一个简单库存控制程序。该程序服务于诸如鞋店,汽车配件,百货或文具店等销售商店。程序应该包含:
(a) 一个包含出售多种项目统计文件。统计应包含:项目名称、项目描述、现在库存量、重新定货等级——定单数量、重新定货数量、供给商细节、重新定货运输时间、标识大宗定货
(b) 一个包含大宗定货信息统计文件。统计格式应为:定货编号(唯一)、项目编号、定货日期、到货日期
要求程序能够实现以下功效:
1) 许可在线登录销售
2) 许可在线支付
3) 打印适宜重新定货表格
4) 许可对两个文件查询,比如查找过期定单和缺货项目
扩展程序
1) 文件结构。包含批发和零售价格信息
2) 引进第三个文件,统计天天销售额
3) 按要求输出总存货量,可支付大宗定货总量
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
九、设计一个模拟家庭关系数据结构。
目标和要求
(1) 目标
经过设计一个模拟家庭关系数据结构,培养学生综合利用C++语言进行程序设计能力,加强数据结构利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用复杂数据结构及经典算法进行设计。
(2) 基础要求
设计一个模拟家庭关系数据结构。每个人用一个结构体表示, 包含有她(她)名字、性别、年纪和指向其父亲、母亲、配偶、儿女链指针,图所表示。试编写以下函数和函数:
(a) 增加一个新人;(b) 检验某两人之间关系函数;(c) 检验某两人是否堂弟兄姐妹布尔函数;(d) 检索某人, 并输出她直系亲属情况; (e) 遍历整个结构。
父亲
母亲
配偶
……
儿女1
儿女2
名字
性别
年纪
图1 模拟家庭关系数据结构
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
十、稀疏矩阵运算
目标和要求: 稀疏矩阵是决大多数元素为0矩阵,为了节省存放空间,常常只保留那些非0元素。以下多重链表是保留稀疏矩阵一个方案:
– 每个非0元素是一个基础数据结构,其结构图1所表示:
– 把每行非0元素组成一个环形链表,left为其链指针;
– 把每列非0元素亦组成一个环形链表,up为其链指针;
– 在每个基础数据结构上:row为行标;col为列标;val为值;
– 每个环链上加一个哨兵结点,哨兵col、row值为-1。
图2矩阵存放为图3形式。在图3中,colpt、rowpt分别为指针数组,数组元素分别指向稀疏矩阵各列、各行环形链。
设计矩阵外部数据格式,编出读入稀疏矩阵和实现稀疏矩阵加法、乘法函数。
left
up
row
col
val
图1 稀疏矩阵非0元素数据结构
50 0 0 0
10 0 20 0
0 0 0 0
-30 0 –60 5
图2 稀疏矩阵
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
50
2
1
10
1
4
-30
4
3
-60
4
4
5
2
3
20
rowpt:
1
2
3
4
1
2
3
4
colpt:
图3 稀疏矩阵存放形式
提醒及说明
1)写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果 2) 假如程序未能够经过运行,分析可能犯错原因。 3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
十一、模拟博彩游戏
目标和要求
(1) 目标
经过设计一个模拟博彩游戏程序,培养学生综合利用C++语言进行程序设计能力,和对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用复杂数据结构及经典算法进行设计。
(2) 基础要求
编写一个程序,读入一个正整数N,模拟N个人之间赌博游戏。该游戏按以下方法进行。
每一个玩家全部有一个赌博卡片,该卡片由5×5正整数矩阵组成,卡片中心是空。第一列由1到16之间数组成;第二列由17到32之间数组成;如此等等。在游戏开始时,中心位置是隐蔽(covered)。
一个玩家在1到80范围之内猜卡片上被覆盖数。每猜到一个,就在卡片上把对应元素翻转过来。当13个被覆盖数全部被猜到时,用猜过数列给该卡片一个“bingo”。
被覆盖数字包含:矩阵中心9个元素;矩阵四角4个元素。
你程序应该为玩家随机产生卡片(依据上面描述规则),并产生每次猜数,直到有一个或多个玩家得到一个“bingo”卡片。
程序输出:
l 一张卡片被标为“bingo”之前,所猜全部数
l 当每张卡片全部得到一个“bingo”时,每张卡片上被覆盖数。
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
十二、文件加密、解密。
目标和要求
(1) 目标
经过设计一个文件加密、解密程序,培养学生综合利用C++语言进行程序设计能力,加强文件利用及学生对软件工程方法初步认识,提升软件系统分析能力和程序文档建立、归纳总结能力,培养学生利用文件操作及经典算法进行设计。
(2) 基础要求
下面是对一个一般文本文件P加密方法:
(a) 产生一个由任意字符组成文件(R)。
(b) 每次从R和P中各读一个字符,然后合并两个字符成一个复合字符,形成文件C。文件R中字母可能会被重读数次。
(c) 复合字符形成规则是:若给出复合字符中两个组成部分任何一部分,另一部分即可唯一重获。方法是:对两个字符进行重新编码操作。
(d) 文件C就是和文件R相关对文件P加密。
(e) 根据如上描述方法,文件C和文件R配合,就能够对文件C进行解密。其中R用来把复合字符恢复成一般字符。
设计形成复合字符规则,和产生文件R程序。从某中意义上来说,文件R越长,加密安全性就越高。
依据读入控制字符(如E或D)设计一个能加密或解密程序。测试程序,确保能将一个文本文件加密成一个合适加密文件,而且能将其恢复成一般文本文件。
提醒及说明
1) 写出设计汇报:包含试验题目和环境、设计思想、函数分解过程、算法描述和对应数据步骤图、源程序清单、测试数据和程序运行结果
2) 假如程序未能够经过运行,分析可能犯错原因。
3)请注意分配好时间,完成系统设计和实现,同时认真填写大作业汇报!按时提交大作业汇报、可运行程序及代码,逾期不交,期末成绩以0分记。
以下题目需要图形用户界面
参考设计题目一:职员信息管理系统设计
职员信息包含职员号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职员号不反复)。试设计一职员信息管理系统,使之能提供以下功效:
v 系统以菜单方法工作
v 职员信息录入功效(职员信息用文件保留)--输入
v 职员信息浏览功效 --输出
v 查询或排序功效:(最少一个查询方法) --算法
l 按工资查询
l 按学历查询等
v 系统进入画面(静态或动画)
v 职员信息删除、修改功效(任选项)
参考设计题目二:飞机订票系统设计
假定民航机场共有n个航班,每个航班有一航班号、确定航线(起始站、终点站)、确定飞行时间(星期几)和一定组员订额。试设计一民航订票系统,使之能提供下列服务:
v 系统以菜单方法工作
v 航班信息录入功效(航班信息用文件保留)--输入
v 航班信息浏览功效--输出
v 查询航线:(最少一个查询方法)--算法
l 按航班号查询
l 按终点站查询
v 系统进入画面(静态或动画)
v 承接订票和退票业务(可选项)
参考设计题目三:学生选修课程系统设计
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总课时,讲课课时,试验或上机课时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功效:
v 系统以菜单方法工作
v 课程信息录入功效(课程信息用文件保留)--输入
v 课程信息浏览功效--输出
v 查询功效:(最少一个查询方法)--算法
l 按学分查询
l 按课程性质查询
v 系统进入画面(静态或动画)
v 学生选修课程(可选项)
参考设计题目四:图书信息管理系统设计
图书信息包含:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功效:
v 系统以菜单方法工作
v 图书信息录入功效(图书信息用文件保留)--输入
v 图书信息浏览功效--输出
v 查询或排序功效:(最少一个查询方法)--算法
l 按书名查询
l 按作者名查询
v 系统进入画面(静态或动画)
v 图书信息删除和修改(可选项)
参考设计题目五:游戏
编写一个游戏,用户界面友好。
展开阅读全文