资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
目录一、系统开发的背景1二、系统分析与设计1(一)系统功能要求1(二)系统模块结构设计1三、系统的设计与实现3(一)学生收支录入:enter()3(二)学生收支查询:search()6(三)学生收支修改:revise ()9(四)学生收支总览:all()12(六)数据重置resetting()17(七)数据保存save()18(八)自动打开数据open()18四、系统测试19(一)测试main()函数19(二)测试enter()函数19(三)测试收支查询函数search()21(四)测试收支总览all()23(五)测试支出排名ranking()23(六)测试数据保存save()24(七)测试数据重置resetting()24五、总结25六、附件(代码、部分图表)25学生综合测评系统一、系统开发的背景为了能让学生更好的了解自己的收支情况,更好的控制开销。因此用C语言编写了这个学生个人开支系统。二、系统分析与设计(一) 系统功能要求可以录入学生某月的收入和支出情况,用户可以修改和查询某月收支情况,当录入结束,用户可以选择保存。1、 当月总收入为:当月收入加上月结余。2、 当月支出为包括伙食费、日常用品费、娱乐费、水电费、通讯费及车费和其他费用。3、 录入、查询、修改、总览、排名、重置、保存和退出8样功能。4、 本程序开始时能自动读取存档。修改后可以选择保存。(二) 系统模块结构设计通过对系统功能的分析,学生个人收支系统功能如图X所示。学生个人收支系统收支录入收支查询收支总览数据重置数据保存退出收支修改收支排名图1 学生个人收支功能图通过上图的功能分析,把整个系统划分为8个模块:1、 学生当月收支录入,借助函数enter()开始先。在函数enter()中,收入(收入外加上月结余)录入借助income(),支出(伙食费、娱乐费、生活用品费、水电费、通讯费及车费和其他费用)的录入借助pay()函数。2、 学生收支查询,借助函数search(),该模块主要实现,某月收支查询,用户输入月份即可查询出当月的收入、支出和结余明细。收入直接输出,而支出则调用函数search0(),结余则直接输出3、 学生收支修改,可以修改学生某月的收入和支出。借助函数revise()实现。在revise()函数中又借助inrevise()修改收入,payrevise()修改支出。4、 学生收支总览,借助函数all(),输出全年所有月份的收入、支出和结余。5、 学生收支排名,借助函数ranking(),该模块主要实现对月和年支出项目大小的排序。月支出排名借助ranking_0()函数,年排名借助ranking_1函数。6、 数据的重置借助函数resetting()来实现,将所有数据清零。该函数会在运行时提示用户输入“RESETTING”,如果输入正确则执行重置功能。如果错误则返回主函数。7、 保存功能借助函数save(),该模块实现了对当前用户数据的保存。8、 在程序开始时,借助函数open()自动读取数据。三、系统的设计与实现(一) 学生收支录入:enter()分析:首先提示用户输入月份,然后收入录入借助函数income(),支出录入借助函数pay()。最后自动计算结余。每录入一项询问用户是否正确。流程图如图2所示。yn输出上月结余输入本月收入输入本月支出开始month=0&month12|monthn);goto error_0;income(month);pay(month);void income(int month_0)char c;printf(nn *n);printf( %-2d月收入录入n,month_0);printf( *n);for(;)if(month_0!=1)printf( 上月结余:%5.1fn,IPmonth_0-2.e);printf( 本月收入:);scanf(%f,&IPmonth_0-1.alimoney);if(month_0=1)IPmonth_0-1.suma=IPmonth_0-1.alimoney;printf( %2d月全部收入为:%5.1f¥n,month_0,IPmonth_0-1.suma);if(month_0!=1)IPmonth_0-1.suma=IPmonth_0-2.e+IPmonth_0-1.alimoney;printf( %2d月全部收入为:%5.1f+%5.1f=%5.1f¥n,month_0,IPmonth_0-2.e,IPmonth_0-1.alimoney,IPmonth_0-1.suma);IPmonth_0-1.e=IPmonth_0-1.suma-IPmonth_0-1.sum;c=getchar();error:printf( 是否正确?(y/n) );scanf(%c,&c);if(c=y)printf(n 录入成功!nn);break;elseif(c=n)printf(n 重新输入!n 返回n);continue;elseprintf(n 输入有误n 返回nn);goto error;void pay(int month_0)char c;printf(nn *n);printf( %2d月支出录入n,month_0);printf( *n);for(;)printf( 伙食费:);scanf(%f,&IPmonth_0-1.board);printf( 日常用品费:);scanf(%f,&IPmonth_0-1.supplies);printf( 娱乐费:);scanf(%f,&IPmonth_0-1.amuserment);printf( 水电费:);scanf(%f,&IPmonth_0-1.elec);printf( 通讯费及车费:);scanf(%f,&IPmonth_0-1.comm);printf( 其他费用:);scanf(%f,&IPmonth_0-1.other);IPmonth_0-1.sum=IPmonth_0-1.board+IPmonth_0-1.supplies+IPmonth_0-1.amuserment+IPmonth_0-1.elec+IPmonth_0-1.comm+IPmonth_0-1.other;IPmonth_0-1.e=IPmonth_0-1.suma-IPmonth_0-1.sum;printf( %2d月全部支出为:%5.1f¥n,month_0,IPmonth_0-1.sum);c=getchar();error:printf( 是否正确?(y/n) );scanf(%c,&c);if(c=y)printf(n 录入成功!nn);break;elseif(c=n)printf(n 重新输入!n 返回
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号