首页 C语言程序的设计个人财务管理系统方案

C语言程序的设计个人财务管理系统方案

举报
开通vip

C语言程序的设计个人财务管理系统方案程序设计工程训练报告C语言程序设计个人财务管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1.需求分析.................................................................................................................12系统总框图和功能模块说明...........................................................

C语言程序的设计个人财务管理系统方案
程序设计工程训练报告C语言程序设计个人财务管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1.需求分析.................................................................................................................12系统总框图和功能模块说明.........................................................................................12.1系统总框图........................................................................................................12.2功能模块说明.....................................................................................................13系统设计..................................................................................................................33.1主要结构体........................................................................................................33.2主要功能函数.....................................................................................................34系统调试..................................................................................................................34.1、程序开始执行时系统的所显示的页面:................................................................34.2、选择退出系统:................................................................................................34.3、选择登陆,并且输入的帐号和密码都正确:..........................................................44.4、用户输入的帐号不正确:...................................................................................44.5、用户输入的帐号正确,密码不正确:....................................................................44.6、用户进行具体操作:.........................................................................................55总结........................................................................................................................66源程序清单..............................................................................................................61.需求分析编写一个个人财政支出管理系统,主要解决的问MATCH_ word word文档格式规范word作业纸小票打印word模板word简历模板免费word简历 _1714144121696_1是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 。同时也要求系统能够对不同的用户的身份进行查找和验证。在验证通过之后,在对其进行用户所要求的操作。作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。除此之外,还必须有足够大的空间来存储新的记录。所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。2系统总框图和功能模块说明2.1系统总框图个人财务管理系统输比修查输入对改询出个个账账账人人户户户信信资信清息息料息单2.2功能模块说明(1)old_record():此函数由系统自行调用,作用是将所有用户信息存入系统。(2)voidsave():此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。(3)load():此函数的作用是将结构体数组中写入文件的信息读出,由系统调用。(4)lookup_accounts():此函数的作用是将用户输入的帐号与系统中的所有帐号进行对比,查看系统中是否有此帐号。(5)check_code():此函数是作用是在系统查询到了帐号之后,对用户输入的帐号和密码进行检验,看是否相对应。(6)print_message():此函数的功能是在系统检查了用户输入的帐号和密码之后,如果用户通过了系统的检查,在此显示用户可见的基本信息。(7)find_record():此函数的作用是根据用户输入的日期进行查找操作。(8)insert_record():此函数的功能是在记录中增加一条新的记录,这个记录由用户输入。(9)del_record():此函数的功能是根据用户的输入的位置,将相应位置的记录删除。(10)sum_num():此函数的功能是计算所有收入和支出的总和,计算全部的收入的总合,计算全部输出的总合。(11)打印输出记录的函数:在本程序中一共有三个打印输出记录的函数,分别为all_print()、acc_print()、pay_print()这三个函数。它们的功能依次是打印输出全部记录,打印输出输入记录,打印输出支出记录。(12)mian():在主函数中,可以根据用户的选择来操作系统允许用户使用的功能,也可以随时退出这个系统。3系统设计3.1主要结构体个人信息账户信息3.2主要功能函数old_record()//将所有用户信息存入系统print_message()//显示用户可见的基本信息sum_num()//计算所有收入和支出的总和all_print()、acc_print()、pay_print()//打印输出全部记录,打印输出输入记录,打印输出支出记录4系统调试4.1、程序开始执行时系统的所显示的页面:4.2、选择退出系统:4.3、选择登陆,并且输入的帐号和密码都正确:4.4、用户输入的帐号不正确:4.5、用户输入的帐号正确,密码不正确:4.6、用户进行具体操作:5总结本程序在编写是,主要就是基于用户的角度去分析该如何设计此程序,和编写功能模块的。在编写程序时,所有的数据都是对结构体进行的操作,在此过程中,我发现了自己在对指针操作的时候,尤其是对指向结构体数组的指针和指向结构体的指针的操作都不够熟练。但在编写完此程序之后,我感觉自己对语法的应用有了明显的提高。6源程序清单#include#include#definenull0#definemax20#defineok1structrecord{chardate[20];charoperate[20];intnum;};structlist_record{characcount[20];charcode[20];charname[20];intrec_len;structrecordrec[max];}r[max];//系统原有数据,用户不可知intold_record(structlist_recordr[]){inti;for(i=0;i<3;i++)r[i].rec_len=4;strcpy(r[0].account,"1001");strcpy(r[1].account,"1002");strcpy(r[2].account,"1003");strcpy(r[0].code,"111111");strcpy(r[1].code,"222222");strcpy(r[2].code,"333333");strcpy(r[0].name,"wang");strcpy(r[1].name,"li");strcpy(r[2].name,"zhang");strcpy(r[0].rec[0].date,"07-01-01");strcpy(r[0].rec[1].date,"07-02-01");strcpy(r[0].rec[2].date,"07-03-01");strcpy(r[0].rec[3].date,"07-04-01");strcpy(r[1].rec[0].date,"07-01-02");strcpy(r[1].rec[1].date,"07-02-02");strcpy(r[1].rec[2].date,"07-03-02");strcpy(r[1].rec[3].date,"07-04-02");strcpy(r[2].rec[0].date,"07-01-03");strcpy(r[2].rec[1].date,"07-02-03");strcpy(r[2].rec[2].date,"07-03-03");strcpy(r[2].rec[3].date,"07-04-03");strcpy(r[0].rec[0].operate,"in");strcpy(r[0].rec[1].operate,"out");strcpy(r[0].rec[2].operate,"in");strcpy(r[0].rec[3].operate,"out");strcpy(r[1].rec[0].operate,"out");strcpy(r[1].rec[1].operate,"in");strcpy(r[1].rec[2].operate,"out");strcpy(r[1].rec[3].operate,"in");strcpy(r[2].rec[0].operate,"in");strcpy(r[2].rec[1].operate,"out");strcpy(r[2].rec[2].operate,"in");strcpy(r[2].rec[3].operate,"out");r[0].rec[0].num=3000;r[0].rec[1].num=-1500;r[0].rec[2].num=2500;r[0].rec[3].num=-1000;r[1].rec[0].num=-3000;r[1].rec[1].num=5000;r[1].rec[2].num=-1000;r[1].rec[2].num=2000;r[2].rec[0].num=1000;r[2].rec[1].num=-1500;r[2].rec[2].num=3000;r[2].rec[2].num=-500;returnok;}//将数据写入文件voidsave(){FILE*fp;inti;if((fp=fopen("wenjian","wb"))==null){printf("cannotopenthefile.\n");return;}for(i=0;iname);printf("帐号:%s\n",(*p).account);}//根据用户输入的日期,查找记录intfind_record(structlist_record*p,chard[]){inti;for(i=0;i<(*p).rec_len;i++){if(strcmp((*p).rec[i].date,d)==0){printf("dateoperatemoney\n");printf("%s",(*p).rec[i].date);printf("%s",(*p).rec[i].operate);printf("%d\n",(*p).rec[i].num);returnok;}}if(i==(*p).rec_len)printf("thedateisnotexit!\n");returnnull;}//插入函数,根据用户输入的信息,增加记录intinsert_record(structlist_record*p,structrecord*p1,intlop){inti;if((lop<1)||(lop>((*p).rec_len+1))){printf("thepositioniswrong.\n");return0;}else{for(i=(*p).rec_len;i>lop-1;i--){strcpy((*p).rec[i].date,(*p).rec[i-1].date);strcpy((*p).rec[i].operate,(*p).rec[i-1].operate);(*p).rec[i].num=(*p).rec[i-1].num;}strcpy(p->rec[i].date,p1->date);strcpy((*p).rec[i].operate,(*p1).operate);(*p).rec[i].num=(*p1).num;(*p).rec_len++;returnok;}}//删除记录函数intdel_record(structlist_record*p,intlop2){inti;if((lop2<1)||(lop2>(*p).rec_len)){printf("thepositioniswrong.\n");returnnull;}else{for(i=lop2-1;i<(*p).rec_len-1;i++){strcpy((*p).rec[i].date,(*p).rec[i+1].date);strcpy((*p).rec[i].operate,(*p).rec[i+1].operate);(*p).rec[i].num=(*p).rec[i+1].num;}(*p).rec_len--;returnok;}}//输出全部记录函数voidall_print(structlist_record*p){inti;printf("dateoperatenum\n");for(i=0;i<(*p).rec_len;i++){printf("%s",(*p).rec[i].date);printf("%s",(*p).rec[i].operate);printf("%d",(*p).rec[i].num);printf("\n");}}//计算总的钱数intsum_num(structlist_record*p){inti;intsum=0;intsum_in=0;intsum_out=0;for(i=0;i<(*p).rec_len;i++){sum+=(*p).rec[i].num;if((*p).rec[i].num>0)sum_in+=(*p).rec[i].num;if((*p).rec[i].num<0)sum_out+=(*p).rec[i].num;}printf("总金额为:%d\n",sum);printf("总收入为:%d\n",sum_in);printf("总支出为:%d\n",sum_out);returnok;}//输出收入记录intacc_print(structlist_record*p){inti;intsum_acc=0;printf("dateoperatenum\n");for(i=0;i<(*p).rec_len;i++)if((*p).rec[i].num>0){sum_acc+=(*p).rec[i].num;printf("%s",(*p).rec[i].date);printf("%s",(*p).rec[i].operate);printf("%d",(*p).rec[i].num);printf("\n");}printf("总收入金额为:%d\n",sum_acc);returnok;if(sum_acc==0)printf("thereisnoaccount.\n");returnnull;}//输出支出记录intpay_print(structlist_record*p){inti;intsum_pay=0;printf("dateoperatenum\n");for(i=0;irec_len;i++)if((*p).rec[i].num<0){sum_pay+=(*p).rec[i].num;printf("%s",(*p).rec[i].date);printf("%s",(*p).rec[i].operate);printf("%d",(*p).rec[i].num);printf("\n");}printf("总的支出为:%d\n",sum_pay);returnok;if(sum_pay==0)printf("thereisnopayout.\n");returnnull;}voidmain(){intj=0,n=0;intx,k,lop1,lop2;chardata1[20];characcou[20],cod[20];structrecord*p0;structrecorda;structlist_recordb;structlist_record*p;b.rec_len=0;p0=&a;old_record(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(j<3);scanf("%s",accou);if(lookup_accounts(r,accou)){printf("请输入密码:");//while(j<3);scanf("%s",cod);b=check_code(r,accou,cod);if(b.rec_len==0){do{b=check_code(r,accou,cod);//while(n>3)scanf("%s",cod);n++;}while(n<3);if(n=3)printf("您的密码不正确,请退出系统,谢谢使用,再见!\n");break;}else{printf("---------------请选择您要进行的操作-------------------\n");printf("||\n");//while(j<3);printf("|2、查找记录|\n");printf("|3、增加记录|\n");printf("|4、删除记录|\n");printf("|5、输出所有记录|\n");printf("|6、输出所有收入记录|\n");printf("|7、输出所有支出记录|\n");printf("||\n");printf("-----------------------------------------------------|\n");p=&b;print_message(p);do{scanf("%d",&k);//while(k>0)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");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(k>0);break;}}j++;}while(j<3);printf("感谢您使用本系统,再见!\n");}}(2)量化评分表请学生将下面成绩评定表复制到报告的最后一页(单独一页)。程序设计工程训练成绩评定 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 表明细项目评分等级(含系数)评分分值实际得分考勤A(1)B(0.8)C(0.5)D(0.0)10工程项目 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 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-1080-8970-7960-690-590该生成绩为:,指导老师(签名):评定日期:年月日
本文档为【C语言程序的设计个人财务管理系统方案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_597436
暂无简介~
格式:pdf
大小:549KB
软件:PDF阅读器
页数:28
分类:
上传时间:2020-09-18
浏览量:1