1、此函数的功能是计算所有收入和支出的总和,计算全部的收入的总合,计算全部输出的总合。(11)打印输出记录的函数:在本程序中一共有三个打印输出记录的函数,分别为all_print( )、acc_print( )、pay_print( )这三个函数。它们的功能依次是打印输出全部记录,打印输出输入记录,打印输出支出记录。(12)mian( ):在主函数中,可以根据用户的选择来操作系统允许用户使用的功能,也可以随时退出这个系统。3系统设计3.1主要结构体个人信息账户信息3.2主要功能函数old_record( ) /将所有用户信息存入系统print_message( ) /显示用户可见的基本信息sum_
2、num( ) /计算所有收入和支出的总和all_print( )、acc_print( )、pay_print( ) /打印输出全部记录,打印输出输入记录,打印输出支出记录4系统调试4.1、程序开始执行时系统的所显示的页面:4.2、选择退出系统:4.3、选择登陆,并且输入的帐号和密码都正确:4.4、用户输入的帐号不正确:4.5、用户输入的帐号正确,密码不正确:4.6、用户进行具体操作:5总结本程序在编写是,主要就是基于用户的角度去分析该如何设计此程序,和编写功能模块的。在编写程序时,所有的数据都是对结构体进行的操作,在此过程中,我发现了自己在对指针操作的时候,尤其是对指向结构体数组的指针和指向
3、结构体的指针的操作都不够熟练。但在编写完此程序之后,我感觉自己对语法的应用有了明显的提高。6源程序清单#includestring.h#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 old_record( struct lis
4、t_record r) int i; for(i=0;iname);帐号:,(*p).account);/根据用户输入的日期,查找记录int find_record( struct list_record *p,char d)(*p).rec_len; if(strcmp(*p).reci.date,d)=0) printf(date operate moneyn%s ,(*p).reci.date);,(*p).reci.operate);%d n,(*p).reci.num); if(i=(*p).rec_len)the date is not exit!/插入函数,根据用户输入的信息,增
5、加记录int insert_record( struct list_record *p,struct record *p1,int lop) if(lop(*p).rec_len+1)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,(*p).reci-1.operate); (*p).reci.num=(*p).reci-1.num; strcpy(p-reci.date,p1-
6、date); strcpy(*p).reci.operate,(*p1).operate); (*p).reci.num=(*p1).num; (*p).rec_len+;/ 删除记录函数int del_record( struct list_record *p,int lop2) if(lop2(*p).rec_len) for(i=lop2-1;(*p).rec_len-1; strcpy(*p).reci.date,(*p).reci+1.date); strcpy(*p).reci.operate,(*p).reci+1.operate); (*p).reci.num=(*p).rec
7、i+1.num; (*p).rec_len-;/输出全部记录函数 void all_print( struct list_record *p) int i;date operate numn printf(%d /计算总的钱数int sum_num( struct list_record *p) int sum=0; int sum_in=0; int sum_out=0; sum+=(*p).reci.num; if(*p).reci.num0) sum_in+=(*p).reci.num; if(*p).reci.numrec_len; sum_pay+=(*p).reci.num;总的支
8、出为:,sum_pay); if(sum_pay=0)there is no payout.nvoid 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_record(r); save( ); load( ); 欢迎使用个人财政支出管理系统!-n| |n| 1、登陆系统 |n| 2、退出系统
9、 |n scanf(%d,&x); if(x=0) 感谢您使用本系统,再见! do请输入帐号: /while(j3) scanf( n+; while(n if(k=10)感谢您使用本系统,再见! if(k=2) 请输入您要查询的日期:,data1); find_record(p,data1); if(k=3) printf(请输入你要插入的位置: scanf(lop1);请输入您要添加的记录: printf(日期:,p0-操作:operate);金额:(p0-num); insert_record(p,p0,lop1); if(k=4)请输入您要删除的记录的位置: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(j(2)量化评分表请学生将下面成绩评定表复制到报告的最后一页(单独一页)。程序设计工程训练成绩评定标准表明细项目评分等级(含系数)评分分值实际得分
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1