1、C语言课程设计 通讯录管理系统#include#include#include#include#includestruct record long ID; char code10; char name20; char author10; int pub; double price; int store; int lend; int total; int isdel; struct record *next;typedef struct record book;void input();void display(book *);void update();void search();void d
2、atadelete();void datarecover();void insert();void datasave();void dataopen();book *head;void main() char i; int drive=DETECT,mode; initgraph(&drive,&mode, ); cleardevice(); setbkcolor(9); printf(16co4st8e320,170,0,360,300,70,2,4); printf(16-10|2048,24=2(14)9自动化0710班); printf(16-90|14055,55=11(13)9通讯
3、录管理系统); printf(16-246|28020,20=8(12)9设计者:电气信息 0815 苏迪); printf(16-250|36020,20=8(4)9请按Enter键进入); getch(); for( ; ;) clrscr(); setbkcolor(9); printf(16-5|3040,40=30(2)9* * * * * * 菜 单 * * * * * *); printf(16-130|10035,35=30(7)9a 输入); printf(16-400|10035,35=30(7)9b 显示); printf(16-130|14535,35=30(7)9c
4、修改); printf(16-400|14535,35=30(7)9d 查找); printf(16-130|20535,35=30(7)9e 删除); printf(16-400|20535,35=30(7)9f 恢复); printf(16-130|26035,35=30(7)9g 添加); printf(16-400|26035,35=30(7)9h 统计); printf(16-130|31535,35=30(7)9i 保存); printf(16-400|31535,35=30(7)9j 打开); printf(16-130|36035,35=30(7)9k 退出); printf(
5、16-400|36035,35=30(7)4请选择a至j); i=getch(); if(i=k) break; else switch(i) casea: input();break; caseb: clrscr();display(head);break; casec: update();break; cased: search();break; casee: datadelete();break; casef: datarecover();break; caseg: insert();break; caseh: break; casei: datasave();break; casej:
6、 dataopen(); break; long GetMaxID() /*返回链表里最大的ID值*/ book *curr; long max=0; curr=head; while(curr!=0) if (curr-IDmax) max=curr-ID; curr=curr-next; return max;void input() book *pre,*curr; clrscr(); head=(book *)malloc(sizeof(book); head-ID=0;head-next=0; pre=0;curr=head; printf(n依次输入书代号 书名 作者 出版时间 单
7、价 库存数量 借出数量n); do curr-ID=GetMaxID()+1; scanf(%s,curr-code); scanf(%s,curr-name); scanf(%s,curr-author); scanf(%d,&curr-pub); scanf(%lf,&curr-price); scanf(%d,&curr-store); scanf(%d,&curr-lend); curr-total=curr-store+curr-lend; curr-isdel=0; curr-next=0; if (pre!=0) pre-next=curr; pre=curr;curr=(boo
8、k *)malloc(sizeof(book); printf(输入 回车 录入下一条记录!输入其他字符则退出n); while (getch()=r);void display(book *table) book *curr; if (table=0) printf(没有记录!按任意键继续);getch(); else curr=table; printf(序号 书代号 书名 作者 出版时间 单价 库存数量 借出数量 总数量n); /*6 8 14 10 10 6 10 10 10*/ while (curr!=0) if (curr-isdel!=0) curr=curr-next; co
9、ntinue; printf(%-6ld,curr-ID); printf(%-8s,curr-code); printf(%-14s,curr-name); printf(%-10s,curr-author); printf(%-10d,curr-pub); printf(%-6.1lf,curr-price); printf(%-10d,curr-store); printf(%-10d,curr-lend); printf(%-10dn,curr-total); curr=curr-next; printf(按任意键返回); getch(); int equ(char *str,book
10、 *node) if (node-ID=atol(str) return 1; if (strcmp(node-code,str)=0) return 1; if (strcmp(node-name,str)=0) return 1; if (strcmp(node-author,str)=0) return 1; if (node-pub=atoi(str) return 1; if (node-price=atof(str) return 1; if (node-store=atoi(str) return 1; if (node-lend=atoi(str) return 1; if (
11、node-total=atoi(str) return 1; return 0;void search() book *p; book *pre,*curr; book *resultTable; char str20; clrscr(); printf(请输入要查找的条件n); scanf(%s,str); p=head; resultTable=(book *)malloc(sizeof(book); pre=0;curr=resultTable; while (p!=0) if (!equ(str,p) p=p-next; continue; curr-ID=p-ID; strcpy(c
12、urr-code,p-code); strcpy(curr-name,p-name); strcpy(curr-author,p-author); curr-pub=p-pub; curr-price=p-price; curr-store=p-store; curr-lend=p-lend; curr-total=p-total; curr-isdel=p-isdel; curr-next=0; if (pre!=0) pre-next=curr; pre=curr;curr=(book *)malloc(sizeof(book); p=p-next; free(curr); if(curr
13、=resultTable) printf(无法找到记录!n); getch(); else display(resultTable);void update() book *p; char str20,key; clrscr(); printf(请输入要修改的条件n); scanf(%s,str); p=head; while (p!=0) if (!equ(str,p) p=p-next; continue; clrscr(); printf(搜索到如下记录:n); printf(序号 书代号 书名 作者 出版时间 单价 库存数量 借出数量 总数量n); printf(%-6ld,p-ID); printf(%-8s,p-code); printf(%-14s,p-name); printf(%-10s,p-author); printf(%-10d,p-p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1