ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:108KB ,
资源ID:2466463      下载积分:4 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2466463.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(C语言程序设计个人财务管理系统.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言程序设计个人财务管理系统.doc

1、.程序设计工程训练报告C语言程序设计个人财务管理系统课程名称 C语言程序设计工程训练姓 名 院(系) 信息科学与技术学院专业班级 学 号 指导教师 教务处制目 录1.需求分析12系统总框图和功能模块说明12.1系统总框图12.2功能模块说明13系统设计23.1主要结构体23.2主要功能函数24系统调试34.1、程序开始执行时系统的所显示的页面:34.2、选择退出系统:34.3、选择登陆,并且输入的帐号和密码都正确:34.4、用户输入的帐号不正确:44.5、用户输入的帐号正确,密码不正确:44.6、用户进行具体操作:55总结66源程序清单6.1.需求分析编写一个个人财政支出管理系统,主要解决的问

2、题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。同时也要求系统能够对不同的用户的身份进行查找和验证。在验证通过之后,在对其进行用户所要求的操作。作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进

3、行操作。除此之外,还必须有足够大的空间来存储新的记录。所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。2系统总框图和功能模块说明2.1系统总框图个人财务管理系统输入个人信息比对个人信息修改账户资料查询账户信息输出账户清单2.2功能模块说明(1)old_record( ):此函数由系统自行调用,作用是将所有用户信息存入系统。(2)void save( ): 此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。(3)load( ):此函数的作用是将结构体数组中写入文件的信息读出,由系统调用。(4)lookup_accounts( ):此函数的

4、作用是将用户输入的帐号与系统中的所有帐号进行对比,查看系统中是否有此帐号。(5) check_code( ):此函数是作用是在系统查询到了帐号之后,对用户输入的帐号和密码进行检验,看是否相对应。(6)print_message( ):此函数的功能是在系统检查了用户输入的帐号和密码之后,如果用户通过了系统的检查,在此显示用户可见的基本信息。(7)find_record( ):此函数的作用是根据用户输入的日期进行查找操作。(8)insert_record( ):此函数的功能是在记录中增加一条新的记录,这个记录由用户输入。(9)del_record( ):此函数的功能是根据用户的输入的位置,将相应位

5、置的记录删除。(10)sum_num( ):此函数的功能是计算所有收入和支出的总和,计算全部的收入的总合,计算全部输出的总合。(11)打印输出记录的函数:在本程序中一共有三个打印输出记录的函数,分别为all_print( )、acc_print( )、pay_print( )这三个函数。它们的功能依次是打印输出全部记录,打印输出输入记录,打印输出支出记录。(12)mian( ):在主函数中,可以根据用户的选择来操作系统允许用户使用的功能,也可以随时退出这个系统。3系统设计3.1主要结构体个人信息账户信息3.2主要功能函数old_record( ) /将所有用户信息存入系统print_messa

6、ge( ) /显示用户可见的基本信息sum_num( ) /计算所有收入和支出的总和all_print( )、acc_print( )、pay_print( ) /打印输出全部记录,打印输出输入记录,打印输出支出记录4系统调试4.1、程序开始执行时系统的所显示的页面:4.2、选择退出系统:4.3、选择登陆,并且输入的帐号和密码都正确:4.4、用户输入的帐号不正确:4.5、用户输入的帐号正确,密码不正确:4.6、用户进行具体操作:5总结本程序在编写是,主要就是基于用户的角度去分析该如何设计此程序,和编写功能模块的。在编写程序时,所有的数据都是对结构体进行的操作,在此过程中,我发现了自己在对指针操

7、作的时候,尤其是对指向结构体数组的指针和指向结构体的指针的操作都不够熟练。但在编写完此程序之后,我感觉自己对语法的应用有了明显的提高。6源程序清单#include#include#define null 0#define max 20#define ok 1 struct record char date20; char operate20; int num; struct list_record char account20; char code20; char name20; int rec_len; struct record recmax;rmax; /系统原有数据,用户不可知int

8、old_record( struct list_record r) int i; for(i=0;i3;i+) ri.rec_len=4; strcpy(r0.account,1001); strcpy(r1.account,1002); strcpy(r2.account,1003); strcpy(r0.code,111111); strcpy(r1.code,222222); strcpy(r2.code,333333); strcpy(r0.name ,wang); strcpy(r1.name ,li); strcpy(r2.name ,zhang); strcpy(r0.rec0.

9、date,07-01-01); strcpy(r0.rec1.date,07-02-01); strcpy(r0.rec2.date,07-03-01); strcpy(r0.rec3.date,07-04-01); strcpy(r1.rec0.date,07-01-02); strcpy(r1.rec1.date,07-02-02); strcpy(r1.rec2.date,07-03-02); strcpy(r1.rec3.date,07-04-02); strcpy(r2.rec0.date,07-01-03); strcpy(r2.rec1.date,07-02-03); strcp

10、y(r2.rec2.date,07-03-03); strcpy(r2.rec3.date,07-04-03); strcpy(r0.rec0.operate,in); strcpy(r0.rec1.operate,out); strcpy(r0.rec2.operate,in); strcpy(r0.rec3.operate,out); strcpy(r1.rec0.operate,out); strcpy(r1.rec1.operate,in); strcpy(r1.rec2.operate,out); strcpy(r1.rec3.operate,in); strcpy(r2.rec0.

11、operate,in); strcpy(r2.rec1.operate,out); strcpy(r2.rec2.operate,in); strcpy(r2.rec3.operate,out); r0.rec0.num=3000; r0.rec1.num=-1500; r0.rec2.num=2500; r0.rec3.num=-1000; r1.rec0.num=-3000; r1.rec1.num=5000; r1.rec2.num=-1000; r1.rec2.num=2000; r2.rec0.num=1000; r2.rec1.num=-1500; r2.rec2.num=3000

12、; r2.rec2.num=-500; return ok;/将数据写入文件void save( )FILE *fp; int i; if(fp=fopen(wenjian,wb)=null) printf(can not open the file.n); return; for(i=0;imax;i+) if(fwrite(&ri,sizeof(struct list_record),1,fp)!=1) printf(file write error.n); fclose(fp);/文件读出void load( )FILE *fp; int i; if(fp=fopen(wenjian,r

13、b)=null) printf(can not open infile.n); return; for(i=0;imax;i+) if(fread(&ri,sizeof(struct list_record),1,fp)!=1) if(feof(fp) (fclose(fp); return; fclose(fp);/将用户输入的帐号与系统中原有帐号比较,查找用户帐号int lookup_accounts( struct list_record r,char acc) int i; for(i=0;i3;i+) if(strcmp(ri.account,acc)=0) return ok; p

14、rintf(帐号不存在,请重新输入!n); return null; /检查密码函数 struct list_record check_code(struct list_record r,char acc,char c) int i; struct list_record a; strcpy(a.account,0); strcpy(a.code,0); a.rec_len=0; for(i=0;ia.rec_len;i+) strcpy(a.reci.date,0); strcpy(a.reci.operate,0); a.reci.num=0; for(i=0;iname); printf

15、(帐号:%sn,(*p).account); /根据用户输入的日期,查找记录int find_record( struct list_record *p,char d) int i; for(i=0;i(*p).rec_len;i+) if(strcmp(*p).reci.date,d)=0) printf(date operate moneyn); printf(%s ,(*p).reci.date); printf(%s ,(*p).reci.operate); printf(%d n,(*p).reci.num); return ok; if(i=(*p).rec_len) printf

16、(the date is not exit!n); return null; /插入函数,根据用户输入的信息,增加记录int insert_record( struct list_record *p,struct record *p1,int lop) int i; if(lop(*p).rec_len+1) printf(the position is wrong.n); return 0; else for(i=(*p).rec_len;ilop-1;i-) strcpy(*p).reci.date,(*p).reci-1.date); strcpy(*p).reci.operate,(*

17、p).reci-1.operate); (*p).reci.num=(*p).reci-1.num; strcpy(p-reci.date,p1-date); strcpy(*p).reci.operate,(*p1).operate); (*p).reci.num=(*p1).num; (*p).rec_len+; return ok;/ 删除记录函数int del_record( struct list_record *p,int lop2) int i; if(lop2(*p).rec_len) printf(the position is wrong.n); return null;

18、else for(i=lop2-1;i(*p).rec_len-1;i+) strcpy(*p).reci.date,(*p).reci+1.date); strcpy(*p).reci.operate,(*p).reci+1.operate); (*p).reci.num=(*p).reci+1.num; (*p).rec_len-; return ok; /输出全部记录函数 void all_print( struct list_record *p) int i; printf(date operate numn); for(i=0;i(*p).rec_len;i+) printf(%s

19、,(*p).reci.date); printf(%s ,(*p).reci.operate); printf(%d ,(*p).reci.num); printf(n); /计算总的钱数int sum_num( struct list_record *p) int i; int sum=0; int sum_in=0; int sum_out=0; for(i=0;i0) sum_in+=(*p).reci.num; if(*p).reci.num0) sum_out+=(*p).reci.num; printf(总金额为: %dn,sum); printf(总收入为: %dn,sum_in

20、); printf(总支出为: %dn,sum_out); return ok;/输出收入记录int acc_print( struct list_record *p) int i; int sum_acc=0; printf(date operate numn); for(i=0;i0) sum_acc+=(*p).reci.num; printf(%s ,(*p).reci.date); printf(%s ,(*p).reci.operate);printf(%d ,(*p).reci.num); printf(n); printf(总收入金额为: %dn,sum_acc); retur

21、n ok; if(sum_acc=0) printf(there is no account.n); return null;/输出支出记录 int pay_print( struct list_record *p)int i; int sum_pay=0; printf(date operate numn); for(i=0;irec_len;i+) if(*p).reci.num0) sum_pay+=(*p).reci.num; printf(%s ,(*p).reci.date); printf(%s ,(*p).reci.operate);printf(%d ,(*p).reci.n

22、um); printf(n); printf(总的支出为: %dn,sum_pay); return ok; if(sum_pay=0) printf(there is no payout.n); return null; void main( ) int j=0,n=0; int x,k,lop1,lop2; char data120; char accou20,cod20; struct record *p0; struct record a; struct list_record b; struct list_record *p; b.rec_len=0; p0=&a; old_reco

23、rd(r); save( ); load( ); printf( 欢迎使用个人财政支出管理系统!n); printf(-n); printf(| |n); printf(| 1、登陆系统 |n); printf(| 2、退出系统 |n); printf(| |n); printf(-n); scanf(%d,&x); if(x=0) printf( 感谢您使用本系统,再见!n); else do printf(请输入帐号:); /while(j3); scanf(%s,accou); if(lookup_accounts(r,accou) printf(请输入密码:); /while(j3)

24、scanf(%s,cod); n+; while(n3); if(n=3) printf(您的密码不正确,请退出系统,谢谢使用,再见!n); break; else printf(-请选择您要进行的操作-n); printf(| |n); /while(j0) if(k=10) printf(感谢您使用本系统,再见!n); if(k=2) printf(请输入您要查询的日期:); scanf(%s,data1); find_record(p,data1); if(k=3) printf(请输入你要插入的位置:n); scanf(%d,&lop1); printf(请输入您要添加的记录:n);

25、printf(日期:); scanf(%s,p0-date); printf(操作:); scanf(%s,p0-operate); printf(金额:); scanf(%d,&(p0-num); insert_record(p,p0,lop1); if(k=4) printf(请输入您要删除的记录的位置:n); scanf(%d,&lop2); del_record(p,lop2); if(k=5) all_print(p); sum_num(p); if(k=6) acc_print(p); if(k=7) pay_print(p); while(k0); break; j+;while

26、(j3); printf(感谢您使用本系统,再见!n); (2)量化评分表请学生将下面成绩评定表复制到报告的最后一页(单独一页)。程序设计工程训练成绩评定标准表明细项目评分等级(含系数)评分分值实际得分考勤A(1)B(0.8)C(0.5)D(0.0)10工程项目规范A(1)B(0.8)C(0.5)D(0.2)10工程训练报告A(1)B(0.8)C(0.5)D(0.2)30设计作品质量A(1)B(0.8)C(0.5)D(0.2)45材料收集情况A(1)B(0.8)C(0.5)D(0.2)5综合评分优90-100良80-89中70-79合格60-69不合格0-59该生成绩为: ,指导老师(签名): 评定日期: 年 月 日.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服