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

下载本文档

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

文档简介

1、#include<stdio.h>#include<string.h>#include<stdlib.h>#include<windows.h>typedefstructincome_info(intnumber;doubleincome;intmonth;intday;intyear;charname50;structincome_info*next;IncomeLink,*Pointerl;typedefstructoutput_info(intnumber;doubleoutput;intmonth;intday;intyear;intus

2、e;charname50;structoutput_info*next;OutputLink,*Pointer2;intSelect(void);收入和支出管理选择函数voidInsert1(Pointer1*Headl);voidInsert2(Pointer2*Head2);voidSearch1(Pointer1Headl);voidSearch2(Pointer2Head2);voidUpdate1(Pointer1Head1);voidUpdate2(Pointer2Head2);voidDelete1(Pointer1*Head1);voidDelete2(Pointer2*Hea

3、d2);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;Pointer1Head1=NULL;Pointer1r

4、1,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;m6='0'for(i=0;i<10;i+)numi=numi-48;(printf("请输入密码(密码为学号的后六位:");gets(

5、M);if(strcmp(m,M)=0)(printf("登陆成功!!n");fp1=fopen("C:income_info.din","ab+");fp2=fopen("C:output_info.din”,"ab+");Sleep(1000);n");(printf("*printf("*欢迎使用班级财务管理系统(管理员版)*n");nnn");printf("*Sleep(1000);system("cls");do(

6、menu1();scanf("%d",&j);switch(j)(case1:k=Select();if(k=1)Insert1(&Head1);elseif(k=2)Insert2(&Head2);elseprmff(=a沛济福一-mn-mn-)-breakcase2knse-ecpif(kRI)searchl(Headl)*Qsemk#2)search2(Head2)*e-seprmff(=a沛济福一-mn-mn-)-break-casewknse-ecpif(kRI)updafel(Headl)*e-semk#2)updafe2(Head2)*

7、e-seprmff(=a沛济福一-mn-mn-)-breakcase4knse-ecpif(kRI)De-efel(QOHeadl)*e-semk#2)De-efe2(QOHead2)-e-seprmff(=a沛济福一-mn-mn-)-breakcase5knse-ecpif(kRI)showl(Headl)*e-semk#2)show2(Head2)*e-seprmff(=a沛济福一-mn-mn-)-break-casepknsQecpif(kRI)COUMIIeadl)*e-semk#2)COUM2(Head2)*e-sen");printf("*欢迎使用班级财务管理系

8、统(普通用户版)*n");printf("错误选择!nnnn");break;case7: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:printf("是否保存数据?n");printf(

9、"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");break;while(j!=0);elseprintf("*printf(&

10、quot;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");break;case2:k=Select();if(k=1)Search1(Head1);elseif(k=2)Search2(Head2);elseprintf("错误

11、选择!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);elseprintf("错误选择!nnnn");break;case5:k=Select();if(k=1)Savel(Headl);elseif(k=2)Save2(Head2);elseprintf(&qu

12、ot;错误选择!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");printf("请选择(1-2):n");scanf("%d",&out);if(out=1)k=Select();if(k=1)Save1(Head1);elsei

13、f(k=2)Save2(Head2);elseprintf("错误选择!nnnn");elseprintf("感谢您的使用!!n");break;default:printf("错误选择!nnnn");break;while(j!=0);return0;elseprintf("密码错误!请查证后再来!n");elseprintf("用户名不存在!请验证后再输!!an");return0;)voidmenu1()(printf("*)voidmenu2()(printf("pr

14、intf("printf("printf("printf("printf("printf("printf("printf("printf("printf("printf("printf("printf("printf("*欢迎使用财务管理系统*>*1.添加财务信息2.查询财务信息3.修改财务信息4.删除财务信息5.显示财务信息6.统计财务信息7.保存数据8.读取数据0.退出系统*printf("请选择(0-8):n");*prin

15、tf("printf("printf("printf("printf("n");欢迎使用财务管理系统*printf("printf("printf("printf("printf("1.添加财务信息2.查询财务信息3.显示财务信息4.统计财务信息5.保存数据6.读取数据0.退出系统printf("printf("printf("请选择(0-6):n");*)intSelect(void)/第二次选择的函数(intw;printf("pr

16、intf("printf("printf("*欢迎使用财务管理系统*printf("printf("printf("printf("1.收入2.支出*n");§n");n");§§&n");§§n");§§n");§&n"); n");n");§n");n");§§§n")

17、;§§n");§§n");§§n");§§n");§§n");§§n");§§n");§§n");§§n");§§n");n");§n");n");§§§n");§§n");§&#

18、167;n");§§n");§§n");§§n");§§n");§§n");§§n");n");printf("请选择(1-2):n");scanf("%d",&w);return(w);voidInsert1(Pointer1*Head1)添加收入intin_number;Pointer1p,q,r;printf(-请输入编号:");sc

19、anf("%d",&in_number);p=q=*Head1;while(p!=NULL)if(p->number=in_number)printf("已经有相同的编号:");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=

20、r;elseq->next=r;r->number=in_number;printf("请输入收入金额(单位:元):");scanf("%lf",&r->income);printf(-请输入收入时间:n");printf("年:");scanf("%d”,&r->year);printf("月:");scanf("%d",&r->month);printf("日:");scanf("%d&q

21、uot;,&r->day);printf(-请输入您的姓名:");scanf("%s",r->name);printf("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("已经

22、有相同的编号:");printf("n按任意键继续!n");getchar();return;)elseq=p;p=p->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",

23、&r->output);printf("请输入支出时间:n");printf("年:");scanf("%d”,&r->year);printf("月:");scanf("%d”,&r->month);printf("日:");scanf("%d",&r->day);n4:其它(other)n");printf("请输入用途:");printf("1:吃喝(eat)n2:娱乐(am

24、usement)n3:学习(studying)printf("请选择(1-4):n");scanf("%d",&r->use);printf("请输入使用人名称:");scanf("%s”,r->name);Sleep(300);)voidSearch1(Pointer1Headl)查询收入(intflag=1;intnumber1;Pointer1p;printf(-请输入查询的编号:");scanf("%d”,&number1);p=Head1;while(p!=NULL&

25、amp;&flag)(if(p->number=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&

26、quot;);printf("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)

27、;break;Sleep(1000);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("

28、支出时间: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->name);printf("n按任意键继

29、续!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=number)printf("支出金额:%lf元n",p

30、->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");elseprintf("用途:其它n");printf("使用人姓名:s",p->

31、;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;while(p!=NULL&&flag)if(p->number=number)printf(-请输入新的收入:"

32、;);scanf("%lf",&p->income);printf(-请输入新的收入时间:n");printf("年:");scanf("%d",&p->year);printf("月:");scanf("%d”,&p->month);printf("日:");scanf("%d",&p->day);printf(-请输入新的姓名:");scanf("%s",p->

33、name);flag=0;printf("记录已修改n");elsep=p->next;if(flag)printf("没有找到要修改的记录!!n");Sleep(300);voidUpdate2(Pointer2Head2)修改支出intflag=1,b;intnumber;Pointer2p;printf(-请输入要修改的编号:");scanf("%d”,&number);p=Head2;while(p!=NULL&&flag)if(p->number=number)printf(-请输入新的支

34、出:");scanf("%lf",&p->output);printf(-请输入新的支出时间:n");printf("年:");scanf("%d",&p->year);printf("月:");scanf("%d",&p->month);printf("日:");scanf("%d",&p->day);printf("请选择新的用途:”);printf("1:

35、吃喝(eat)n2:娱乐(amusement)n3:学习(studing)n4:其它(other)n");printf("请选择(1-4):n");scanf("%d",&b);p->use=b;printf(-请输入新的使用人名称:");scanf("%s",p->name);flag=0;printf("记录已修改n");)elsep=p->next;)if(flag)printf("没有找到要修改的记录!!n");Sleep(300);)voi

36、dDelete1(Pointer1*Head1)/删除收入intflag=1;intnumber;Pointer1p,q;printf(-请输入要删除数据的编号:");scanf("%d”,&number);p=q=*Head1;while(p!=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

37、按任意键继续!n");getchar();elseq=p;p=p->next;if(flag)printf(-没有找到可以删除的数据");printf("n按任意键继续!n");getchar();voidDelete2(Pointer2*Head2)删除支出intflag=1;intnumber;Pointer2p,q;printf(-请输入要删除数据的编号:");scanf("%d",&number);p=q=*Head2;while(p!=NULL&&flag)(if(p->numb

38、er=number)if(p=*Head2)*Head2=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("没有找到可以删除的数据!n");voidShow1(Pointer1Head1)显示收入Pointer1p;p=Head1;while(p!=NULL)printf("编号

39、:dn”,p->number);printf("收入金额:%lf元n",p->income);printf("收入时间:%d年%d月%d日n",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=Head

40、2;while(p!=NULL)printf("编号:%dn",p->number);printf("支出金额:%lfn",p->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"

41、);elseprintf("用途:其它n");printf("使用人姓名:%s",p->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=sum

42、2=sum3=sum4=sum5=sum6=sum7=sum8=sum9=sum10=sum11=sum12=0.0;while(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;brea

43、k;case7:sum7=sum7+p->income;break;case8:sum8=sum8+p->income;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("请输入您要统计的月份:&

44、quot;);scanf("%d",&j);switch(j)case1:printf("该月份总计为:lfn”,sum1);break;case2:printf("该月份总计为:lfn”,sum2);break;case3:printf("该月份总计为:lfn",sum3);break;:%lfn",sum4);break;:%lfn",sum5);break;:%lfn",sum6);break;:%lfn",sum7);break;:%lfn",sum8);break;:

45、%lfn",sum9);break;:%lfn",sum10);break;:%lfn",sum11);break;:%lfn",sum12);break;case4:printf("该月份总计为case5:printf("该月份总计为case6:printf("该月份总计为case7:printf("该月份总计为case8:printf("该月份总计为case9:printf("该月份总计为case10:printf("该月份总计为case11:printf("该月份总计为

46、case12:printf("该月份总计为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(

47、"上学期的总计为:lfn",sum1+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",&a

48、mp;i);switch(i)case1: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-

49、>use=1)sum1=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):

50、%lfn”,sum1);break;:%lfn”,sum2);break;:%lfn",sum3);break;:%lfn",sum4);break;case1:printf("在该用途上的支出为case2:printf("在该用途上的支出为case3:printf("在该用途上的支出为case4:printf("在该用途上的支出为default:printf("错误选择!n");break;按时间统计支出voidCounter_time(Pointer2Head2)intj;intb;Pointer2p;doub

51、lesum1,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;case4:sum4=sum4+p->

52、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=sum12+p->output;brea

53、k;default:printf("错误选择!n");break;)p=p->next;)printf("请输入您要统计的月份:");scanf("%d",&j);switch(j)case1:printf("该月份总计为:lfn”,sum1);break;case2:printf("该月份总计为:lfn”,sum2);break;case3:printf("该月份总计为:lfn",sum3);break;case4:printf("该月份总计为:lfn”,sum4);b

54、reak;case5:printf("该月份总计为:lfn",sum5);break;case6:printf("该月份总计为:lfn",sum6);break;case7:printf("该月份总计为:lfn",sum7);break;case8:printf("该月份总计为:lfn",sum8);break;case9:printf("该月份总计为:lfn",sum9);break;case10:printf("该月份总计为:lfn”,sum10);break;case11:pri

55、ntf("该月份总计为:lfn”,sum11);break;case12:printf("该月份总计为: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:break;default:printf("错误选择!n");break;)voidSave1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论