




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计工程训报+C语言程序设计个人财务管理系统教务处制课程名称院(系)专业班级指导教师1、需求分析?错误!未定义书签。2系统总框图与功能模块说明2、1系统总框图.2、2功能模块说明3系统设计?昔误!未定义书签。C语言程序设计工程训练信息科学与技术学院错误!未定义书签。错误!未定义书签。错误!未定义书签。3、1主要结构体?昔误!未定义书签。3、2主要功能函数 错误!未定义书签。4系统调试?昔误!未定义书签。4、1、程序开始执行时系统得所显示得页面:?昔误!未定义书签。4、2、选择退出系统:4、3、选择登陆,并且输入得帐号与密码都正确:?昔误!未定义书签。4、4、用户输入得帐号不正确: 4、5、
2、用户输入得帐号正确,密码不正确:错误!未定义书签。错误!未定义书签。错误!未定义书签。4、6、用户进行具体操作:错误!未定义书签。5总结?错误!未定义书签。6源程序清单?昔误!未定义书签。1、需求分析编写一个个人财政支出管理系统,主要解决得问题就是作为一个系统而言,它所要 面对不只就是某一个人而言,而就是要面对很多得用户。那么想要解决这一问题,就必须要求这个系统能够存储许多用户得基本信息与记录。同时也要求系统能够对不同得 用户得身份进行查找与验证。在验证通过之后,在对其进行用户所要求得操作.作为一个财政支出系统,那么就要求对于用户关于金钱得每一项操作都要有相应得记录,同时并允许用户对于每一条整
3、体得记录进行操作,例如可以根据时间来查找某一确定日期就是否进行了收入或者支出得操作,也可以根据特定得需要来删除某一条整体得记录.但不允许对每条记录得单项数据进行更改,因为不管就是收入还就是支出,所涉及得金额都就是固定得,时间也就是固定得,所以系统不允许用户对其进行操 作。除此之外,还必须有足够大得空间来存储新得记录。所以此程序就就是基于这个 思想而编写出来得,基本满足了用户对于一个财政支出管理系统所要求得相关功能。2系统总框图与功能模块说明2、1系统总框图2、2功能模块说明(1)0 ld_reco rd ():此函数由系统自行调用,作用就是将所有用户信息存入系统.(2) V oid save
4、():此函数得作用就是将结构体数组中得信息写入文件存储,由系统调用.(3) load ():此函数得作用就是将结构体数组中写入文件得信息读出,由系统调用。(4)1 ookup_accounts():此函数得作用就是将用户输入得帐号与系统中得所有帐号进行对比,查瞧系统中就是否有此帐号。(5) ch ec k_code ():此函数就是作用就是在系统查询到了帐号之后,对用户输入得帐号与密码进行检验,瞧就是否相对应。(6)prin t _messcg e ():此函数得功能就是在系统检查了用户输入得帐号与密码之后,如果用户通过了系统得检查,在此显示用户可见得基本信息。(7) findr e cord
5、():此函数得作用就是根据用户输入得日期进行查找操作。(8)inser t _reco rd():此函数得功能就是在记录中增加一条新得记录,这个记录由用户输入。(9)d el_re c ord ():此函数得功能就是根据用户得输入得位置,将相应位置得记录删除。(10) su mnum ():此函数得功能就是计算所有收入与支出得总与 ,计算全部得收入得总合 ,计算全部输出得总合。11)打印输出记录得函数 :在本程序中一共有三个打印输出记录得函数 ,分别为 a1 l_p rint ( )、acc_print ( )、p ay_print ()这三个函数。它们得功能依次就是打印输出全部记录 ,打印输
6、出输入记录 ,打印输出支出记录。(1 2) mian():在主函数中,可以根据用户得选择来操作系统允许用户使用得功能也可以随时退出这个系统。3 系统设计3、1 主要结构体个人信息账户信息3、2主要功能函数o 1 d_reco rd ()/将所有用户信息存入系统prin t _mess age (/显示用户可见得基本信息sum_num()/计算所有收入与支出得总与/打印输出全部记allP r i nt ( )、acc_pr in t( )、pay _pnnt ()录,打印输出输入记录,打印输出支出记录4系统调试4、1、程序开始执行时系统得所显示得页面:4、2、选择退出系统:4、3、选择登陆,并且
7、输入得帐号与密码都正确:次迎使用个人财政支出S理糸蟒!1,聲陆基统0.退出系统胃预入帐号;leai择您要进行的操作2 3 4-567录爭 记记 吏出 记星 录录有有 记记记tsss 找加嗚出出 查生笔:wansf4、4、用尸输入得帐号不正确:Lie输新-B- 1W1W1IU-e J p 1 J 号在号在号在用少 nsl - 入不入不入不您3 .主旧堂月堡月-一如入见“ 新-C dill 克 _D 重少t4、5、用尸输入得帐号正确,密码不正确:Input inputagain! againliltfche code iscede10011 wponff,pieASS wpong-, pie as
8、:&codeinputinTISwr-ong, pieInputHSraxnfg飜翳I亀请魏M统,谢谢使用,再见I >ess any key to continue.4、6、用户进行具体操作:姓名:uan3w输入您要查询的日期* dateoperate07-01-01in3请输入你要插入的位置.i请B入您要添加的记录=日期:07-05-01金额】10005 date 07-05-0107-01-0107-02-01E 7-03-017-04-01总金希为: 总收入为二 总支出为=operateIn In out in out46006500 -250067-01-01nunlee
9、e-1500-1000靠输入您要删除的记录的位置:2507-05-0107-02-0107-03-0107-04-01总金额为:6date07-05-0107-03-01总收入金额为:7dateS 7-02-017-04-01ape tS-te in litin out 1000 3590 2500nun1093 150025 90 -1000ape i*ateinin35 00ape Bat eoutoutnun109025 BOnun -1500 -1000总的支出为:-毋盹感谢您使用本系统,Piregs Qny key tQ contringc再见!5总结本程序在编写就是,主要就就是基于
10、用户得角度去分析该如何设计此程序,与编写功能模块得。在编写程序时 ,所有得数据都就是对结构体进行得操作 ,在此过程中 ,我发现了自己在对指针操作得时候, 尤其就是对指向结构体数组得指针与指向结构体得指 针得操作都不够熟练 .但在编写完此程序之后, 我感觉自己对语法得应用有了明显得提 高。6源程序清单# i n c l u dev s tdio、h#in cludevst ri ng、h># defi ne nul 1 0#def i ne max 2 0de fine ok 1s truct record char d ate2 0;char operat e20 ;int n urn;
11、;struct li st_r ec ordchar account20;ch ar code20;ch a r nam e 2 0;int rec_len ;str uct rec ord rec max; r m ax;/系统原有数据 ,用户不可知ist_record r )int ol d _re co rd( stru c tnti;ori =0;iv 3;i+)? ri、rec_ len=4;t rcp y( r 0、account,"1001 ”);strcpy (r1 、 ac count,1002”;)s t r cpy ( r 2、a ccount, ” 1003&
12、quot;;st rcpy(r 0、 cod e, "1111 11 ” );strcpy (r 1、cod e,"2 2 222 2 ” );str c py (r2 、cod e,"33333 3 ""strcpy( r0、name,"wan g");str cpy(r 1 、 name , listrcpy (r 2、name ,” zhang” );s t rc py (r 0、rec 0 、d ate0701-01”;)strc py (r 0、r ec 1、d at e,”0 7-02 01" );st
13、 rc py (r0、re c 2、d ate,07-0301” );s trcpy (r 0、 rec3、d ate,” -07401strcpy(r 1、r ec 0、d ate,"0 7-0 1 - 0 2");strcpy(r1 、ec1、 date , ”70-0202");strcp y(r1、 rec 2、 dat e, ”7003 -02”;s trcpy(r 1、r ec 3、d ate, ” 07 04- 02");str cpy( r 2、 rec0 、 date, 07 -01 03 " );str cpy(r 2、 r
14、ec 1、 date, ” 0-702 03 ");st rcpy( r2、 rec2 、 date, ” 0703 03 );str cpy (r 2、r ec 3、dat e, ”0 7 0 4 03 ”);st rcpy(r0 、 rec 0、 op era te ,in ” ;strc py (r 0、rec 1、op era te, ”otu ”;strc py(r 0、r ec 2、o perat e,”1 卍);strcpy( r 0、r ec3、 oper ate,"out ”;)st rcpy( r1 、 rec0 、o perate, ”out"
15、; ;strcpy(r 1 、r ec 1 、 operat e, ” in;")s t r c py (r 1 、r ec 2、op erate, "o u t ” ;st rcpy( r1、 re c3、 operat e, "in);strcpy (r2 、 rec0、 operat e,in ”;)strc p y (r2、re cl、op erate, " o ut ”;)st r cpy( r2、r e c 2、oper at e," i n");s t r cp y (r 2、r ec3、op erate, "
16、out");r 0、rec 0、num =3000;r 0、rec 1、num= - 1 500;r 0、re c 2 、num = 2 5 00;r0、rec 3 、nu m= 1 0 0 0;r 1 、rec0、num = -3000;r 1、rec 1、num= 50 00;r1、 re c2、 num=-1000;r 1、re c 2 、nu m=2 00 0;r 2、r ec0、n um= 1 00 0 ;r 2、 rec1、 num =-150 0;r 2、 re c 2、 nu m=30 00;r2、 re c2、 nu m=-50 0;r e turn ok ;/将数
17、据写入文件V o id s a V e ()FILE *fp;int i;if(fp=fo p en(” wenjian ,wb”) =n ull)print f(”c an not o pe n the file、 n);retu rn;for(i=0 ; i< ma x;+)i f ( f w r i t e(&ri ,si z eof(struc t lis t _ r ecor d), 1 ,fp)! = 1)prin tf( ” oerr、 n );f c 1 ose (f p );/文件读出 v o i d Io a d() F IL E *fp ;i nt i ;i
18、f( fp=fopen( "wen jian ”, ”rb) = =null)pri n tf( ”acn not open inf il e、 n ");return;f o r (i = 0;i<max ;i + +)i f ( fr ead(& ri, s ize of (st rue t 1 ist reco rd) ,1,f p )! =1 )if( f eo f (fp)fc1 os e(fp) ;r etu r n ;fcIose(fp); /将用户输入得帐号与系统中原有帐号比较 ,查找用户帐号i n t l o ok up_a ccount s
19、 ( struct list_ re cord r,char acc)int i ;fo r(i =0;i3; i+)if(strcmp(r i、account,a cc) = 0 )retur n ok;p rin t f( ”帐号不存在 ,请重新输入! n”);retur n n ull ;/检查密码函数str uct lis t recor d ch eck_cod e (st rue t l i st_record r 口,ch ar acc ,c har c)struct list_record a ;s t rcp y (a、account, ” QT;st r cpy (a、c
20、ode, "0");a、 rec_len=0;for (i=0; ia、 rec _len;i+)s trcp y(a、 reci、 date,"0);str cpy (a、 reci 、 opera te,0”;a、rec i、n um = 0;for(i= 0 ;i 3; i+ +)i f( s t remp(ri、accoun t, a cc)= =0)if ( st rcmp( ri、co d e , c ) = = 0)return ri;printf (”hte co dei s w r on g, pl ea se i nput agai n! n”
21、);return a;/显示用户基本信息voi d pri n t_m e s s age( str u ct list_reco r d * p)printf ("姓名:% s n",p ->name);pri n tf(” 帐号:sn" ,(* p)、accou nt);/根据用户输入得日期,查找记录i n t find_ r ec o r d ( stru ct list r eco rd * p,c h a r d)nt i;for (i = 0; i(*p)、re c_l e n; i +)if (str cmp(p )、 rec i 、 da t
22、e,d)=0)r i n t f(" d ateoper atn”);print f( sreci 、 dat e);printf (”s,*p )、reci、op era t e);prin tf(d n,(*p)、re ci、 num);etur n ok;ifi=p)、 rec_len)int inse rt_recoprintf( ”tfh p o s i t i on iswron g、 n ;)retu rn0;printf("the d ate is n ot exit!n) ;retu rn null;/插入函数 ,根据用户输入得信息,增加记录rd( str
23、 uc t list _recor d p,st ruct re cord *p 1,intlop )int i ;if( lop <1)II (l o p> (*p)、rec_l en+1)else?fo r (i=(*p)、rec_len; i> l op 1 ;i -)s trcp y( (* p)、r ec i、da te, (*p )、re ci- 1、d ate);s t r cpy (伙 p)、r e ci、op er at e, (*p)、rec i 1 、ope r ate);(*p )、rec i、nu m=(*p )、 r eci-1 、num;st r
24、cp y (p >r eci、da te ,p 1 >da te);strc py (*p)、r e ci 、op er at e, (* p 1)、op erate);(* p)、 r eci、n um=(*p1)、 num;(* p)、 rec _len +;r e tu r n ok;/删除记录函数in t del_re cord( str uct list_r ecord* p,int lop2)?nt i ;f (lop 2<1)| | (lo p 2(*p )、reprin t f (" the po sit i on is wreturn nul 1
25、;e1seo r(i =lop2 1 ;i<(*p )、c_len)ong、 n”);rec_1 en 1; i+ )strcpy(* p)、reci 、 date,( *p )、reci+1 、 date) ;st r cp y ( (* p)、reci 、o perate,( *p) 、 reci +1 、o perate);(*p )、r e ci、num =(* p)、reci + 1、num;(* p)、r ec_len-;r etu rn ok;/输出全部记录函数vo i d a ll _ pri nt( str uctl is t_record * p)i nt i ;p
26、r in t f (” daper aten );f or( i=0;i V 严 P)、rec_len;i+) printf (" %sII(*p)、eci、 date) ;print f(” %sII*p)、reci 、 operate) ;prin tf("%dp)、 reci、n um);pri ntf( n”);?/计算总得钱数nt sum_num(s truc t list _rec ord *p)int i;int sum= 0 ;i n t sum_i n= 0;int su m_out =0;or( i=0; iV* p)、re jlen ;i +)sum+
27、=(*p)、ec i > num;if(*p)、 reci、num0 )s um_i n+=(* p)、 reci、num;f (严 p )、rec i 卜 nu mvO)sum_o u t+=( * p)、reci、num;pri ntf( "总金额为: % dn", su m);printf ("总收入为:% dn”,sum_in) ;printf (总支出为 : dn”,sum_outre turn o k;/输出收入记录int ac c_print ( st ruct listrecod *p)” n”);for(i=0 ;i<(*p)、rec
28、_len;i+)if(p )、reci、num0)um_acc +=(p)、r e c i、num;p r i ntf ("% s”,( p )、rec i、d at e);print f("%se r int f (”d,(p)、r eci、o per ate) ;II,(p)、rec i、num);pri n tf ("n");p ri nt f (”总收入金额为:% dn”,sum_acc);return o k;i f (sum_acc= 0)prin tf(" there i s n o accoun t、n");re t
29、u r n null;/输出支出记录i nt p ay_p ri n t( struct l is t_ r ecor d * p)i nt i ;int i;int sum_ac c=0;pri ntf( ” date op er atei n t s um_p ay = 0;prin t f ("da t eop eratenumn");fo r( i =0; i p->rec _len ;i+)if( (* p)、r ec i 、n um<0 )su m_ p ay+=*p) 、 re ci 、 num;p r i ntf(" %s,( *p)
30、、 reci、d ate);printf( ”s",(p)、 re ci 、 ope rate );print f( ”d” (, p)、 reci、 num);pri ntf("n" );pri n t f (” 总得支出为:% d n ”,sum pay);return o k;if( sum _pay=0)pr intf ("t her e is no payout、 n);return null;vod mai n( )nt j=0,n= 0;int x ,k, Iop1 , lo p2;ch ar data 120、;cha r accouC
31、20、,cod20;struct rec or d *p 0;struct record a;str uct lis t_re co rd b;st ruc t list_recordp;b、re c_le n=0;p0= a;ol d _record (r);sav e ();load( );printf(”欢迎使用个人财政支出管理系统!n ");f(”priII|n) ;1、登陆系统n”);Pr it f (” |2、退出系统nPrinf("|n) ;pr i ntf ("- n) ;sc anf("%d",& x);if (x =
32、 =0)pr intf(” 感谢您使用本系统,再见! n”);e 1 sedopr intf ("请输入帐号:");/w h ile (jv3 );sc an f(" % s ”,accou);if(lookup_accoun t s (r,acco u) pr i ntf( "请输入密码:/ w h i le(j<3);sc an f ("%s",cod);b=c hec k_cod e( r,accou, cod);if( b、r ej l e n= 0 )d ob=check_code( r,accou,c od);/w
33、h il e( n>3)scanf (”s" ,cod);?n+; while (nv 3);if(n=3)printf (”您得密码不正确 ,请退出系统,谢谢使用,再见! n”);break;el s e?printf("- -请选择您要进行得操作?print(”n ”;/w h ilej 3);|n");ntf(" I2、 查 找 记录print f ( "|I n ");3、 增加 记pr i ntf"|4、 删 除记 录p ri n t f ( ” |printf( ” In”);p ri n tf ( "|6、7、 输出所有 记录输出所有收入记输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年教育领域对微生物的要求试题及答案
- 项目管理中的外部合作与网络关系试题及答案
- 证券从业资格证考试专业见解试题及答案
- 项目团队协作中的有效机制试题及答案
- 2024年行政管理师考试考前冲刺试题及答案
- 2024年项目管理专业能力提升试题及答案
- 2025年审计法规遵循试题及答案
- 绿化种植施肥方案范本
- 风险与收益的平衡在2025年证券考试中的重要性试题及答案
- 玻璃生产与应用技术考核试卷
- 小区物业服务投标方案(技术标)
- 新高考II卷01(含听力)2024年高考英语一轮复习测试卷(考试版)
- 西游记阅读指导课评课
- 2024年郑州信息科技职业学院单招职业适应性测试题库学生专用
- 2023-2024学年安徽省合肥八中高一(下)期中数学试卷(含解析)
- CHT 9008.2-2010 基础地理信息数字成果1:500 1:1 000 1:2 000数字高程模型
- 测量学-第五版-配套课件
- 2024年-色彩混合空间混合
- 2024年演出经纪人考试必背1000题及完整答案【历年真题】
- 孕产妇建卡管理
- 公职人员打牌检讨书3000字
评论
0/150
提交评论