《合同管理系统C语言代码》由会员分享,可在线阅读,更多相关《合同管理系统C语言代码(12页珍藏版)》请在金锄头文库上搜索。
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); S
4、earchOnName(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); Sa
5、veRecord(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(Addr
7、essBook 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);
9、 printf(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); p
10、rintf(第%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(编号 姓名 金额 甲方 乙方 等级 生效日期 到期日期 是否完成n); printf(-n); for(i=0;in;i+) printf(-6d%-20s%-20f,ti.num,ti.name,ti.money);