版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include#include#include#includetypedef struct income_infoint number;double income;int month;int day;int year;char name50;struct income_info * next;IncomeLink,* Pointer1;typedef struct output_infoint number;double output;int month;int day;int year;int use;char name50;struct output_info * next;Output
2、Link,* Pointer2;int Select(void); / 收入和支出管理选择函数 void Insert1(Pointer1 * Head1);void Insert2(Pointer2 * Head2);void Search1(Pointer1 Head1);void Search2(Pointer2 Head2);void Update1(Pointer1 Head1);void Update2(Pointer2 Head2);void Delete1(Pointer1 *Head1);void Delete2(Pointer2 *Head2);void Show1(Poi
3、nter1 Head1);void Show2(Pointer2 Head2);void Count1(Pointer1 Head1);void Count2(Pointer2 Head2);void Save1(Pointer1 Head1);void Save2(Pointer2 Head2);Pointer1 load1();Pointer2 load2();int n,k;int main()void menu1(); void menu2();char m7;char M7;char num15; int i,j,out;long sum;Pointer1 Head1=NULL;Po
4、inter1 r1,p1;Pointer2 Head2=NULL;Pointer2 r2,p2;p1=r1=(Pointer1)malloc(sizeof(IncomeLink);p2=r2=(Pointer2)malloc(sizeof(OutputLink);FILE *fp1,*fp2;printf(请输入你的帐号(即你的学号):);gets(num);for(i=4;i10;i+)mi-4=numi;m6=0;for(i=0;inumber=in_number)printf( 已经有相同的编号:);printf(n按任意键继续!n);getchar();return;elseq=p;p
5、=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-income);printf( 请输入收入时间:n);printf( 年 :);scanf(%d,&r-year);printf( 月 :);scanf(%d,&r-month);printf( 日 :);scanf(%d,&r-day
6、);printf( 请输入您的姓名:);scanf(%s,r-name);printf(nnnn);Sleep(300);void Insert2(Pointer2 *Head2)/ 添加支出int in_number;Pointer2 p,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-next;r=(Pointer2)malloc(
7、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( 年 :);scanf(%d,&r-year);printf( 月 :);scanf(%d,&r-month);printf( 日 :);scanf(%d,&r-day);printf( 请输入用途:);printf(1:
8、 吃喝 (eat)n2: 娱乐 (amusement)n3: 学习 (studying)n4:其它 (other)n);printf( 请选择 (1-4):n);scanf(%d,&r-use);printf( 请输入使用人名称:);scanf(%s,r-name);Sleep(300);void Search1(Pointer1 Head1)/查询收入int flag=1;int number1;Pointer1 p;printf( 请输入查询的编号:);scanf(%d,&number1);p=Head1;while(p!=NULL&flag)if(p-number=number1)pri
9、ntf( 收入金额 :%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;else p=p-next;if(flag)printf( 没有查到 n);printf(nnnn);getchar();void Search2(Pointer2 Head2)/查询支出void Search_name(Pointer2 Head2);void Search_number(Poin
10、ter2 Head2);int i;printf( 请选择查询的方式:n);printf(1. 姓名2.编号 n);scanf(%d,&i);switch(i)case 1:Search_name(Head2);break;case 2:Search_number(Head2);break;Sleep(1000);printf(nnnn);getchar();void Search_name(Pointer2 Head2)/ 支出查询函数(姓名)int flag=1;char name50;Pointer2 p;printf( 请输入查询的姓名:);scanf(%s,name);p=Head2
11、;while(p!=NULL&flag)if(strcmp(p-name,name)=0)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);elseprintf( 用途 :其它 n);printf( 使用人姓名 :%s,p-name);printf(n按任意键
12、继续!n);getchar();flag=0;else p=p-next;if(flag)printf( 没有查到 n);void Search_number(Pointer2 Head2)/ 支出查询函数(编号)int flag=1;long number;Pointer2 p;printf( 请输入查询的编号:);scanf(%ld,&number);p=Head2;while(p!=NULL&flag)if(p-number=number)printf( 支出金额 :%lf 元 n,p-output);printf( 支出时间 :n);printf( 年 :%d, 月 :%d, 日 :%
13、dn,p-year,p-month,p-day);if(p-use=1)printf( 用途 :吃喝 n);else if(p-use=2)printf( 用途 :娱乐 n);else if(p-use=3)printf( 用途 :学习 n);elseprintf( 用途 :其它 n);printf( 使用人姓名 :%s,p-name);printf(nnnn);getchar();flag=0;else p=p-next;if(flag)printf( 没有查到 n);void Update1(Pointer1 Head1)/修改收入int flag=1;int number;Pointer
14、1 p;printf( 请输入要修改的编号:);scanf(%d,&number);p=Head1;while(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( 日 :);scanf(%d,&p-day);printf( 请输入新的姓名:);scanf(%s,p-name);flag=0;printf( 记录已修改n);e
15、lsep=p-next;if(flag)printf( 没有找到要修改的记录!n);Sleep(300);void Update2(Pointer2 Head2)/修改支出int flag=1,b;int number;Pointer2 p;printf( 请输入要修改的编号:);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);prin
16、tf( 月 :);scanf(%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( 请输入新的使用人名称:);scanf(%s,p-name);flag=0;printf( 记录已修改n);elsep=p-next;if(flag)printf( 没有找到要修改的记录!n);Sleep(300);
17、void Delete1(Pointer1 *Head1)/删除收入int flag=1;int number;Pointer1 p,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按任意键继续!n);getchar();elseq=p;p=p-next;if(flag)prin
18、tf( 没有找到可以删除的数据);printf(n 按任意键继续!n);getchar();void Delete2(Pointer2 *Head2)/删除支出int flag=1;int number;Pointer2 p,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( 记录已删除 !);printf(n记录已
19、删除,按任意键继续!n);getchar();elseq=p;p=p-next;if(flag)printf( 没有找到可以删除的数据!n);void Show1(Pointer1 Head1)/ 显示收入Pointer1 p;p=Head1;while(p!=NULL)printf( 编号 :%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(100
20、0);printf(n 按任意键继续!n);getchar();void Show2(Pointer2 Head2)/显示支出Pointer2 p;p=Head2;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);else if(p-use=2)printf( 用途 :娱乐 n);else if(p-use=3)printf( 用途 :学习
21、n);elseprintf( 用途 :其它 n);printf( 使用人姓名 :%s,p-name);printf(n);p=p-next;Sleep(1000);printf(n按任意键继续!n);getchar();void Count1(Pointer1 Head1)int j;int b;double sum1;/ 统计收入double sum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9,sum10,sum11,sum12; Pointer1 p;p=Head1;sum1=sum2=sum3=sum4=sum5=sum6=sum7=sum8=sum9=sum
22、10=sum11=sum12=0.0;while(p!=NULL)switch(p-month)case 1:sum1=sum1+p-income;break;case 2:sum2=sum2+p-income;break;case 3:sum3=sum3+p-income;break;case 4:sum4=sum4+p-income;break;case 5:sum5=sum5+p-income;break;case 6:sum6=sum6+p-income;break;case 7:sum7=sum7+p-income;break;case 8:sum8=sum8+p-income;br
23、eak;case 9:sum9=sum9+p-income;break;case 10:sum10=sum10+p-income;break;case 11:sum11=sum11+p-income;break;case 12:sum12=sum12+p-income;break;default:printf( 错误选择 !n);break;p=p-next;printf( 请输入您要统计的月份:);scanf(%d,&j);switch(j)case 1:printf( 该月份总计为:%lfn,sum1);break;case 2:printf( 该月份总计为:%lfn,sum2);brea
24、k;case 3:printf( 该月份总计为:%lfn,sum3);break;case 4:printf( 该月份总计为:%lfn,sum4);break;case 5:printf( 该月份总计为:%lfn,sum5);break;case 6:printf( 该月份总计为:%lfn,sum6);break;case 7:printf( 该月份总计为:%lfn,sum7);break;case 8:printf( 该月份总计为:%lfn,sum8);break;case 9:printf( 该月份总计为:%lfn,sum9);break;case 10:printf( 该月份总计为:%l
25、fn,sum10);break;case 11:printf( 该月份总计为:%lfn,sum11);break;case 12:printf( 该月份总计为:%lfn,sum12);break;default:printf( 错误选择 !n);break;printf( 请输入您要统计的学期:n);printf(n);printf( 请选择 (1-3):n);scanf(%d,&b);switch(b)case 1: printf( 上学期的总计为:%lfn,sum2+sum3+sum4+sum5+sum6+sum7);break;case 2: printf( 上学期的总计为:%lfn,s
26、um1+sum8+sum9+sum10+sum11+sum12);break;case 3: break;default: printf( 错误选择 !n);break;void Count2(Pointer2 Head2)/ 统计支出void Counter_use(Pointer2 Head2);void Counter_time(Pointer2 Head2);int i;printf( 请选择统计的方式:n);printf(1. 按用途2.按时间scanf(%d,&i);n);case 1:Counter_use(Head2);break;case 2:Counter_time(Hea
27、d2);break;default:printf( 错误选择 !n);break;Sleep(1000);printf(n 按任意键继续!n);getchar();void Counter_use(Pointer2 Head2)/按用途统计支出int b;Pointer2 p;double sum1,sum2,sum3,sum4;sum1=sum2=sum3=sum4=0.0;p=Head2;while(p!=NULL)if(p-use=1)sum1=sum1+p-output;else if(p-use=2)sum2=sum2+p-output;else if(p-use=3)sum3=su
28、m3+p-output;elsesum4=sum4+p-output;p=p-next;printf( 请选择您要统计的用途printf(n);printf( 请选择scanf(%d,&b);switch(b)case 1: printf(case 2: printf(case 3: printf(case 4: printf(default: printf(1-4):n);在该用途上的支出为在该用途上的支出为在该用途上的支出为在该用途上的支出为错误选择 !n);break;:%lfn,sum1);break;:%lfn,sum2);break;:%lfn,sum3);break;:%lfn,
29、sum4);break;void Counter_time(Pointer2 Head2)int j;Pointer2 p;/按时间统计支出double sum1,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)case 1:sum1=sum1+p-output;break;case 2:sum2=sum2+p-output;break;case 3:sum3=sum3+p-output;break;case 4:sum4=sum4+p-output;break;case 5:sum5=sum5+p-output;break;case 6:sum6=sum6+p-output;break;case 7:sum7=sum7+p-output;break;case 8:sum8=sum8+p-output;break;case 9:sum9=sum9+p-output;break;case 10:sum10=sum10+p-o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程人工涵洞分包协议
- 塑钢门窗安装合同
- 项目设计劳务分包合同样本
- 租房补充协议的法律适用解析
- 园林建设雇佣合同样本
- 冷水热水系统施工劳务分包
- 防水层施工合同范本
- 招标文件审核步骤与要点
- 招标资料食堂大米采购
- python樱花的课课程设计
- 人民陪审员职业道德、司法礼仪及庭审纪律培训
- 屋顶分布式光伏发电施工组织设计
- 无人机航拍服务投标方案(技术方案)
- 全国优质课一等奖人教新目标九年级英语全一册《Unit9 I like music that I can dance to. SectionB 2a-2e》课件
- 孕期饮食课件
- 二手空调买卖合同范本
- 连锁经营与管理专业职业生涯规划书
- 压力容器质量安全风险管控清单(压力容器设计单位)
- 健身指导知识考试题库及答案(500题)
- 1例肺癌终末期患者伴有癌性伤口的个案护理
- 液冷数据中心白皮书 2023:数据中心液冷革命解锁未来的数字冰河
评论
0/150
提交评论