实验7 综合实验
一、实验目的
? ? ? ?
掌握系统功能划分的方法 掌握模块设计的方法
熟练掌握在Code::Blocks中的跟踪调试与断点调试方法 培养良好的编程风格
二、实验环境
? 个人计算机一台,PIII500(或同等性能)以上CPU,128MB以上内存,500MB以
上硬盘剩余空间。
? Windows2000、Windows XP或Win 7操作系统 ? Code::Blocks(版本12.11或近似版本,英文版)
三、实验内容
1 任务描述
题目1 企业合同管理系统
设计并实现一个企业合同管理系统,可以对合同进行添加、删除、浏览和查找等操作。
企业合同应包括:合同编号、合同名称、甲方、乙方、签约时间和正文(可以根据需要再添加其它信息项)。
查找功能以合同的信息项(如合同编号、合同名称)或正文的部分内容为查找关键字。
应以文件的形式对信息进行存储。
注意:由于合同的正文往往比较长,因此不适宜作为结构体变量的成员,但可以将其放在另一个文件中,并将该文件的文件名作为结构体变量的成员。
题目2 日记管理系统
设计并实现一个日记管理系统,可以对日记进行添加、删除、浏览等操作,
1
并实现密码保护和密码修改。
日记的信息项应包括日期和关键字,同时要求日记条目的显示应该要按照日期的顺序。
应以文件的形式对信息进行存储。
注意:由于日记的正文往往比较长,因此不适宜作为结构体变量的成员,但可以将其放在另一个文件中,并将该文件的文件名作为结构体变量的成员。
题目3 图书管理系统
设计并实现一个图书管理系统,可以对图书进行添加、删除、浏览、查找等操作。
图书的信息项应包括:书名、索书号、ISBN号、作者、出版社、出版年份(可以根据需要再添加其它信息项)。
查找功能应能够支持以图书的任一信息项为关键字,并能够进行多个信息项的组合查找。
应以文件的形式对信息进行存储。
题目4 五子棋游戏
设计并实现一个五子棋游戏,棋盘与棋子用字符表示,棋盘大小为15?15,通过输入坐标进行落子。
基本功能包括:
(1)胜负判定:当某一方落子后,应能够判定该次落子是否形成五连子。当棋盘全满时如仍为分出胜负,判为和棋。
(2)禁手判定:禁手是对局中被判为负的行棋手段,白棋无禁手。如以下图中所示。
图 1 图 2 图 3 图 4
2
图 1 、图 2 、图 3 中的 x 点为三、三禁手。
图 4 、图 5 中的 X 点为四、四禁手。 图 6 中的 X 点为长连禁手。
图 5
图 6
若黑方落子造成禁手,则判黑方负。但若黑方在落下关键的第五子即形成五连的同时,又形成禁手,此时因黑方已成连五,故禁手失效,黑方胜。
(3)双人对弈,即两个玩家轮流落子对弈。 (4)玩家可选择执黑棋或是白棋 以下为加强功能:
实现人机对弈,由一个玩家与计算机对弈,计算机能够比较多个可落子位置的好坏。若搜索空间过大,可适当缩小棋盘。完成该功能 ,成绩为“优秀”。
2 实验要求
本实验的要求如下: 1. 选择其中的一道完成。 2. 描述实验设计的数据结构。
3. 采用结构化程序设计思想,必须进行模块的划分与设计,并在实验报告中
详细描述。
4. 程序的运行结果要结合程序测试数据进行分析,对这些实验结果要逐个记
录,并且与预期结果进行比较并分析。 5. 需写出问题分析过程。
6. 在程序调试过程中可能会出现许多问题,对这些问题要逐个记录错误位
置、编译的描述、如何解决。
3