《数据结构》
课程设计报告。
专业计算机科学与技术
班级 (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 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...