欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > DOC文档下载  

    家庭支出管理系统的程序设计.doc

    • 资源ID:108896       资源大小:125KB        全文页数:18页
    • 资源格式: DOC        下载积分:6积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

    账号:
    密码:
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源(1积分=1元)下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    家庭支出管理系统的程序设计.doc

    -家庭支出管理系统一、课程内容和要求内容:该系统要求对一个家庭某月的支出情况进行统计和分析。通过此课题,熟练掌握数组、指针的各种操作,以及一些算法思想的应用。要求:(1)支出信息包括:支出类型(主要可以分为饮食,服饰装扮,礼金,教育培训,电器,健身,通讯,子女培养,旅游,文化娱乐,医疗,交通,聚会,居住等小项),金额,消费地点,消费时间等。(2)需要实现的功能1)用户根据口令进入系统2)输入某一月份,完成该月份的支出管理3)输入并统计该月的支出情况4)显示该月支出信息表,内容应包括日期,金额等5)按支出类型进行分类统计和排序6)进行本月消费分析,即分析每项支出所占总支出的百分比,并显示分析结果7)显示按支出类型排序后的支出信息8)将排序后的内容存为文件。(3)界面友好,输入信息符合逻辑如存款金额不为负数、不可能有非数字的字符等。(4)数据结构和函数自行定义,要求清晰明确。二、需求分析结构体定义:用结构体来定义所要的消费信息的种类(消费类型,消费金额,消费地点,消费时间)。菜单函数intmenu_select():显示该系统所拥有的功能,并利于用户选择自己所需要实现的功能。密码函数voidpassword():验证用户所输入的密码是否正确,并且根据用户意愿修改密码,从而进入系统。输入密码时密码要用*表示。输入函数intInputitems(familysum,intn):输入用户所要的消费情况。求总金额函数voidGetsum(familysum,intn):实现简单的求和功能,计算出用户所输入的消费的总金额。输出函数voidShowitems(familysum,intn):输出用户所输入的信息。-排序函数voidpaixu(familysum,intn):对用户所输入的消费情况进行归类,并对同种类型的金额进行从小到大排序。分析函数voidAnalyseitems(familysum,intn):对用户所输入的消费情况中的同种类型进行叠加,计算各类型金额占总金额的百分比,通过它们各类型金额所占的百分比来直观显示哪种类型比较重要。保存函数voidsave(familysum,intn):保存用户所要保存的消费信息进入文件。主函数voidmain():通过该函数调用上述各函数,从而实现该系统的管理功能。三、概要设计程序框架:开始先编写一菜单函数来显示该系统所能实现的功能,让用户了解并使用该系统所拥有的管理功能,并且编辑密码函数来实现根据用户指令进入管理系统;之后通过主函数来调用菜单函数menu_select,密码函数password,求总金额函数Getsum,输入函数Inputitems,输出函数Showitems,排序函数paixu,分析函数Analyseitems,保存函数save,从而来实现该系统的管理功能。而添加数据的功能是采用调用输入函数Inputitems来实现的。定义结构体:定义消费的类型,声明各结构成员的变量含义typedefstruct/定义结构体chartype20;/消费类型floatGetsum;/消费金额charplace20;/消费地点inttime;/消费时间主菜单月份菜单密码验证及修改退出系统输入总和输出排序分析保存退出-family;菜单函数:通过getchar语句来读入所要实现的功能序号,从而进入相应的函数模块。密码函数:通过文件指针应用,用scanf语句来读取用户所输入的密码,并与文件中所保存的密码相比较,看是否能够进入管理系统,并通过指针的应用来修改密码。输入函数:通过scanf语句逐项输入消费的信息(类型,金额,地点,时间),输入完毕后,跳回管理菜单重新选择。求总函数:通过for循环来实现消费金额Getsum的叠加,从而求出所输入的消费情况的总金额getsum。输出函数:应用for循环来逐项输出消费情况。排序函数:用for双循环来对消费情况进行归类以及对同种类型的金额运用选择排序法从小到大排序,并对文件指针*fp的应用来使排序之后的消费信息存入文件。分析函数:通过对排序函数的调用,来使消费信息进行归类,通过for双循环来计算出各类型的金额sum1,并求出各类型的花费占总金额的百分比a。保存函数:应用文件指针*fp来将消费信息存入文件。主函数:通过switch语句和case语句来调用各函数,从而实现各函数的功能。四、源程序代码#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<string.h>#include<conio.h>#include<malloc.h>#include<windows.h>typedefstruct/定义结构体chartype20;/消费类型floatGetsum;/消费金额charplace20;/消费地点inttime;/消费时间family;familyfam80;intmenu_select()/显示该系统所具备的功能charc;dosystem("cls");/清屏printf("tt*n");-printf("tt*菜单系统*n");printf("tt|1.输入消费信息|n");printf("tt|2.计算消费总和|n");printf("tt|3.显示消费情况|n");printf("tt|4.对同种类型消费进行排序并显示|n");printf("tt|5.消费情况分析|n");printf("tt|6.添加消费信息|n");printf("tt|7.保存数据|n");printf("tt|0.退出系统|n");printf("tt*n");printf("tt*n");printf("ttt请对应选择所需选项(0-7):");c=getchar();while(c<0|c>7);return(c-0);voidpassword()/密码验证或密码修改intm;printf("tt*n");printf("tt*n");printf("tt*tt1.密码修改*n");printf("tt*tt2.登陆*n");printf("tt*n");printf("tt*n");printf("ttt请输入您所要的选项(1,2):");scanf("%d",&m);getchar();switch(m)case1:/密码修改inti,j;chara7,b7,c7,d7;FILE*fp1;FILE*fp2;fp1=fopen("D:密码.txt","r");if(!fp1)printf("filecannotbeopened");exit(1);for(i=0;!feof(fp1);i+)ai=fgetc(fp1);-fclose(fp1);printf("ttt请输入原密码:");for(j=0;j<7;j+)scanf("%c",b+j);if(bj>=0&&bj<=9|bj>=a&&bj<=z|bj>=A&&bj<=Z)putchar(*);if(a0=b0&&a1=b1&&a2=b2&&a3=b3&&a4=b4&&a5=b5)doprintf("ttt请设置您的新密码:");for(j=0;j<7;j+)scanf("%c",c+j);if(cj>=0&&cj<=9|cj>=a&&cj<=z|cj>=A&&cj<=Z)putchar(*);printf("ttt请确认您的新密码:");for(j=0;j<7;j+)scanf("%c",d+j);if(dj>=0&&dj<=9|dj>=a&&dj<=z|dj>=A&&dj<=Z)putchar(*);while(!(c0=d0&&c1=d1&&c2=d2&&c3=d3&&c4=d4&&c5=d5);fp2=fopen("D:密码.txt","w+");if(!fp2)printf("thefilecannotbeopened!");exit(1);i=0;while(i<6)fprintf(fp2,"%c",ci);i+;fclose(fp2);printf("ttt密码修改成功!n");elseprintf("ttt密码错误n");exit(0);-case2:/密码验证chare7,f7;intn=0;inti,j;FILE*fp1;fp1=fopen("D:密码.txt","r");if(!fp1)printf("thefilecannotbeopened!");exit(1);for(i=0;!feof(fp1);i+)ei=fgetc(fp1);fclose(fp1);doprintf("ttt请输入六位数密码:");for(j=0;j<7;j+)scanf("%c",f+j);if(fj>=0&&fj<=9|fj>=a&&fj<=z|fj>=A&&fj<=Z)putchar(*);if(!(e0=f0&&e1=f1&&e2=f2&&e3=f3&&e4=f4&&e5=f5)printf("n密码错误!请重新输入:n");n+;if(n>3)printf("errorn");exit(0);while(!(e0=f0&&e1=f1&&e2=f2&&e3=f3&&e4=f4&&e5=f5);printf("nttt欢迎使用!n");intInputitems(familysum,intn)/输入消费信息inti=0;charsign=y,x10;-while(sign!=n&&sign!=N)printf("ttt种类:");scanf("ttt%s",sumn+i.type);printf("ttt支出(大于0):");scanf("ttt%f",&sumn+i.Getsum);printf("ttt地点:");scanf("ttt%s",sumn+i.place);printf("ttt时间(0-31):");scanf("ttt%d",&sumn+i.time);if(sumn+i.time<1|sumn+i.time>31)returnfalse;gets(x);printf("ttt需要再次输入吗?(y/n)");scanf("ttt%c",&sign);i+;return(n+i);voidGetsum(familysum,intn)/计算消费总金额floatgetsum=0;inti=0;for(i=0;i<n;i+)getsum+=sumi.Getsum;printf("ttt%fn",getsum);voidShowitems(familysum,intn)/输出所输入的消费信息inti;printf("ttt-n");printf("ttt种类支出地点时间n");printf("ttt-n");for(i=1;i<n+1;i+)printf("ttt%-8s%-12f%-8s%-10dn",sumi-1.type,sumi-1.Getsum,sumi-1.place,sumi-1.time);if(i>1&&i%10=0)printf("ttt-n");printf("ttt");system("pause");printf("ttt-n");

    注意事项

    本文(家庭支出管理系统的程序设计.doc)为本站会员(l****)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!