大连理工大学《程序设计训练》设计报告
- 1 -
一、 设计任务
任务一(班费收支管理系统):设计一种信息管理系统,其中数据存储结构须采用
链表实现,包括链表建立,查找,插入,删除,排序等操作。系统必须包含菜单编程,
数据输入输出功能,数据文件操作功能,数据处理与算法设计,程序须运行稳定,具有
一定的健壮性。
任务二(一元稀疏多项式计算器):设计一个一元稀疏多项式简单计算器,从文件
或者键盘输入并建立一元稀疏多项式,对多项式进行求导,相加,相减和相乘功能,并
可以计算 X 取不同值时,多项式的结果。
任务三(哈夫曼编码/译码器设计):设计一个哈夫曼编码与译码器。以实现输出
各字符统计个数、哈夫曼编码、输出编码、译码、树状打印 的系统功能。
二、 程序设计与实现
1. 程序结构
(1)班费收支管理系统
图 1.班费收支管理系统组成框图
大连理工大学《程序设计训练》设计报告
- 2 -
(2)一元稀疏多项式计算器
图 2.一元稀疏多项式计算器系统组成框图
(3)哈夫曼编码/译码器
图 3. 哈夫曼编码/译码器程序功能组成框图
大连理工大学《程序设计训练》设计报告
- 3 -
2. 数据结构设计
(1)班费收支管理系统:
typedef struct income
{
char id[10];/*班费缴纳人序号*/
char name[10];/*班费缴纳人姓名*/
char money[12];/*班费缴纳数额*/
char day[10];/*缴纳日期*/
char reason[100];/*原因*/
}IN;/*班费收入结构体类型*/
typedef struct outcome
{
char id[10];/*班费缴纳人序号*/
char name[10];/*班费开支人姓名*/
char money[12];/*班费开支数额*/
char day[10];/*开支日期*/
char reason[100];/*原因*/
}OUT;/*班费支出结构体类型*/
typedef struct INode/*收入链表结点*/
{
IN data;
struct INode *next;
}INode,*IList;
typedef struct ONode/*支出链表结点*/
{
OUT data;
struct ONode *next;
}ONode,*OList;
L
^
图 4.单链表结构