1、指导教师: 工作部门: 计算机学院 一、课程设计题目:二、课程设计内容个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。该系统采用了Windows XP操作系统结合Visual C+ 6.0,TC 2.0等软件开发,可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。三、进度安排1. 系统设计,确定函数功能及其实现过程;2. 根据前面的结果,编写程序清单,进行调试;3. 经过反复的编译,调试,测试,程序运行成功;4. 撰写课程设计报告,完成整个论文报告的工作,并打印;课题答辩。四、基
2、本要求1. 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2. 完成最低要求:建立一个文件,包括某人5个月的收支情况,能对文件中的信息进行扩充(追加),修改和删除;3. 进一步要求:完成对每月的开支排序,以及完成系统查询功能;4. 应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。 目录 一 概述3二 总体方案设计3 1整体设计思路3 2. 输入系统3 3排序系统44查询系统45删除系统46.其他部分函数功能5三 命令行界面代码6四 程序的调试与运行结果说明17五 课程设计总结20参考文献20数据结构 课程设计成绩评定表21 一 概述 该课程设计主要设
3、计个人账簿管理系统已记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女交用费用,水电费,医疗费,储蓄等。在课程设计中,用到了C语言以及数据结构中的相关知识,当然也有少数参考了其他人对某些问题的处理经验。对于进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况,可以对某月的开支进行删除操作。 二 总体方案设计1整体设计思路系统共分五个子系统:信息输入,信息浏览及排序,信息查询,信息更改,文件操作。在相应的系统内可完成相应的功能。各模块相对独立,每个模块用一个大型的函数来处理数据。主程序:1、信息输入 2、信息浏览及排序 3、信
4、息查询 4、信息更改 5、文件操作 0、退出管理系统2. 输入系统功能:输入数据,然后将数据写入文件。算法:int enter(MYBILL t) for(i=0;in;i+) scanf(%s%s%s%s%s%s%s,ti.month,ti.spxf,ti.fzfy,ti.znjy, ti.sdfy,ti.ylfy,ti.cxfy); f=atof(ti.spxf)+atof(ti.fzfy)+atof(ti.znjy)+atof(ti.sdfy)+atof(ti.ylfy)+atof(ti.cxfy); sprintf(ti.srfy,%.2f,f);void save(MYBILL t,
5、int n)for(i=0; fprintf(fp,%-8s%4s%13s%8s%7s%12s%8s%12s ti.sdfy,ti.ylfy,ti.srfy,ti.cxfy); fprintf(fp,rn);3排序系统1、按月份排序 2、按输入排序void monthsort(MYBILL t,int n) for(i=0; flag=0; for(j=0;j0) flag=1;temp=tj;tj=tj+1; tj+1=temp; if(flag=0)break; void srfysort(MYBILL t,int n) flag=0; for(j=0;j+)if(strcmp(tj.sr
6、fy,tj+1.srfy)0) flag=1; temp=tj; tj=tj+1;tj+1=temp; if(flag=0)break;4查询系统按月份循序查找,调用输出函数输出void monthsearch(MYBILL t,int n) for(i=0;+i) if(strcmp(s,ti.month)=0)mprint(ti); break;void mprint(MYBILL temp)printf(%8s%6s%10s%10s%10s%10s%10s%10sn,temp.month,temp.spxf,temp.fzfy,temp.znjy,temp.sdfy,temp.ylfy,
7、temp.cxfy,temp.srfy);5删除系统先是查找要删除的月份账单,然后对其删除,删除某月账单后,其他的月份依次 向前移动int delet(MYBILL t,int n)/删除信息 for(j=i+1;j+) strcpy(tj-1.month,tj.month); .6.其他部分函数功能void list(MYBILL t,int n)/输出void rewrite(MYBILL t,int n)/根据查找月份,修改信息int add(MYBILL t,int n)/添加信息int load(MYBILL t)/读取文件void copy()/另生成新文件 7.程序流程图 开始
8、列出一个操作目录,选择要操作的编号 15432 退出系统信息浏览及排序文件操作信息更改查询输入 结束列出操作目录选择要操作编号三 命令行界面代码 #include stdio.h#include stdlib.h#include conio.htypedef struct char month10; char spxf5; char sdfy5; char ylfy5; char cxfy5; char fzfy5; char znjy5; char srfy20;MYBILL; printf( 月份 食品消费 房租费用 子女费用 水电费用 医疗费用 储蓄费用 本月收入 n-n,temp.mo
9、nth,temp.spxf,temp.fzfy,temp.znjy, temp.sdfy,temp.ylfy,temp.cxfy,temp.srfy);/输入信息 int i,n; double f; system(cls请确定您要输入几个月的账单: scanf(%d,&n); if(n0) printf(请输入您的个人账单信息:nn 月份 食品消费 房租费用 子女费用 水电费用 医疗费用 储蓄费用 n-n scanf( f=atof(ti.spxf)+atof(ti.fzfy)+atof(ti.znjy)+atof(ti.sdfy)+atof(ti.ylfy)+atof(ti.cxfy); printf( 信息录入成功! return n; if(n=0) printf(对不起,您输入的月数不正确!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1