数据结构课程设计报告

发布 2022-10-05 03:39:28 阅读 8694

《数据结构》

课程设计报告。

专业计算机科学与技术

班级 (1姓名王昕。

学号 20101308003

指导教师顾韵华

起止时间 2011.10~2011.12

课程设计:个人账簿管理。

一、任务描述。

个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。

要求:根据以上任务说明,设计程序完成功能。

二、问题分析。

1、功能分析。

分析设计课题的要求,要求编程实现以下功能:

1)记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。

2)输入和修改某月的收支情况。

3);对每月的开支从小到大进行排序。

4)根据输入的月份查询每月的收支情况。

2、数据对象分析。

食品消费,房租,子女教育费用,水电费,医疗费,储蓄

三、数据结构设计。

#include ""

#include""

void menu()

printfn");

printf欢迎使用个人帐簿管理系统---n");

printfn");

printf("");

printf菜单===n");

printf1-程序说明");

printf2-建立个人账簿管理表");

printf3-插入记录");

printf4-查询记录");

printf5-修改记录");

printf6-支出排序");

printf7-遍历表中内容");

printf0-保存文件并退出");

printf("");

printfn");

printf("请选择。

void title(int a)

printf个人帐簿管理系统n");

printfn");

switch(a)

printf("");

void tail()

printfn");

printf("按enter键继续。n");

getchar();

void instruction()/程序说明函数。

printf(" 本程序为个人账簿管理系统。用户可创建个人");

printf("的账簿表,按月份插入当月的收支记录,同时可");

printf("以按月查询和修改相应的记录。所有查询和修改");

printf("功能需在已经建立表的基础上实现。");

printf(" 输入时按照食品支出,房租,教育费用,水电");

printf("费,医疗开销,储蓄收入的顺序录入账簿表,所");

printf("有输入均为整数。程序可自动统计食品支出,房");

printf("租,教育,水电,医疗费用之和作为当月的总支");

printf("出,排序比较功能中系统将按月支出升序排序输");

printf("出。退出时可将输入的表保存为文件形式。");

四、功能设计。

一)主控菜单设计。

为实现账簿管理的操作功能,首先设计一个含有多个菜单项的主控菜单程序,然后再为这些菜单项配上相应的功能。

程序运行后,给出6个菜单项的内容和输入提示,如下:

1. 账簿的建立。

2. 各项开支的输入。

3. 开支的输入和查询。

4. 按降序排序。

0. 退出系统。

二)程序模块结构。

由课题要求可将程序划分为以下几个模块(即实现程序功能所需的函数):

主控菜单项选择函数menu_t()

创建账簿功能说明title()

插入函数 check()

查询函数filllist()

排序函数bubblesort()

改变函数change()

三)函数调用关系。

程序的主要结构(函数调用关系)如下图所示。

四)文件结构。

1、单链表运算的实现。

2、主菜单函数的声明。

3、主菜单函数的实现。

4、主函数。

(五)各函数的算法设计。

1、bubblesort()

算法原理:冒泡排序。

流程图:**描述:

void bubblesort(sqlist &a)//冒泡排序。

keytype temp;

for (int i=1;i<=11;i++)

算法的时间复杂度分析:o(i*j*(13—i—j))

算法的改进方法(这部分可以选择):

2、insert()

流程图:**描述:void filllist(linklist l,sqlist &s)

lnode *p;

p=l->next;

int i,k=1;

for(i=1;i<13;++i)

for(p,i=1;p!=null;p=p->next,i++)

printf("排序前:");

for(i=1;i<13;i++)

bubblesort(s);

printf("排序后的结果为:");

for(i=1;i<13;i++)

算法的时间复杂度分析:

五、测试数据和结果。

1、测试数据。

食品房租教育水电医疗储蓄。

1月: 2500 2000 500 360 400 1500 总支出: 5760

3月: 1820 2000 500 350 300 1200 总支出: 4970

5月: 1500 2000 500 300 0 3000 总支出: 4300

8月: 2000 2000 0 350 200 1500 总支出: 4550

12月: 1400 2000 500 300 200 2500 总支出: 4400

2、测试结果。

本程序在vc++环境下实现,下面是对以上测试数据的运行结果。

1) 主菜单显示如下:

六、结束语。

本设计完成了课题要求的任务,设计了较便捷的操作界面。通过对个人账簿。

系统的设计,学习到了很多平时学不到的知识,知道如何学以致用。学到了很多实际应用中很实用的技巧,也意识到了自己很多的不足之处。

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...