1、个人帐簿管理系统设计数据结构计算机学院信管专业数据结构课程设计题 目: 个人帐簿管理系统设计 班 级: 姓 名: 学 号: 同组人姓名: 起 迄 日 期 课程设计地点: 指导教师: 评阅意见:成绩评定:评阅人: 日期:完成日期:2013年12月第一章 前言2第二章 系统功能分析21. 功能22. 要求23. 系统功能需求2第三章 总体设计31. 系统设计32. 分块设计3第四章 调试结果和测试分析91. 主界面102.录入数据103.查看数据114.修改数据115.查询数据116.排序数据127.删除数据12第五章 总结(心得体会)12第六章 参考文献13第七章 致谢14第八章 附录14第一章
2、 前言:程序设计过程有如解决一个实际问题,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;其次,从问题的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、指针、链表、命令、函数,然后确定处理过程算法。可得最后结果这次我们组要解决的实际问题是个人账簿管理系统的设计,我们将严格按照程序设计的过程来完成这一个课题的设计第二章 系统功能分析1. 功能:个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。进
3、入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。2. 要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5) 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。3. 系统功能需求分析1.文件操作功能:自动加载和保存数据文件。2.数据输入功能:可以按提示录入各项数据。3.数据修改功能:可以按提示修改各项数据。4.查询功能:可按月份、食品消费进行特定查询,及显示全部数据。5.排序功能:完成对每月开支的排序。6.删除功能:可以按提示删除一些数据。7.转码
4、功能:我们对文件用的是dat的形式,设计转码功能,将它转为txt形式。第三章 总体设计1. 系统分析按系统分析的功能要求将系统划分为以下几个主要功能模块: 结构图 2. 分块设计 1)主界面设计void menu(void) int item; int mon; Infor *a; a=(Infor *)malloc(sizeof(Infor); do printf(个人帐簿管理系统设计n); printf(1.录 入 数 据n); printf(2.查 看 数 据n); printf(3.修 改 数 据n); printf(4.查 询 数 据n); printf(5.排 序 数 据n); p
5、rintf(6.删 除 数 据n); printf(7.退 出 系 统n); printf(请输入要进行的操作: ); scanf(%d,&item); while(item6 | itemmonth,&newI-spxf,&newI-fzfy,&newI-znjy,&newI-sdfy,&newI-ylfy,&newI-cxfy,&newI-srfy); fflush(stdin); 3)修改功能设计void modify(Infor *a,int mon) FILE *fp1,*fp2; Infor *b; b=(Infor *)malloc(sizeof(Infor); fp1=fope
6、n(FilePath1,rt); fp2=fopen(,wt+); rewind(fp1); fread(b,sizeof(Infor),1,fp1); while (!feof(fp1) if(b-month=mon) fwrite(a,sizeof(Infor),1,fp2); else fwrite(b,sizeof(Infor),1,fp2); fread(b,sizeof(Infor),1,fp1); fclose(fp1); fclose(fp2); remove(FilePath1);o=i; px0.data=a-month; px1.data=a-spxf; px2.data
7、=a-fzfy; px3.data=a-znjy; px4.data=a-sdfy; px5.data=a-ylfy; px6.data=a-cxfy; px7.data=a-srfy; for(i=1;i8;i+) flag=0; for(j=0;jpxj+1.data) t=pxj.data; pxj.data=pxj+1.data; pxj+1.data=t; t=pxj.no; pxj.no=pxj+1.no; pxj+1.no=t; flag=1; if(flag=0) break; printf(n); for(i=0;i8;i+) printf( %s,strpxi.no); p
8、rintf(n- n); for(i=0;i8;i+) printf(%8d ,pxi.data); printf(n); 第四章 调试结果与测试分析1. 主界面2. 录入数据3. 查看数据4. 修改数据5. 查询数据6. 排序数据7. 删除数据第五章 总结(心得体会)在这次的课程设计,我发现了自己还有很多的不足,在数据结构操作方面还有很多的不会。还需要更加深入的学习。通过此次的课程设计,在大一语言学习的基础上,我较为深入的掌握了数据结构与算法的设计方法,具备了一定的独立分析和设计能力和初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。第六章 参考文献1. 严蔚敏 吴伟
9、民数据结构(C语言版)清华大学出版社 2007 2.催俊凯。计算机软件基础。机械工业出版社。3.唐发根。数据结构教程(第二版)。北京航空航天大学出版社。4.谭浩强。C程序设计(第三版)。清华大学出版社。20055.王宏生,宋继红。数据结构。北京:国防工业出版社,6.李建学,李光元,吴春芳。数据结构课程设计案例精编(用C/C+描述)。北京:清华大学出版社。第七章 致谢感谢队友的帮助,在我一些不懂的地方给予了我及时的帮助感谢席老师的辅导,在有些方面自己和同组人还有好多的不会,不过经过老师的辅导还是成功编写了出来第八章 附录源程序:#include #include #include #includ
10、e 入 数 据n); printf(2.查 看 数 据n); printf(3.修 改 数 据n); printf(4.查 询 数 据n); printf(5.排 序 数 据n); printf(6.删 除 数 据n); printf(7.退 出 系 统n); printf(请输入要进行的操作: ); scanf(%d,&item); while(item6 | itemmonth; px1.data=a-spxf; px2.data=a-fzfy; px3.data=a-znjy; px4.data=a-sdfy; px5.data=a-ylfy; px6.data=a-cxfy; px7.
11、data=a-srfy; for(i=1;i8;i+) flag=0; for(j=0;jpxj+1.data) t=pxj.data; pxj.data=pxj+1.data; pxj+1.data=t; t=pxj.no; pxj.no=pxj+1.no; pxj+1.no=t; flag=1; if(flag=0) break; printf(n); for(i=0;i8;i+) printf( %s,strpxi.no); printf(n- n); for(i=0;imonth=mon) fwrite(a,sizeof(Infor),1,fp2); else fwrite(b,siz
12、eof(Infor),1,fp2); fread(b,sizeof(Infor),1,fp1); fclose(fp1); fclose(fp2); remove(FilePath1);/删除源文件 rename(,FilePath1);/重命名中间文件 printf(修改数据成功!n ); changeFormat(); void delRecord(int mon) FILE *fp1,*fp2; Infor *b; b=(Infor *)malloc(sizeof(Infor); fp1=fopen(FilePath1,rt); fp2=fopen(,wt+); rewind(fp1); fread(b,sizeof(Infor),1,fp1); while (!feof(fp1) if(b-month!=mon) fwrite(b,sizeof(Infor),1,fp2); fread(b,sizeof(Infor),1,fp1); fclose(fp1); fclose(fp2); remove(FilePath1);/删除源文件 rename(,FilePath1);/重命名中间文件 printf(删除数据成功!n ); changeFormat();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1