C语言图方案管理系统代码

上传人:hu****59 文档编号:279973630 上传时间:2022-04-20 格式:PDF 页数:49 大小:44.88KB
返回 下载 相关 举报
C语言图方案管理系统代码_第1页
第1页 / 共49页
C语言图方案管理系统代码_第2页
第2页 / 共49页
C语言图方案管理系统代码_第3页
第3页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言图方案管理系统代码》由会员分享,可在线阅读,更多相关《C语言图方案管理系统代码(49页珍藏版)》请在金锄头文库上搜索。

1、#include #include #include struct book int num; char bname50; char wname20; char press50; char sort50; int time; float price; struct book *next; ; struct book *creatbook(); / 创建链表struct book *addbook(struct book *head); / 添加图书int yanzheng(struct book *head,int m); / 验证新添加的图书编码是否已存在void deletebook(st

2、ruct book *head); / 删除图书void fprint(struct book *head); / 将链表写入文件struct book *load(); / 从文件中读取信息并建成链表void print_book(struct book *head); / 将链表信息输出void chaxun(struct book *head); / 查询图书信息void num_chaxun(struct book *head); / 按图书编号查询图书void wname_chaxun(struct book *head); / 按作者名查询图书void sort_chaxun(st

3、ruct book *head); / 按类别查询图书void time_chaxun(struct book *head); / 按出版时间查询图书void bname_chaxun(struct book *head); / 按图书名查询图书void xiugai(struct book *head); / 修改图书信息void paixu(struct book *head); / 对图书进行排序void num_paixu(struct book *head); / 按图书编号排序void time_paixu(struct book *head); / 按图书出版时间排序void p

4、rice_paixu(struct book *head); / 按图书价格排序void bname_paixu(struct book *head); / 按图书名排序void wname_paixu(struct book *head); / 按作者名排序int main() int choice,n,x,y=1,c,c1=1234; char a,d,b10,b110=yjk; struct book *head=NULL; while(y) system(cls); printf(nnnnnnn); printf( * 欢迎光临*nn); printf( * 图书信息管理系统*nnn)

5、; printf(nn); printf( =1- 用户登录 =n); printf( =0- 退出系统 =n); printf( 请输入您的选择 :); scanf(%d,&n); printf(n); getchar(); switch(n) case 0: y=0; break; case 1: printf( 请输入您的用户名 :); gets(b); printf(n); printf( 请输入您的密码 :); scanf(%d,&c); printf(n); if(strcmp(b,b1)!=0|c!=c1) printf( 验证失败 ,请重新输入 !n); scanf(%c,&d

6、); getchar(); system(cls); else printf( 验证通过 !请按 Enter 键进入 !n); scanf(%c,&d); getchar(); x=1; while(x) system(cls); printf( -n); printf( *图书信息管理系统*n); printf( -nn); printf( *nn); printf( *nn); printf( | 1- 添加图书2-删除图书|nn); printf( | 3- 图书列表4-图书排序|nn); printf( | 5- 查询图书6-修改图书|nn); printf( | 7- 录入数据0-退

7、出系统|nn); printf( *nn); printf( *nn); printf( 请输入所选择的序号 :); scanf(%d,&choice); getchar(); system(cls); switch(choice) case 0: x=0;break; case 1: head=load(); if(head=NULL) printf( 文件为空 ,请先录入数据 !n); getchar(); break; else head=addbook(head); printf( 添加成功 !n); printf( 是否将新信息保存到文件?(y/n)n); scanf(%c,&a);

8、 getchar(); switch(a) case n: break; case y: fprint(head); printf( 保存成功 !n); getchar(); break; break; case 2: head=load(); if(head=NULL) printf( 文件为空 ,请先录入数据 !n); getchar(); break; else deletebook(head); getchar(); break; break; case 3: head=load(); if(head=NULL) printf( 文件为空 ,请先录入数据 !n); getchar();

9、 break; else print_book(head); getchar(); break; case 4: head=load(); if(head=NULL) printf( 文件为空 ,请先录入数据 !n); getchar(); break; else paixu(head); getchar(); break; case 5: head=load(); if(head=NULL) printf( 文件为空 ,请先录入数据 !n); getchar(); break; else chaxun(head); getchar(); break; case 6: head=load();

10、 if(head=NULL) printf( 文件为空 ,请先录入数据 !n); getchar(); break; else xiugai(head); getchar(); break; break; case 7: printf( 注意:输入图书编码为0 时结束 !n); head=creatbook(); printf( 是否将输入的信息保存到文件以覆盖文件中已存在的信息 ?(y/n)n); getchar(); scanf(%c,&a); getchar(); switch(a) case n: break; case y: fprint(head); printf( 保存成功 !n

11、); getchar(); break; break; default: printf( 您的输入有误 ,请重新输入 !n); getchar(); break; break; default: printf( 您的输入有误 ! 请重新输入 !n); getchar(); break; / 录入数据并形成链表struct book *creatbook() struct book *head,*tail,*p; int num,time,n; char bname50,wname20,press50,sort50; float price; int size=sizeof(struct boo

12、k); head=tail=NULL; printf( 请输入图书编号 :); scanf(%d,&num); printf( 请输入图书名 :); scanf(%s,bname); getchar(); printf( 请输入作者名 :); scanf(%s,wname); getchar(); printf( 请输入出版社 :); scanf(%s,press); getchar(); printf( 请输入类别 :); scanf(%s,sort); getchar(); printf( 请输入出版时间 :); scanf(%d,&time); getchar(); printf( 请输

13、入价格 :); scanf(%f,&price); getchar(); while(1) p=(struct book *)malloc(size); p-num=num; strcpy(p-bname,bname); strcpy(p-wname,wname); strcpy(p-press,press); strcpy(p-sort,sort); p-time=time; p-price=price; p-next=NULL; if(head=NULL) head=p; else tail-next=p; tail=p; do printf( 请输入图书编号 :); scanf(%d,&

14、num); n=yanzheng(head,num); if(n=0) break; else printf( 您输入的编号已存在 ,请重新输入 !n); while(1); if(num=0) break; else printf( 请输入图书名 :); scanf(%s,bname); getchar(); printf( 请输入作者名 :); scanf(%s,wname); getchar(); printf( 请输入出版社 :); scanf(%s,press); getchar(); printf( 请输入类别 :); scanf(%s,sort); getchar(); prin

15、tf( 请输入出版时间 :); scanf(%d,&time); getchar(); printf( 请输入价格 :); scanf(%f,&price); getchar(); return head; / 插入结点,并且插入后仍按一定顺序struct book *addbook(struct book *head) struct book *ptr,*p1,*p2,*p; char bname50,wname20,press50,sort50; int size=sizeof(struct book); int num,time,n=1; float price; do printf(

16、请输入图书编号 :); scanf(%d,&num); n=yanzheng(head,num); if(n=0) break; else printf( 您输入的编号已存在 ,请重新输入 !n); while(1); printf( 请输入图书名 :); scanf(%s,bname); getchar(); printf( 请输入作者名 :); scanf(%s,wname); getchar(); printf( 请输入出版社 :); scanf(%s,press); getchar(); printf( 请输入类别 :); scanf(%s,sort); getchar(); printf( 请输入出版时间 :); scanf(%d,&time); getchar(); printf( 请输入价格 :); scanf(%f,&price); getchar(); p=(struct book *)malloc(size); p-num=num; strcpy(p-bname,bname); strcpy(p-wname,wname); strcpy(p-press,press)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号