个人财务管理系统设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西安郵電大學软件设计报告§题目:个人财务管理系统院系名称:通信与信息工程学院专业名称:通信工程班级:班内序号:学生姓名:指导教师:时间:一、课程设计目的通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法;学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力;为后续各门计算机课程的学习打下坚实基础;为毕业设计和以后工作打下必要基础。二、课程设计内容独立完成一个小型的个人财务管理系统,各方面的功能要有一个初步的完善。1.了解课题,进行分析,设计内容,编写代码,完成编译修改和程序测试。2.该管理系统有一个登陆界面,界面有几个小版块,包括信息的输入输出,修改删除等功能,它们分别由一个主菜单控制,用户可进行选择。当然用户需要正确的密码才能进入系统。整个程序需要编程者运用所学知识自行独立完成。序号阶段名称具体内容要求1数据录入录入系统所需的数据用链表或结构体数组组织数据2数据存储数据读写将录入的数据存储,对数据进行读写操作用文件的形式将录入的数据存储,并进行读写操作3数据修改对数据进行更新操作可以进行新数据的插入,旧数据的修改操作4数据删除对数据进行删除操作根据具体题目将对应记录删除5数据查询按要求对数据进行查询含简单查询及组合查询6数据统计按要求对数据进行统计含简单统计及综合统计7数据排序按要求对数据进行排序含升序排序及降序排序8数据报表按要求对数据打印报表依规定的报表格式对数据打印报表9界面设计总体菜单界面简单菜单、下拉式或弹出式三、需求分析程序实现的功能:系统有一个登陆界面:用户1输入正确的密码,方可进入系统。2完成个人财务基本信息的录入和显示。3可按编号对财务信息进行查询。4用户可以看到所有财务信息5用户可添加、删除财务信息。6用户可对财务信息进行排序和统计。7利用文件指针对信息进行保存和读取。程序的目的:可供用户及时全面的了解自己的财务状况并合理理财。四、概要设计1.系统结构图(功能模块图)2.功能模块说明(1)用户进入登录界面,输入密码(最多可错三次),确认用户身份。(2)主函数模块:包括登陆界面,主菜单界面。(3)输入模块:输入个人基本财务信息。(4)输出模块:显示个人财务信息(编号、名称、单位、电话、价格等)。(5)添加模块:添加新的财务信息。(6)查找模块:按编号查找财务信息。(7)修改模块:按编号查找到要修改的财务信息,并对信息有选择的进行修改。(8)删除模块:按编号删除已存在的财务信息。(9)排序模块:按库存量对已存在的财务信息进行排序。(10)统计模块:统计已存在的财务信息的总库存量并输出。(11)保存信息模块:以文本文件的形式保存财务信息。(12)读取信息模块:从保存的文本文件中读取财务信息。五、详细设计及运行结果各模块流程图主函数模块:登陆界面添加信息显示信息查询信息修改信息删除信息信息排序统计信息保存信息退出系统菜单界面voidmain()判断密码cnt4录入信息判断选择添加信息显示信息查找信息修改信息删除信息信息排序统计信息保存信息退出系统开始输入密码是否cnt4cnt=4输入选择12.3456780输入模块结束{intchoice,i,n,cnt=1,flag=1;charcode[6];ADDRESSadr[M];/*定义结构体数组*/while(cnt4){printf(****************welcome********************\n);printf(*******************************************\n);printf(----------pleaseinputyourcode:----------\n);for(i=0;i4;i++){code[i]=getch();printf(*);}code[4]='\0';if(strcmp(code,1990)==0){getch();system(cls);n=read_file(adr);//调用读取函数if(n==0){printf(inputthebasicrecord!****\n);getch();n=input(adr);//调用输入函数}printf(pressanykeyentermenu......\n);/*提示压任意键继续*/getch();/*读入任意字符*/do{system(cls);/*清屏*/printf(*******************MENU******************\n\n);printf(~****1.Addrecord****~\n);printf(~****2.Listthefile****~\n);printf(~****3.Searchrecord****~\n);printf(~****4.modifyfecord****~\n);printf(~****5.deleterecord****~\n);printf(~****6.sortrecord****~\n);printf(~****7.countkucun****~\n);printf(~****8.saverecord****~\n);printf(~****0.Quit****~\n);printf(*****************************************\n);printf(\nEnteryouchoice(0~8):);scanf(%d,&choice);switch(choice){case1:n=append(adr,n);break;/*调用添加函数*/case2:output(adr,n);break;/*调用输出函数*/case3:inquire(adr,n);break;/*调用查找函数*/case4:modify(adr,n);break;/*调用修改函数*/case5:n=del(adr,n);break;/*调用删除函数*/case6:sort(adr,n);break;/*调用排行函数*/case7:count(adr,n);break;/*调用统计函数*/case8:save_file(adr,n);break;/*调用保存函数*/case0:break;/*退出系统*/}}while(choice!=0);cnt=4;}else{printf(\nyourcodeiswrong!\n\n\n);//密码输入有三次机会,若仍有错,跳出程序cnt++;}}}添加模块intappend(ADDRESSadr[],intn)//调用全局变量n{intflag,i=0,j,t;system(cls);/*清屏*/printf(\ninputtheaccountofaddingrecord:);scanf(%d,&t);do{flag=1;while(flag){flag=0;printf(num:\n);scanf(%d,&adr[n+i].num);for(j=0;jn;j++){if(adr[n+i].num==adr[j].num){printf(\nrherecordisexit!\n);flag=1;break;}}}printf(name:\n);scanf(%s,adr[n+i].name);printf(unit:\n);scanf(%s,adr[n+i].units);printf(telephone:\n);scanf(%s,adr[n+i].tele);printf(designer:\n);scanf(%s,adr[n+i].designer);printf(price:\n);scanf(%d,&adr[n+i].price);printf(kucun:\n);scanf(%d,&adr[n+i].kucun);printf(produceyear:\n);scanf(%d,&adr[n+i].year);printf(producemonth:\n);scanf(%d,&adr[n+i].month);printf(produceday:\n);scanf(%d,&adr[n+i].day);if(flag==0)i++;}while(n+it+n);n+=t;printf(Succeed!Therecordhasbeenadded!\n);system(cls);/*清屏*/getch();returnn;//返回全局变量n}信息查询模块voidinquire(ADDRESSadr[],intn)//调用全局变量n{inta,i,cnt=1;system(cls);printf(\npleaseinputthesearchnum:\n);scanf(%d,&a);for(i=0;in;i++){if(adr[i].num==a){system(cls);/*清屏*/printf(***********************************therecord********************************\n);printf(num---name---unit---telephone---designer---price---kucun---year---month---day\n);开始输入添加信息的个数输入要添加的信息编号是否存在输入要添加的信息输出添加成功结束是否添加模块printf(%2d%8s%8s%8s%8s%8d%8d%8d%8d%8d\n,adr[i].num,adr[i].name,adr[i].units,adr[i].tele,adr[i].designer,adr[i].price,adr[i].kucun,adr[i].year,adr[i].month,adr[i].day);cnt=1;}if(cnt==0){printf(notfound!\n);getch();}}getch();}删除模块intdel(ADDRESSadr[],intn)//调用全局变量n{intt;inti,j;system(cls);/*清屏*/printf(Enterthenumberoftherecordwhichyouwanttodelete:\n);scanf(%d,&t);for(i=0;in;i++)if(adr[i].num==t)开始查询模块输入信息编号是否有此信息输出该信息结束是否{for(j=i;jn-1;j++)adr[j]=adr[j+1];n--;break;}printf(Succeed!Therecordhasbeendeleted!\n);getch();returnn;}修改模块voidmodify(ADDRESSadr[],intn)//调用全局变量n{inti,choice,modify_num,flag,cnt=1;do{system(cls);/*清屏*/printf(inputthenumberwhichyouwanttomodify.\n);scanf(%d,&modify_num);for(i=0;in;i++)if(adr[i].num==modify_num){system(cls);/*清屏*/开始输入要删除的信息编号是否存在删除该信息否是结束删除模块printf(therecord\n);printf(****************************************************************************\n);printf(num---name---unit---telephone---designer---price---kucun---year---month---day\n\n);printf(%2d%8s%8s%8s%8s%8d%8d%8d%8d%8d\n,adr[i].num,adr[i].name,adr[i]

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功