




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#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;OutputLink,* 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(Pointer1 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; Pointer1 r1,p1; Pointer2 Head2=NULL; Pointer2 r2,p2; FILE *fp1,*fp2;p1=r1=(Pointer1)malloc(sizeof(IncomeLink); p2=r2=(Pointer2)malloc(sizeof(OutputLink); printf(请输入你的帐号(即你的学号):); gets(num); for(i=4;i10;i+) mi-4=numi; m6=0; for(i=0;i=1210315101&sumnumber=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=r; else q-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); 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(sizeof(IncomeLink); r-next=NULL; if(r=NULL) printf(分配空间失败n); return; if(q=NULL) *Head2=r; else q-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:吃喝(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) 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; else p=p-next; if(flag) printf(没有查到n); printf(nnnn); getchar();void Search2(Pointer2 Head2) /查询支出 void Search_name(Pointer2 Head2); void Search_number(Pointer2 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; 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); else if(p-use=2) printf(用途:娱乐n); else if(p-use=3) printf(用途:学习n); else printf(用途:其它n); printf(使用人姓名:%s,p-name); printf(n按任意键继续!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,日:%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); else printf(用途:其它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;Pointer1 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);elsep=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); printf(月:); 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);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); else q-next=p-next;free(p); flag=0; printf(记录已删除!); printf(n按任意键继续!n); getchar();elseq=p;p=p-next;if(flag)printf(没有找到可以删除的数据); 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); else q-next=p-next;free(p); flag=0; printf(记录已删除!); printf(n记录已删除,按任意键继续!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(1000);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(用途:学习n); else printf(用途:其它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=sum10=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;break; 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);break; 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(该月份总计为:%lfn,sum10);break; case 11:printf(该月份总计为:%lfn,sum11);break; case 12:printf(该月份总计为:%lfn,sum12)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年知识产权顾问合同
- 2025广东广州市增城区康园工疗站服务中心招聘3人模拟试卷参考答案详解
- 2025年山东开放大学公开招聘人员(11名)模拟试卷参考答案详解
- 2025湖南衡阳市衡南县社会保险服务中心公益性岗位招聘4人考前自测高频考点模拟试题完整参考答案详解
- 2025年渭南市医疗机构定向招聘笔试等后续工作模拟试卷及答案详解(典优)
- 2025甘肃陇南慈航精神康复医院招聘17人模拟试卷附答案详解(模拟题)
- 2025山东济南建工集团有限公司校园招聘40人笔试题库历年考点版附带答案详解
- 2025年福建省福州市公安局地铁分局招聘30人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025江西中小学教师招聘考试南昌考区考前自测高频考点模拟试题及完整答案详解一套
- 2025年汉中市中心医院第二批备案制工作人员招聘(19人)考前自测高频考点模拟试题及一套答案详解
- NoSQL数据库应用与实践 课件 第1-6章 认识NoSQL - 增删改查
- DB37-T4868-2025 既有公路隧道结构健康监测技术规范
- 供应链金融视角下涉农中小企业信用风险评估研究
- 宁夏差旅费管理办法文件
- DB51∕T 3231-2024 公路隧道岩爆防控技术规程
- 新高考考试命题培训心得体会
- 2023CSCO头颈部肿瘤诊疗指南
- DB54∕T 0425.1-2024 公共数据 数据元规范 第一部分:总则
- 七年级语文上册第一单元古诗词赏析训练题
- DZ/T 0275.2-2015岩矿鉴定技术规范第2部分:岩石薄片制样
- 茶叶示范基地管理制度
评论
0/150
提交评论