个人账簿管理系统Word文件下载.doc
《个人账簿管理系统Word文件下载.doc》由会员分享,可在线阅读,更多相关《个人账簿管理系统Word文件下载.doc(22页珍藏版)》请在冰豆网上搜索。
指导教师:
工作部门:
计算机学院
一、课程设计题目:
二、课程设计内容
个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。
该系统采用了WindowsXP操作系统结合VisualC++6.0,TC2.0等软件开发,可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。
三、进度安排
1.系统设计,确定函数功能及其实现过程;
2.根据前面的结果,编写程序清单,进行调试;
3.经过反复的编译,调试,测试,程序运行成功;
4.撰写课程设计报告,完成整个论文报告的工作,并打印;
课题答辩。
四、基本要求
1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2.完成最低要求:
建立一个文件,包括某人5个月的收支情况,能对文件中的信息进行扩充(追加),修改和删除;
3.进一步要求:
完成对每月的开支排序,以及完成系统查询功能;
4.应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。
目录
一概述 3
二总体方案设计 3
1.整体设计思路 3
2.输入系统 3
3.排序系统 4
4.查询系统 4
5.删除系统 4
6.其他部分函数功能 5
三命令行界面代码 6
四程序的调试与运行结果说明 17
五课程设计总结 20
参考文献 20
数据结构课程设计成绩评定表 21
一概述
该课程设计主要设计个人账簿管理系统已记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女交用费用,水电费,医疗费,储蓄等。
在课程设计中,用到了C语言以及数据结构中的相关知识,当然也有少数参考了其他人对某些问题的处理经验。
对于进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况,可以对某月的开支进行删除操作。
二总体方案设计
1.整体设计思路
系统共分五个子系统:
信息输入,信息浏览及排序,信息查询,信息更改,文件操作。
在相应的系统内可完成相应的功能。
各模块相对独立,每个模块用一个大型的函数来处理数据。
主程序:
1、信息输入2、信息浏览及排序3、信息查询4、信息更改
5、文件操作0、退出管理系统
2.输入系统
功能:
输入数据,然后将数据写入文件。
算法:
intenter(MYBILLt[])
for(i=0;
i<
n;
i++)
{scanf("
%s%s%s%s%s%s%s"
t[i].month,t[i].spxf,t[i].fzfy,t[i].znjy,
t[i].sdfy,t[i].ylfy,t[i].cxfy);
f=atof(t[i].spxf)+atof(t[i].fzfy)+atof(t[i].znjy)+atof(t[i].sdfy)+atof(t[i].ylfy)+atof(t[i].cxfy);
sprintf(t[i].srfy,"
%.2f"
f);
}
voidsave(MYBILLt[],intn)
for(i=0;
{fprintf(fp,"
%-8s%4s%13s%8s%7s%12s%8s%12s"
t[i].sdfy,t[i].ylfy,t[i].srfy,t[i].cxfy);
fprintf(fp,"
\r\n"
);
3.排序系统
1、按月份排序2、按输入排序
voidmonthsort(MYBILLt[],intn)
for(i=0;
{flag=0;
for(j=0;
j<
n-1;
j++)if((strcmp(t[j].month,t[j+1].month))>
0){
flag=1;
temp=t[j];
t[j]=t[j+1];
t[j+1]=temp;
if(flag==0)break;
}
voidsrfysort(MYBILLt[],intn)
{flag=0;
for(j=0;
j++)if((strcmp(t[j].srfy,t[j+1].srfy))>
0){
flag=1;
temp=t[j];
t[j]=t[j+1];
t[j+1]=temp;
}
if(flag==0)break;
4.查询系统
按月份循序查找,调用输出函数输出
voidmonthsearch(MYBILLt[],intn)
for(i=0;
++i)
{if(strcmp(s,t[i].month)==0)
{mprint(t[i]);
break;
}}
voidmprint(MYBILLtemp)
printf("
%8s%6s%10s%10s%10s%10s%10s%10s\n"
temp.month,temp.spxf,temp.fzfy,temp.znjy,temp.sdfy,temp.ylfy,temp.cxfy,temp.srfy);
5.删除系统
先是查找要删除的月份账单,然后对其删除,删除某月账单后,其他的月份依次向前移动
intdelet(MYBILLt[],intn)//删除信息
for(j=i+1;
j++)
{strcpy(t[j-1].month,t[j].month);
.....................................}
6.其他部分函数功能
voidlist(MYBILLt[],intn)//输出
voidrewrite(MYBILLt[],intn)//根据查找月份,修改信息
intadd(MYBILLt[],intn)//添加信息
intload(MYBILLt[])//读取文件
voidcopy()//另生成新文件
7.程序流程图
开始
列出一个操作目录,选择要操作的编号
1
5
4
3
2
退出系统
信息浏览及排序
文
件
操
作
信
息
更
改
查
询
输
入
结束
列出操作目录
选择要操作编号
三命令行界面代码
#include"
stdio.h"
#include"
stdlib.h"
#include<
string.h>
conio.h"
typedefstruct
{
charmonth[10];
charspxf[5];
charsdfy[5];
charylfy[5];
charcxfy[5];
charfzfy[5];
charznjy[5];
charsrfy[20];
}MYBILL;
printf("
月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n"
----------------------------------------------------------------------------\n"
temp.month,temp.spxf,temp.fzfy,temp.znjy,
temp.sdfy,temp.ylfy,temp.cxfy,temp.srfy);
//输入信息
inti,n;
doublef;
system("
cls"
请确定您要输入几个月的账单:
"
scanf("
%d"
&
n);
if(n>
0)
{
printf("
请输入您的个人账单信息:
\n"
\n月份食品消费房租费用子女费用水电费用医疗费用储蓄费用\n"
--------------------------------------------------------------------------------\n"
{
scanf("
f=atof(t[i].spxf)+atof(t[i].fzfy)+atof(t[i].znjy)+atof(t[i].sdfy)+atof(t[i].ylfy)+atof(t[i].cxfy);
printf("
}
信息录入成功!
"
returnn;
}
if(n<
=0)printf("
对不起,您输入的月数不正确!