




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、家庭支出管理系统一、课程内容和要求内容:该系统需要对一个家庭每月的支出情况进行统计分析。通过本主题,您可以熟练地操作数组、指针的各种操作以及一些算法思想的应用。要求:(1)支出信息包括:支出类型(主要分为饮食、服装装扮、礼金、教育训练、电、健身、通讯、子女训练、旅游、文化娱乐、医疗、交通、派对、居住等)金额、消费场所、消费时间等。(2)需要实施的功能1)用户根据密码进入系统2)输入月份以完成该月份的支出管理3)输入并统计当月的支出4)显示当月的支出信息表。内容必须包含日期、金额等5)按支出类型统计和排序进行本月消费分析。也就是说,分析每个支出占总支出的百分比,并显示分析结果7)显示按支出类型排
2、序的支出信息8)将排序后的内容保存到文件。(3)界面友好,输入信息符合存款金额不能为负或有非数字文字等逻辑。(4)数据结构和函数本身定义,必须清晰明确。二、需求分析定义结构:使用结构定义所需的冲减信息类型:冲减类型、冲减金额、冲减地点和冲减时间。菜单函数int menu_select():显示系统具有的功能,您可以选择所需的功能。密码函数void password():验证用户输入的密码是否正确,并根据用户的喜好修改密码以验证用户是否进入系统。输入密码时,密码显示为“*”。Int输入函数int Inputitems(family sum,int n):输入用户所需的冲减。总金额函数void G
3、etsum(family sum,int n):导入计算使用者输入之冲销总金额的简单总计功能。输出函数void Showitems(family sum,int n):输出用户输入的信息。排序函数void paixu(family sum,int n):对用户输入的冲减进行分类,并对相同类型的金额进行小规模排序。分析函数void analyse items (family sum ,int n):在用户输入的冲减中嵌套相同的类型,以计算每种类型金额占总额的百分比,并通过每种类型金额的百分比直观显示哪些类型更为重要。保存函数void(family sum,int n):将用户要保存的消费信息保存
4、到文件中。主函数void main():此函数调用上述函数以实现该系统的管理功能。三、概要设计计划框架:主菜单月菜单验证和修改密码关闭系统输入并集输出排序分析保存退场首先,编写显示系统可以执行的功能的菜单函数,使用户能够理解和使用该系统具有的管理功能,并根据用户指示编辑密码函数以进入管理系统。然后通过主函数将菜单函数menu_select、密码函数password、总额函数Getsum、输入函数Inputitems、输出函数Showitems、排序函数paixu、分析函数Analyseitems、函数save可以通过调用输入函数Inputitems添加数据。定义结构:定义消费类型并声明每个结构
5、成员的变量含义Typedef struct /结构定义char type20;/消费者类型Float Getsum/消费者金额char place20;/消费区Int time/消耗时间系列;菜单函数:读取要通过getchar语句实现的功能序列号,然后进入相应的函数模块。密码函数:作为文件指针应用,使用scanf语句读取用户输入的密码,并将其与存储在文件中的密码进行比较,以确定是否可以通过进入管理系统和应用指针的方式修改密码。输入函数:按要素输入通过scanf语句消耗的信息(类型、金额、地点、时间),完成录入后,返回至“维护”菜单并重新选择。查找合计函数:通过for循环嵌套冲减金额getsum
6、,以获取输入的冲减情况的合计金额Getsum。输出函数:应用for循环以逐项输出冲减。排序函数:使用for双重循环对冲减情况进行分类,使用相同类型金额的选择排序方法从小到大进行排序,然后应用文件指针*fp将排序后冲减信息存储在文件中。分析函数:通过调用排序函数对冲减信息进行分类,使用for双重循环计算每个金额类型sum1,然后得出每个类型总成本的百分比a。储存函数:套用档案指标*fp,以将冲销资讯储存至档案。主函数:通过switch语句和case语句调用函数来实现每个函数的功能。四、源代码#include#include#include#include#include#include#incl
7、udeTypedef struct /结构定义char type20;/消费者类型Float Getsum/消费者金额char place20;/消费区Int time/消耗时间系列;族群fam80;Int menu_select()/显示该系统具有的功能char c;东北system( cls );/清除屏幕printf( t t * * * * * * * * * * * * * * * * * * * * * * * * * n );Printf(tt*功能表系统* * * * * * * * * * * n );Printf(tt|1 .输入消费者信息| n );Printf(tt|2
8、 .消耗总计计算| 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( t t * * * * * * * * * * * * * * * * * * * * * * * * * n );printf( t t * * * * * * * * * * * * * * * * * * * * * * * * * n );printf( t
9、 t t t与所需选项(0-7): 选择相对应。);c=getchar(); while(c0 | | C7);return(c-0);Void密码()/密码验证或修改密码int m;printf( t t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *printf( t t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Printf(tt*tt1 .修改密码* * n );Printf(tt*tt2 .
10、登录* * n );printf( t t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *printf( t t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Printf(ttt输入所需选项(1,2):;scanf(“% d”,m);getchar();交换机(m)修改case 13360/密码Int i、j;Char a7、b7、c7、d7;FILE * fp1FILE * fp2Fp1=fopen(
11、D:密码)。txt 、 r );If(!Fp1)printf( file cannot be opened );exit(1);for(I=0);feof(fp1);I)aI=fgfetc(fp1);f close(fp1);Printf(ttt输入原始密码:);for(j=0);j7;j)scanf(“% c”,b j);if(bj=0bj=9 | | bj=abj=z | | bj=abj=z)put char(*);if(a0=b0a1=b1a2=b2a3=b3)东北printf(“ t t t t新密码:”)for(j=0);j7;j)scanf(“% c”,c j);if(cj=0c
12、j=9 | | cj=ACj=z | | cj=ACj=z)put char(*);请检查printf(“ t t t新密码:”)for(j=0);j7;j)scanf(“% c”,d j);if(dj=0dj=9 | | dj=adj=z | | dj=adj=z)put char(*);while(!(c0=d0c1=d1c2=d2c3=d3cFp2=fopen(D:密码)。txt , w );If(!Fp2)Printf(the file cannot be opened!);exit(1);I=0;While (i6)Fprintf(fp2,“%c”,cI);I;f close(fp2
13、);Printf(ttt密码修改成功! n );Elseprintf(“ t t t t密码无效 n”);exit(0);case 23360/确认密码Char e7、f7;int n=0;Int i、j;FILE * fp1Fp1=fopen(D:密码)。txt 、 r );If(!Fp1)Printf(the file cannot be opened!);exit(1);for(I=0);feof(fp1);I) eI=fgfetc(fp1);f close(fp1);东北Printf(ttt输入6位密码:);for(j=0);j7;j) scanf(“% c”,f j);if(fj=0
14、fj=9 | | fj=afj=z | | fj=afj=z)put char(*);If(!(e0=f0e1=f1e2=f2e3=f3eprintf(“ n密码无效!请重新输入: n );n;If (n3)printf( error n );exit(0);while(!(e0=f0e1=f1e2=f2e3=f3ePrintf(nttt开始! n );Int input items (family sum ,int n)/输入冲减信息int I=0;Char sign=y,x10;While(sign!=nsign!=N)Printf(ttt类型: );scanf(“ t t t % s”,sumn i)。type);Printf(ttt成本(大于0): );Scanf ( t t t% f ,sum n I)。getsum);printf(“ t t t站点:”);scanf(“ t t t % s”,sumn i)。place);Printf(ttt时间(0-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全生产心理学导论
- 2024年池州东至县总医院招聘专业技术人员考试真题
- 2025至2030年累计数器项目投资价值分析报告
- 餐饮行业运营与管理
- 2025至2030年直角单阀双出口室内消火栓项目投资价值分析报告
- 人力资源培训课件之员工招聘与选拔
- 人员定位系统是由什么构成
- 门诊留观病人心理护理
- 2025至2030年汽车电动助力转向器项目投资价值分析报告
- 2025至2030年标准乒乓球台项目投资价值分析报告
- 10月自考外国文学史(00540)试题及答案解析与评分标准
- 预防性侵害和性骚扰
- 肛管癌的护理查房
- 急诊科护士的急救护理的评估与改进方法
- 妊娠期肝病课件
- 老年衰弱护理课件
- 中建工期施工进度计划管理专项培训
- 以舞育人:舞蹈教学的德育功能及其实现
- 植物标本的采集和制作
- 愚公移山英文 -中国故事英文版课件
- 酒店住宿水单模板1
评论
0/150
提交评论