C语言程序设计班级财务管理系统_第1页
C语言程序设计班级财务管理系统_第2页
C语言程序设计班级财务管理系统_第3页
C语言程序设计班级财务管理系统_第4页
C语言程序设计班级财务管理系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论