合同管理系统C语言代码.doc

上传人:田海滨 文档编号:51547 上传时间:2025-07-09 格式:DOC 页数:9 大小:34KB
下载 相关 举报
合同管理系统C语言代码.doc_第1页
第1页 / 共9页
合同管理系统C语言代码.doc_第2页
第2页 / 共9页
合同管理系统C语言代码.doc_第3页
第3页 / 共9页
合同管理系统C语言代码.doc_第4页
第4页 / 共9页
合同管理系统C语言代码.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、/*合同管理系统*/*头文件(.h)*/#include #include #include #include ctype.h#define M 50 struct addressbook int num; char name20; float money20; char jia15; char yi15; int creatline15; int deadline15; char carryout15; char classify15;typedef struct addressbook AddressBook;int Init(AddressBook t);int AddRecord(Ad

2、dressBook t,int n);void List(AddressBook t,int n);void SearchOnName(AddressBook t,int n);void changeOnName(AddressBook t,int n);int Deleteonname(AddressBook t,int n);void SortOnNum(AddressBook t,int n);int quantityonjia(AddressBook t);void SaveRecord(AddressBook t,int n);int LoadRecord(AddressBook t

3、);int Menu_select();void main() AddressBook adrM; int length; while(1) switch(Menu_select() case 1: length=Init(adr); SaveRecord(adr,length); break; case 2:length=LoadRecord(adr); AddRecord(adr,length); break; case 3:length=LoadRecord(adr); List(adr,length); break; case 4:length=LoadRecord(adr); Sea

4、rchOnName(adr,length); break; case 5:length=LoadRecord(adr); changeOnName(adr,length); SaveRecord(adr,length); List(adr,length); break; case 6:length=LoadRecord(adr); Deleteonname(adr,length); SaveRecord(adr,length); List(adr,length); break; case 7:length=LoadRecord(adr); SortOnNum(adr,length); Save

5、Record(adr,length); List(adr,length); break; case 8:length=LoadRecord(adr); quantityonjia(adr,length); break; case 0:exit(0); /*如返回值为0则程序结束*/ int Menu_select() int c; printf(press any key enter menu.n); getchar(); /*读入任意字符*/ printf(*MENU*nn); printf( 1. 录入初始记录n); printf( 2. 增加记录n); printf( 3. 显示所有记录

6、n); printf( 4. 根据合同名称查找记录n); printf( 5. 根据合同名称修改记录n); printf( 6. 根据合同名称删除记录n); printf( 7. 按合同编号从小到大显示记录n); printf( 8. 根据合同甲方统计其合同量数n); printf( 0. 退出n); printf(*n);do printf(n Enter your choice(0-8):); if(scanf(%d,&c)!=1) while(getchar()!=n) continue;/* continue;*/ while(c8); return c;int Init(Addres

7、sBook t) int i,n; system(cls); printf(n请输入要输入的记录数:n); scanf(%d,&n); printf(开始输入记录:n); for(i=0;in;i+) system(cls); printf(n第%d条合同的编号:,i+1); scanf(%d,&ti.num); printf(第%d条合同的名称:,i+1); scanf(%s,ti.name); printf(第%d条合同的金额:,i+1); scanf(%s,ti.money); printf(第%d条合同的甲方:,i+1); scanf(%s,ti.jia); printf(第%d条合同

8、的乙方:,i+1); scanf(%s,ti.yi); printf(第%d条合同的等级:,i+1); scanf(%s,ti.classify); printf(第%d条合同的生效日期:,i+1); scanf(%s,ti.creatline); printf(第%d条合同的到期日期:,i+1); scanf(%s,ti.deadline); printf(第%d条合同是否完成:,i+1); scanf(%s,ti.carryout); return (n);int AddRecord(AddressBook t,int n) int i,m; char *s; system(cls); p

9、rintf(n请输入在增加的记录数:n); scanf(%d,&m); printf(开始追加记录n); for(i=n;in+m;i+) system(cls); printf(n第%d条合同的编号:,i+1); scanf(%d,&ti.num); printf(第%d条合同的名称:,i+1); scanf(%s,ti.name); printf(第%d条合同的金额:,i+1); scanf(%s,ti.money); printf(第%d条合同的甲方:,i+1); scanf(%s,ti.jia); printf(第%d条合同的乙方:,i+1); scanf(%s,ti.yi); pri

10、ntf(第%d条合同的等级:,i+1); scanf(%s,ti.classify); printf(第%d条合同的生效日期:,i+1); scanf(%s,ti.creatline); printf(第%d条合同的到期日期:,i+1); scanf(%s,ti.deadline); printf(第%d条合同是否完成:,i+1); scanf(%s,ti.carryout); return (n+m);void List(AddressBook t,int n) int i; system(cls); printf(nn*ADDRESS*n); printf(编号 姓名 金额 甲方 乙方 等

11、级 生效日期 到期日期 是否完成n); printf(-n); for(i=0;in;i+) printf(-6d%-20s%-20f,ti.num,ti.name,ti.money); printf(%-15s%-15s%-15d%-15d%-15s%-15n,ti.jia,ti.yi,ti.classify,ti.creatline,ti.deadline,ti.carryout); if(i+1)%10=0) printf(Press any key continue.n); getchar(); printf(*end*n);void SearchOnName(AddressBook

12、t,int n) char s20; int i,flag=0; system(cls); printf(请输入要查找的合同名:n); scanf(%s,s); for(i=0;in;i+) if(strcmp(s,ti.name)=0) flag=1; system(cls); printf(nn此人的信息如下:n); printf(编号 姓名 金额 甲方 乙方 等级 生效日期 到期日期 是否完成n); printf(-n); printf(-6d%-20s%-20f,ti.num,ti.name,ti.money); printf(%-15s%-15s%-15d%-15d%-15s%-15

13、n,ti.jia,ti.yi,ti.classify,ti.creatline,ti.deadline,ti.carryout); if(flag=0) printf(查无此人!n);int Deleteonname(AddressBook t,int n) char s20; char ch=N; int i,j,flag=0; system(cls); printf(请输入要删除的合同名n); scanf(%s,s); for(i=0;in;i+) if(strcmp(s,ti.name)=0) flag=1; system(cls); printf(nn*ADDRESS*n); prin

14、tf(编号 姓名 金额 甲方 乙方 等级 生效日期 到期日期 是否完成n); printf(-n); printf(%-6d%-20s%-20f,ti.num,ti.name,ti.money); printf(%-15s%-15s%-15d%-15d%-15s%-15n,ti.jia,ti.yi,ti.classify,ti.creatline,ti.deadline,ti.carryout); printf(Are you sure delete it(Y/N)n); ch=getchar(); if(ch=y|ch=Y) for(j=i;jn-1;j+) tj=tj+1; n-; i-;

15、 if(flag=0) printf(查无此人!n); return n;void changeOnName(AddressBook t,int n) char s20; int i,j,flag=0; system(cls); printf(请输入要修改的合同名:n); scanf(%s,s); for(i=0;in;i+) if(strcmp(s,ti.name)=0) flag=1; system(cls); printf(nn*ADDRESS*n); printf(编号 姓名 金额 甲方 乙方 等级 生效日期 到期日期 是否完成n); printf(-n); scanf(%-6d%-2

16、0s%-20f,ti.num,ti.name,ti.money); scanf(%-15s%-15s%-15d%-15d%-15s%-15n,ti.jia,ti.yi,ti.classify,ti.creatline,ti.deadline,ti.carryout); if(flag=0) printf(查无此人!n); return n; void SortOnNum(AddressBook t,int n) int i,j,flag; AddressBook temp; for(j=1;jn;j+) for(i=0;iti+1.num) temp=ti; ti=ti+1; ti+1=tem

17、p; printf(排序成功!n);int quantityonjia(AddressBook t) int i,n=0; system(cls); for(i=0;in;i+) printf(第%d条合同的甲方:,i+1); scanf(%s,ti.jia); n+; return(n);/*保存函数,参数为结构体数组和记录数*/void SaveRecord(AddressBook t,int n) int i; FILE *fp; /*指向文件的指针*/ if(fp=fopen(record.txt,w)=NULL) printf(can not open filen); exit(1)

18、 fprintf(fp,%d,n); fprintf(fp,rn); for(i=0;in;i+) fprintf(fp,%-6d%-20s%-20f,ti.num,ti.name,ti.money); fprintf(fp,%-15s%-15s%-15d%-15d%-15s%-15n,ti.jia,ti.yi,ti.classify,ti.creatline,ti.deadline,ti.carryout); fprintf(fp,rn); fclose(fp);/*关闭文件*/*读入函数,参数为结构体数组*/int LoadRecord(AddressBook t) int i,n; F

19、ILE *fp; if(fp=fopen(record.txt,a+)=NULL) printf(can not open filen); exit(1); fscanf(fp,%d,&n); for(i=0;in;i+) fscanf(fp,%6d%20s%20f%-15s%-15s%-15d%-15d%-15s%-15n,&ti.num,ti.name,ti.money,ti.jia,ti.yi,ti.classify,ti.creatline,ti.deadline,ti.carryout); fclose(fp); printf(从文件中成功读出记录!n); return n; 友情提示:部分文档来自网络整理,供您参考!文档可复制、编辑,期待您的好评与关注!9 / 9

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > C/C++资料

宁ICP备18001539号-1