版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdioh>#include<string.h>#include<stdlib.h>#include<windows.h> typedefstructincome_info intnumber;doubleincome; intmonth;intday;intyear;charname50;structincome_info*next;IncomeLink,*Pointer1; typedefstructoutput_info intnumber;doubleoutput; intmonth;intday;intyear;in
2、tuse;charname50;structoutput_info*next;OutputLink,*Pointer2; intSelect(void);/ 收入和支出管理选择函数 voidInsert1(Pointer1*Head1); voidInsert2(Pointer2*Head2); voidSearch1(Pointer1Head1); voidSearch2(Pointer2Head2); voidUpdate1(Pointer1Head1); voidUpdate2(Pointer2Head2); voidDelete1(Pointer1*Head1); voidDelete
3、2(Pointer2*Head2); voidShow1(Pointer1Head1); voidShow2(Pointer2Head2); voidCount1(Pointer1Head1); voidCount2(Pointer2Head2); voidSave1(Pointer1Head1); voidSave2(Pointer2Head2);Pointer1load1();Pointer2load2(); intn,k;intmain()voidmenu1();voidmenu2();charm7;charM7;charnum15;inti,j,out;longsum;Pointer1
4、Head1=NULL;Pointer1r1,p1;Pointer2Head2=NULL;Pointer2r2,p2;FILE*fp1,*fp2;p1=r1=(Pointer1)malloc(sizeof(IncomeLink);p2=r2=(Pointer2)malloc(sizeof(OutputLink);printf(" 请输入你的帐号(即你的学号):");gets(num);for(i=4;i<10;i+)mi-4=numi;printf(" 错误选择!nnnn");break;m6='0'for(i=0;i<10;i
5、+)numi=numi-48;printf(" 请输入密码(密码为学号的后六位:");gets(M);if(strcmp(m,M)=0)printf(" 登陆成功!n");fp1=fopen("C:income_info.din","ab+");fp2=fopen("C:output_info.din","ab+");Sleep(1000);printf(" n");printf(" *欢迎使用班级财务管理系统(管理员版)*printf(&quo
6、t; n");nnn");Sleep(1000);system("cls");domenu1();scanf("%d",&j);switch(j)case1:k=Select();if(k=1)Insert1(&Head1);elseif(k=2)Insert2(&Head2);else case2:k=Select();if(k=1)Search1(Head1);elseif(k=2)Search2(Head2);elseprintf(" 错误选择!nnnn");break;case3:k
7、=Select();if(k=1)Update1(Head1);elseif(k=2)Update2(Head2);elseprintf(" 错误选择!nnnn");break;case4:k=Select();if(k=1)Delete1(&Head1);elseif(k=2)Delete2(&Head2);elseprintf(" 错误选择!nnnn");break;case5:k=Select();if(k=1)Show1(Head1);elseif(k=2)Show2(Head2);elseprintf(" 错误选择!n
8、nnn");break;case6:k=Select();if(k=1)Count1(Head1);elseif(k=2)Count2(Head2);elsecase7:k=Select();if(k=1)Save1(Head1);elseif(k=2)Save2(Head2);elseprintf(" 错误选择!nnnn");break;case8:k=Select();if(k=1)Head1=load1();elseif(k=2)Head2=load2();elseprintf(" 错误选择!nnnn");break;case0:prin
9、tf(" 是否保存数据?n");printf("1: 是 n2: 否 n");printf(" 请选择(1-2):n");scanf("%d",&out);if(out=1)k=Select();if(k=1)Save1(Head1);elseif(k=2)Save2(Head2);elseprintf(" 错误选择!nnnn");elseprintf(" 感谢您的使用!n");break;default:printf(" 错误选择!n");bre
10、ak;while(j!=0);elseprintf(" n");printf(" 欢迎使用班级财务管理系统(普通用户版)*printf(" n");nnn");Sleep(1000);system("cls");domenu2();scanf("%d",&j);switch(j)case1:k=Select();if(k=1)Insert1(&Head1);elseif(k=2)Insert2(&Head2);elseprintf(" 错误选择!nnnn&quo
11、t;);break;case2:k=Select();if(k=1)Search1(Head1);elseif(k=2)Search2(Head2);elseprintf(" 错误选择!nnnn");break;case3:k=Select();if(k=1)Show1(Head1);elseif(k=2)Show2(Head2);elseprintf(" 错误选择!nnnn");break;case4:k=Select();if(k=1)Count1(Head1);elseif(k=2)Count2(Head2);elsebreak;case5:k=S
12、elect();if(k=1)printf(" 错误选择!nnnn");Save1(Head1);elseif(k=2)Save2(Head2);elseprintf(" 错误选择!nnnn");break;case6:k=Select();if(k=1)Head1=load1();elseif(k=2)Head2=load2();elseprintf(" 错误选择!nnnn");break;case0:printf(" 是否保存数据?n");printf("1: 是 n2: 否 n");pri
13、ntf(" 请选择(1-2):n");scanf("%d",&out);if(out=1)k=Select();if(k=1)Save1(Head1);elseif(k=2)Save2(Head2);elseprintf(" 错误选择!nnnn");elseprintf(" 感谢您的使用!n");break;default:printf(" 错误选择!nnnn");break;while(j!=0);return0;elseprintf(" 密码错误!请查证后再来!n"
14、;);elseprintf(" 用户名不存在!请验证后再输!an");return0;voidmenu1() n");printf(" *printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf("欢迎使用财务管理系统*§ *§ n");n");§printf(" printf(&
15、quot; printf(" printf(" § §§§ n");§§1.添加财务信息§§n");§§2. 查询财务信息§§n");§§3.修改财务信息§§n");§§4.删除财务信息§§n");§§5.显示财务信息§§n");§§6.统计财务信息§
16、;§n");§§7.保存数据§§n");printf(" §§ 8.读取数据§§n");§§0. 退出系统§§n");§ §§§ n"); *请选择(0-8):n"); n");voidmenu2()printf(" *printf(" printf(" printf(" printf(" prin
17、tf(" printf(" printf(" printf("欢迎使用财务管理系统*§ * n");§ n");n");§printf(" printf(" printf(" printf(" § §§§ n");§§1.添加财务信息§§n");§§2. 查询财务信息§§n");§§3.显
18、示财务信息§§n");§§4. 统计财务信息§§n");§§5. 保存数据§§n");printf(" §§ 6.读取数据§§n");§§0. 退出系统§§n");§ §§§ n"); *请选择(0-6):n");intSelect(void)/ 第二次选择的函数intw;printf("
19、 printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" *欢迎使用财务管理系统*§ *§ §§§ n");§§1. 收入§§n");§§2. 支出§§n");§ §§§ n"); *请选择(1-2):n");s
20、canf("%d",&w);return(w); n"); n");§ n"); n");§ n");voidInsert1(Pointer1*Head1)/ 添加收入intin_number;Pointer1p,q,r;printf(" 请输入编号:");scanf("%d",&in_number);p=q=*Head1;while(p!=NULL)if(p->number=in_number)printf(" 已经有相同的编号:&
21、quot;);printf("n 按任意键继续!n");getchar();return;elseq=p;p=p->next;r=(Pointer1)malloc(sizeof(IncomeLink);r->next=NULL;if(r=NULL)printf(" 分配空间失败n");return;if(q=NULL)*Head1=r;elseq->next=r;r->number=in_number;printf(" 请输入收入金额(单位:元 ):");scanf("%lf",&r
22、->income);printf(" 请输入收入时间:n");printf(" 年 :");scanf("%d",&r->year);printf(" 月 :");scanf("%d",&r->month);printf(" 日 :");scanf("%d",&r->day);printf(" 请输入您的姓名:");scanf("%s",r->name);prin
23、tf("nnnn");Sleep(300);voidInsert2(Pointer2*Head2)/ 添加支出intin_number;Pointer2p,q,r;printf(" 请输入编号:");scanf("%d",&in_number);p=q=*Head2;while(p!=NULL)if(p->number=in_number)printf(" 已经有相同的编号:");printf("n 按任意键继续!n");getchar();return;elseq=p;p=p-&
24、gt;next;r=(Pointer2)malloc(sizeof(IncomeLink);r->next=NULL;if(r=NULL)printf(" 分配空间失败n");return;if(q=NULL)*Head2=r;elseq->next=r;r->number=in_number;printf(" 请输入支出金额(单位:元 ):");scanf("%lf",&r->output);printf(" 请输入支出时间:n");printf(" 年 :")
25、;scanf("%d",&r->year);printf(" 月 :");scanf("%d",&r->month);printf(" 日 :");scanf("%d",&r->day);printf(" 请输入用途:");printf("1: 吃喝 (eat)n2: 娱乐 (amusement)n3: 学习 (studying)n4: 其它 (other)n");printf(" 请选择(1-4):n&
26、quot;);scanf("%d",&r->use);printf(" 请输入使用人名称:");scanf("%s",r->name);Sleep(300);voidSearch1(Pointer1Head1)/ 查询收入intflag=1;intnumber1;Pointer1p;printf(" 请输入查询的编号:");scanf("%d",&number1);p=Head1;while(p!=NULL&&flag)if(p->number=
27、number1)printf(" 收入金额:%lf元 n",p->income);printf(" 收入时间:n");printf(" 年 :%d, 月 :%d, 日 :%dn",p->year,p->month,p->day);printf(" 姓名 :%s",p->name);printf("nnnn");getchar();flag=0;elsep=p->next;if(flag)printf(" 没有查到n");printf(&qu
28、ot;nnnn");getchar();voidSearch2(Pointer2Head2)/ 查询支出voidSearch_name(Pointer2Head2);voidSearch_number(Pointer2Head2);inti;printf(" 请选择查询的方式:n");printf("1. 姓名 2.编号 n");scanf("%d",&i);switch(i)case1:Search_name(Head2);break;case2:Search_number(Head2);break;Sleep(1
29、000);printf("nnnn");getchar();voidSearch_name(Pointer2Head2)/ 支出查询函数(姓名)intflag=1;charname50;Pointer2p;printf(" 请输入查询的姓名:");scanf("%s",name);p=Head2;while(p!=NULL&&flag)if(strcmp(p->name,name)=0)printf(" 支出金额:%lf元 n",p->output);printf(" 支出时间
30、:n");printf(" 年 :%d, 月 :%d, 日 :%dn",p->year,p->month,p->day);if(p->use=1)printf(" 用途 : 吃喝 n");elseif(p->use=2)printf(" 用途 : 娱乐 n");elseif(p->use=3)printf(" 用途: 学习n");elseprintf(" 用途: 其它n");printf(" 使用人姓名:%s",p->nam
31、e);printf("n 按任意键继续!n");getchar();flag=0;elsep=p->next;if(flag)printf(" 没有查到n");voidSearch_number(Pointer2Head2)/ 支出查询函数(编号)intflag=1;longnumber;Pointer2p;printf(" 请输入查询的编号:");scanf("%ld",&number);p=Head2;while(p!=NULL&&flag)if(p->number=numb
32、er)printf(" 支出金额:%lf元 n",p->output);printf(" 支出时间:n");printf(" 年 :%d, 月 :%d, 日 :%dn",p->year,p->month,p->day); if(p->use=1)printf(" 用途: 吃喝n");elseif(p->use=2)printf(" 用途: 娱乐n");elseif(p->use=3)printf(" 用途: 学习n");elsepri
33、ntf(" 用途: 其它n");printf(" 使用人姓名:%s",p->name);printf("nnnn");getchar();flag=0;elsep=p->next;if(flag)printf(" 没有查到n");voidUpdate1(Pointer1Head1)/ 修改收入intflag=1;intnumber;Pointer1p;printf(" 请输入要修改的编号:");scanf("%d",&number);p=Head1;whi
34、le(p!=NULL&&flag)if(p->number=number)printf(" 请输入新的收入:");scanf("%lf",&p->income);printf(" 请输入新的收入时间:n");printf(" 年 :");scanf("%d",&p->year);printf(" 月 :");scanf("%d",&p->month);printf(" 日 :&quo
35、t;);scanf("%d",&p->day);printf(" 请输入新的姓名:");scanf("%s",p->name);flag=0;printf(" 记录已修改n");elsep=p->next;if(flag)printf(" 没有找到要修改的记录!n");Sleep(300);voidUpdate2(Pointer2Head2)/ 修改支出 intflag=1,b;intnumber;Pointer2p;printf(" 请输入要修改的编号:&q
36、uot;);scanf("%d",&number);p=Head2;while(p!=NULL&&flag)if(p->number=number) printf(" 请输入新的支出:");scanf("%lf",&p->output);printf(" 请输入新的支出时间:n");printf(" 年 :");scanf("%d",&p->year);printf(" 月 :");scanf(&q
37、uot;%d",&p->month);printf(" 日 :");scanf("%d",&p->day);printf(" 请选择新的用途:");printf("1: 吃喝 (eat)n2: 娱乐 (amusement)n3: 学习 (studing)n4: 其它 (other)n");printf(" 请选择(1-4):n");scanf("%d",&b);p->use=b;printf(" 请输入新的使用人名
38、称:");scanf("%s",p->name);flag=0;printf(" 记录已修改n");elsep=p->next;if(flag)printf(" 没有找到要修改的记录!n");Sleep(300);voidDelete1(Pointer1*Head1)/ 删除收入intflag=1;intnumber;Pointer1p,q;printf(" 请输入要删除数据的编号:");scanf("%d",&number);p=q=*Head1;while(p!
39、=NULL&&flag) if(p->number=number)if(p=*Head1)*Head1=p->next;free(p);elseq->next=p->next;free(p);flag=0;printf(" 记录已删除!");printf("n 按任意键继续!n");getchar();elseq=p;p=p->next;if(flag)printf(" 没有找到可以删除的数据");printf("n 按任意键继续!n");getchar();voidD
40、elete2(Pointer2*Head2)/ 删除支出intflag=1;intnumber;Pointer2p,q;printf(" 请输入要删除数据的编号:");scanf("%d",&number);p=q=*Head2;while(p!=NULL&&flag)if(p->number=number)if(p=*Head2)*Head2=p->next;free(p);elseq->next=p->next;free(p);flag=0;printf(" 记录已删除!");pri
41、ntf("n 记录已删除,按任意键继续!n");getchar();elseq=p;p=p->next; if(flag)printf(" 没有找到可以删除的数据!n");voidShow1(Pointer1Head1)/ 显示收入 Pointer1p;p=Head1;while(p!=NULL) printf(" 编号:%dn",p->number);printf(" 收入金额:%lf 元 n",p->income);printf(" 收入时间:%d 年 %d 月 %d 日 n&quo
42、t;,p->year,p->month,p->day);printf(" 姓名:%s",p->name);printf("n");p=p->next;Sleep(1000);printf("n 按任意键继续!n");getchar();voidShow2(Pointer2Head2)/ 显示支出Pointer2p;p=Head2;while(p!=NULL) printf(" 编号 :%dn",p->number);printf(" 支出金额:%lfn",p-
43、>output);printf(" 支出时间:%d 年 %d 月 %d 日 n",p->year,p->month,p->day);if(p->use=1)printf(" 用途 : 吃喝 n");elseif(p->use=2)printf(" 用途: 娱乐n");elseif(p->use=3)printf(" 用途: 学习n");elseprintf(" 用途 : 其它 n");printf(" 使用人姓名:%s",p->
44、name);printf("n");p=p->next;Sleep(1000);printf("n 按任意键继续!n");getchar();voidCount1(Pointer1Head1)/ 统计收入intj;intb;doublesum1;doublesum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9,sum10,sum11,sum12;Pointer1p;p=Head1;sum1=sum2=sum3=sum4=sum5=sum6=sum7=sum8=sum9=sum10=sum11=sum12=0.0;while
45、(p!=NULL)switch(p->month)case1:sum1=sum1+p->income;break;case2:sum2=sum2+p->income;break;case3:sum3=sum3+p->income;break;case4:sum4=sum4+p->income;break;case5:sum5=sum5+p->income;break;case6:sum6=sum6+p->income;break;case7:sum7=sum7+p->income;break;case8:sum8=sum8+p->incom
46、e;break;case9:sum9=sum9+p->income;break;case10:sum10=sum10+p->income;break;case11:sum11=sum11+p->income;break;case12:sum12=sum12+p->income;break;default:printf(" 错误选择!n");break;p=p->next;printf(" 请输入您要统计的月份:");scanf("%d",&j);case1:printf(" 该月份总计为
47、case2:printf(" 该月份总计为case3:printf(" 该月份总计为case4:printf(" 该月份总计为case5:printf(" 该月份总计为case6:printf(" 该月份总计为switch(j):%lfn",sum1);break;:%lfn",sum2);break;:%lfn",sum3);break;:%lfn",sum4);break;:%lfn",sum5);break;:%lfn",sum6);break;case7:printf(&quo
48、t; 该月份总计为:%lfn",sum7);break;case8:printf(" 该月份总计为:%lfn",sum8);break;case9:printf(" 该月份总计为:%lfn",sum9);break;case10:printf(" 该月份总计为:%lfn",sum10);break;case11:printf(" 该月份总计为:%lfn",sum11);break;case12:printf(" 该月份总计为:%lfn",sum12);break;default:pri
49、ntf(" 错误选择!n");break;printf(" 请输入您要统计的学期:n");printf("<1: 上学期 2: 下学期 3:退出 >n");printf(" 请选择(1-3):n");scanf("%d",&b);switch(b)case1:printf(" 上学期的总计为:%lfn",sum2+sum3+sum4+sum5+sum6+sum7);break;case2:printf(" 上学期的总计为:%lfn",s
50、um1+sum8+sum9+sum10+sum11+sum12);break;case3:break;default:printf(" 错误选择!n");break;voidCount2(Pointer2Head2)/ 统计支出voidCounter_use(Pointer2Head2);voidCounter_time(Pointer2Head2);inti;printf(" 请选择统计的方式:n");printf("1. 按用途 2.按时间 n");scanf("%d",&i);switch(i)cas
51、e1:Counter_use(Head2);break;case2:Counter_time(Head2);break;default:printf(" 错误选择!n");break;Sleep(1000);printf("n 按任意键继续!n");getchar();voidCounter_use(Pointer2Head2)/ 按用途统计支出intb;Pointer2p;doublesum1,sum2,sum3,sum4;sum1=sum2=sum3=sum4=0.0;p=Head2;while(p!=NULL)if(p->use=1)sum1
52、=sum1+p->output;elseif(p->use=2)sum2=sum2+p->output;elseif(p->use=3)sum3=sum3+p->output; elsesum4=sum4+p->output; p=p->next;printf(" 请选择您要统计的用途:");printf("<1: 吃喝 2:娱乐 3:学习 4: 其它 >n");printf(" 请选择(1-4):n");scanf("%d",&b);switch(b)
53、case1:printf(" 在该用途上的支出为:%lfn",sum1);break;case2:printf(" 在该用途上的支出为:%lfn",sum2);break;case3:printf(" 在该用途上的支出为:%lfn",sum3);break;case4:printf(" 在该用途上的支出为:%lfn",sum4);break;default:printf(" 错误选择!n");break;voidCounter_time(Pointer2Head2)/ 按时间统计支出 intj;
54、intb;Pointer2p;doublesum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9,sum10,sum11,sum12;sum1=sum2=sum3=sum4=sum5=sum6=sum7=sum8=sum9=sum10=sum11=sum12=0.0;p=Head2;while(p!=NULL)switch(p->month)case1:sum1=sum1+p->output;break;case2:sum2=sum2+p->output;break;case3:sum3=sum3+p->output;break;cas
55、e4:sum4=sum4+p->output;break;case5:sum5=sum5+p->output;break;case6:sum6=sum6+p->output;break;case7:sum7=sum7+p->output;break;case8:sum8=sum8+p->output;break;case9:sum9=sum9+p->output;break;case10:sum10=sum10+p->output;break;case11:sum11=sum11+p->output;break;case12:sum12=sum1
56、2+p->output;break;default:printf(" 错误选择!n");break; p=p->next;scanf("%d",&j); switch(j)case1:printf(" 该月份总计为 case2:printf(" 该月份总计为 case3:printf(" 该月份总计为 case4:printf(" 该月份总计为 case5:printf(" 该月份总计为 case6:printf(" 该月份总计为 case7:printf(" 该月
57、份总计为 case8:printf(" 该月份总计为 case9:printf(" 该月份总计为 case10:printf(" 该月份总计为 case11:printf(" 该月份总计为 case12:printf(" 该月份总计为printf(" 请输入您要统计的月份:");:%lfn",sum1);break;:%lfn",sum2);break;:%lfn",sum3);break;:%lfn",sum4);break;:%lfn",sum5);break;:%lfn
58、",sum6);break;:%lfn",sum7);break;:%lfn",sum8);break;:%lfn",sum9);break;:%lfn",sum10);break;:%lfn",sum11);break;:%lfn",sum12);break;default:printf(" 错误选择!n");break;printf(" 请输入您要统计的学期:n");printf("<1: 上学期 2: 下学期3:退出>n");printf(" 请选择(1-3):n");scanf("%d",&b);switch(b)case1:printf(" 上学期的总计为:%lfn",sum2+sum3+sum4+sum5+sum6+sum7);break;case2:printf(" 上学期的总计为:%lfn",sum1+sum8+sum9+sum10+sum11+sum12);break;case3:brea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度紧急避难场所标示牌设计与施工合同3篇
- 2024物业服务合同补充:社区物业智能化改造协议3篇
- 2024水厂给排水设备采购与维护服务合同
- 脑梗死健康宣教
- 2024年水利枢纽建设劳务承包合同
- 专业个人道路运输协议样式2024
- 2024年财产质押担保合同模板6篇
- 福建省南平市万安中学2022年高一生物下学期期末试题含解析
- 色彩之旅模板
- 青春期健康守护
- 制作课件wps教学课件
- MCN机构签约合同范本
- 解读智能问答系统研究
- 2024年露天煤矿地质勘查服务协议版
- 部编版四年级上册道德与法治期末测试卷
- DB11T 1805-2020 实验动物 病理学诊断规范
- 人教版小学六年级下册音乐教案全册
- 2024年资格考试-WSET二级认证考试近5年真题附答案
- 个体工商营业执照变更委托书
- 2024版【人教精通版】小学英语六年级下册全册教案
- 人教版历史2024年第二学期期末考试七年级历史试卷(含答案)
评论
0/150
提交评论