图书管理系统设计(C语言).pdf

上传人:tbuqq 文档编号:4666793 上传时间:2019-11-24 格式:PDF 页数:14 大小:217.91KB
返回 下载 相关 举报
图书管理系统设计(C语言).pdf_第1页
第1页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《图书管理系统设计(C语言).pdf》由会员分享,可在线阅读,更多相关《图书管理系统设计(C语言).pdf(14页珍藏版)》请在三一文库上搜索。

1、个人资料整理仅限学习使用 1 / 14 图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、 学号等 功能描述: 1新进熟土基本信息地输入 2图书基本信息地查询 3对撤消图书信息地删除 4为借书人办理注册 5办理借书手续 6办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作. 这是本人大一第二学期初C 语言课程设计地作品,嘿嘿 ,本来以为已经找不到原稿了,今天无 意中竟然在QQ 网络硬盘中找到了当初地teta版,发布于此 ,以作纪念 .b5E2RGbCAP C 源代码如下: #include #include #include struct

2、book char book_name30 。 个人资料整理仅限学习使用 2 / 14 int bianhao。 double price。 char author20 。 char state20。 char name20。 char sex10。 int xuehao。 struct book *book_next 。 。 struct club char name20。 char sex10。 int xuehao。 char borrow30 。 struct club *club_next 。 。 void Print_Book(struct book *head_book。/*浏览

3、所有图书信息*/ p1EanqFDPw void Print_Club(struct club *head_club。/*浏览所有会员信息*/ DXDiTa9E3d struct book *Create_New_Book( 。 /* 创 建 新 地 图 书 库 ,图 书 编 号 输 入 为0 时 结 束 */ RTCrpUDGiT struct book *Search_Book_bianhao(int bianhao,struct book *head_book。 5PCzVD7HxA struct book *Search_Book_name(char *b_name,struct bo

4、ok *head_book。 jLBHrnAILg struct book *Search_Book_price(double price_h,double price_l,struct book *head_book 。 xHAQX74J0X struct book *Insert_Book(struct book *head_book,struct book *stud_book。/*增加图书 ,逐个添 加*/ LDAYtRyKfE struct book *Delete_Book(struct book *head_book,int bianhao。/*删除图书 */ Zzz6ZB2Lt

5、k struct club *Create_New_Club( 。 struct club *Search_Club_xuehao(int xuehao,struct club *head_club。 dvzfvkwMI1 struct club *Search_Club_name(char *c_name,struct club *head_club。 rqyn14ZNXI struct club *Insert_Club(struct club *head_club,struct club *stud_club。 EmxvxOtOco struct club *Delete_Club(st

6、ruct club *head_club,int xuehao。 SixE2yXPq5 struct book *Lent_Book(int bianhao,int xuehao,struct book *head_book,struct club *head_club 。 6ewMyirQFL struct book *back(int bianhao,int xuehao,struct book *head_book,struct club *head_club 。 kavU42VRUs int main( struct book *head_book,*p_book 。 char boo

7、k_name30,name20,author20,sex10 。 int bianhao。 double price,price_h,price_l 。 int size_book=sizeof(struct book 。 int m=1,n=1,f 。 个人资料整理仅限学习使用 3 / 14 char *b_name,*c_name 。 struct club *head_club,*p_club 。 int xuehao。 int size_club=sizeof(struct club 。 int choice。 printf(“n 欢迎您第一次进入图书管理系统!nn“ 。 printf

8、(“- 向导 - 新建图书库 nn“ 。 printf(“ 注意 :当输入图书编号为0 时,进入下一步 .nn“ 。 head_book=Create_New_Book( 。 system(“cls“ 。 printf(“n 欢迎您第一次进入图书管理系统!nn“ 。 printf(“- 向导 - 新建会员库 nn“ 。 printf(“ 注意 :当输入会员学号为0 时,进入主菜单 .nn“ 。 head_club=Create_New_Club( 。 system(“cls“ 。 do printf(“nttt 图书管理系统nn“ 。 printf(“n“ 。 printf(“ttt1:借书办

9、理 t“ 。printf(“ 6: 还书办理 n“。 printf(“n“ 。 printf(“ttt2:查询图书 t“ 。printf(“ 7: 查询会员 n“。 printf(“ttt3:添加图书 t“ 。printf(“ 8: 添加会员 n“。 printf(“ttt4:删除图书 t“ 。printf(“ 9: 删除会员 n“。 printf(“ttt5:遍历图书 t“ 。printf(“10: 遍历会员 nn“。 y6v3ALoS89 printf(“ttt nn“。 printf(“ttt0: 退出 nn“ 。 printf(“ 请选择 :“ 。 scanf(“%d“,&choice

10、 。 switch(choice case 1: printf(“nttt 图书管理系统nn“ 。 printf(“ 输入所借图书编号:n“ 。 scanf(“%d“,&bianhao 。 printf(“ 输入借书人地学号:n“ 。 scanf(“%d“,&xuehao 。 head_book=Lent_Book(bianhao,xuehao,head_book,head_club 。 M2ub6vSTnP system(“cls“ 。 printf(“n 借阅成功 !nn“ 。 printf(“ 相关信息如下:nn“ 。 head_book=Search_Book_bianhao(bian

11、hao,head_book。 break。 case 2: system(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 个人资料整理仅限学习使用 4 / 14 printf(“1. 按编号查询 nn“ 。 printf(“2. 按名称查询 nn“ 。 printf(“3. 按价格区间查询nn“。 printf(“0. 返回主菜单 nn“ 。 printf(“ 请选择 :“ 。 scanf(“%d“,&f 。 if(f=1 printf(“ 请输入查询图书编号:“。 scanf(“%d“,&bianhao 。 printf(“ 相关信息如下:nn“ 。 head_book=S

12、earch_Book_bianhao(bianhao,head_book。 break。 else if(f=2 b_name=book_name。 getchar(。 printf(“ 请输入查询图书名称:“。 gets(b_name。 printf(“ 相关信息如下:nn“ 。 head_book=Search_Book_name(b_name,head_book。 break。 else if(f=3 printf(“ 请输入最高价格:“。 scanf(“%lf“,&price_h。 printf(“ 请输入最低价格:“。 scanf(“%lf“,&price_l。 printf(“ 相

13、关信息如下:nn“ 。 head_book=Search_Book_price(price_h,price_l,head_book 。 0YujCfmUCw break。 else if(f=0 break。 break。 case 6: printf(“nttt 图书管理系统nn“ 。 printf(“ 输入所还图书编号:n“ 。 scanf(“%d“,&bianhao 。 printf(“ 输入还书人地学号:n“ 。 scanf(“%d“,&xuehao 。 head_book=back(bianhao,xuehao,head_book,head_club。 eUts8ZQVRd syst

14、em(“cls“ 。 printf(“n 归还成功 !nn“ 。 个人资料整理仅限学习使用 5 / 14 printf(“ 相关信息如下:nn“ 。 head_book=Search_Book_bianhao(bianhao,head_book。 break。 case 3: system(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 printf(“ 请输入图书名称:“。 scanf(“%s“,book_name 。 printf(“ 请输入图书编号:“。 scanf(“%d“,&bianhao 。 printf(“ 请输入单价 :“ 。 scanf(“%lf“,&pri

15、ce。 printf(“ 请输入作者名字:“。 scanf(“%s“,author 。 printf(“n“ 。 struct book *ptr_b 。 for(ptr_b=head_book 。ptr_b。ptr_b=ptr_b-book_next if(ptr_b-bianhao=bianhao printf(“ 此编号图书已存在n“ 。 m=0。 break。 if(m p_book=(struct book *malloc(size_book。 strcpy(p_book-book_name,book_name 。 p_book-bianhao=bianhao 。 p_book-pr

16、ice=price 。 p_book-xuehao=0。 strcpy(p_book-author,author 。 strcpy(p_book-state,“ 存在 “。 strcpy(p_book-sex,“ 待定 “。 strcpy(p_book-name,“ 待定 “。 head_book=Insert_Book(head_book,p_book 。 printf(“n 添加图书成功 !nn“ 。 break。 case 4: system(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 printf(“ 输入删除图书编号:n“ 。 scanf(“%d“,&bianh

17、ao 。 head_book=Delete_Book(head_book,bianhao 。 个人资料整理仅限学习使用 6 / 14 printf(“n 删除图书成功 !nn“ 。 break。 case 5: system(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 Print_Book(head_book 。 break。 case 7: system(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 printf(“1. 按学号查询 nn“ 。 printf(“2. 按姓名查询 nn“ 。 printf(“0. 返回主菜单 nn“ 。 printf(

18、“ 请选择 :“ 。 scanf(“%d“,&f 。 if(f=1 printf(“ 请输入查询会员学号:“。 scanf(“%d“,&xuehao 。 printf(“ 相关信息如下:nn“ 。 head_club=Search_Club_xuehao(xuehao,head_club。 break。 else if(f=2 c_name=name。 getchar(。 printf(“ 请输入查询会员姓名:“。 gets(c_name。 printf(“ 相关信息如下:nn“ 。 head_club=Search_Club_name(c_name,head_club。 break。 els

19、e if(f=0 break。 break。 printf(“ 请输入查询会员学号:n“ 。 scanf(“%d“,&xuehao 。 printf(“ 相关信息如下:nn“ 。 break。 case 8: system(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 printf(“ 请输入会员名字:“。 scanf(“%s“,name 。 个人资料整理仅限学习使用 7 / 14 printf(“ 请输入会员性别:“。 scanf(“%s“,sex 。 printf(“ 请输入会员学号:“。 scanf(“%d“,&xuehao 。 printf(“n“ 。 struct

20、 club *ptr_c 。 for(ptr_c=head_club 。ptr_c。ptr_c=ptr_c-club_next if(ptr_c-xuehao=xuehao printf(“ 此学号会员已存在n“。 n=0。 break。 if(n p_club=(struct club *malloc(sizeof(struct club。 strcpy(p_club-name,name 。 strcpy(p_club-sex,sex 。 p_club-xuehao=xuehao 。 strcpy(p_club-borrow,“ 暂无 “。 head_club=Insert_Club(hea

21、d_club,p_club 。 printf(“n 添加会员成功 !nn“ 。 break。 case 9: system(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 printf(“ 输入要删除会员学号:n“ 。 scanf(“%d“,&xuehao 。 head_club=Delete_Club(head_club,xuehao 。 printf(“n 删除会员成功 !nn“ 。 break。 case 10: system(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 Print_Club(head_club 。 break。 case 0: s

22、ystem(“cls“ 。 printf(“nttt 图书管理系统nn“ 。 printf(“n 谢谢您地使用 !nn“ 。 break。 while(choice!=0 。 return 0。 struct book *Create_New_Book( struct book *head_book,*p_book 。 int bianhao。 个人资料整理仅限学习使用 8 / 14 double price。 char book_name30,author20 。 int size_book=sizeof(struct book 。 head_book=NULL 。 printf(“ 请输入

23、图书名称:“。 scanf(“%s“,book_name 。 printf(“ 请输入图书编号:“。 scanf(“%d“,&bianhao 。 printf(“ 请输入单价 :“ 。 scanf(“%lf“,&price。 printf(“ 请输入作者名字:“。 scanf(“%s“,author 。 printf(“n“ 。 while(bianhao!=0 p_book=(struct book *malloc(size_book。 strcpy(p_book-book_name,book_name 。 p_book-bianhao=bianhao 。 p_book-price=pric

24、e 。 p_book-xuehao=0。 strcpy(p_book-author,author 。 strcpy(p_book-state,“ 存在 “。 strcpy(p_book-sex,“ 待定 “。 strcpy(p_book-name,“ 待定 “。 head_book=Insert_Book(head_book,p_book 。 printf(“ 请输入图书名称:“。 scanf(“%s“,book_name 。 printf(“ 请输入图书编号:“。 scanf(“%d“,&bianhao 。 printf(“ 请输入单价 :“ 。 scanf(“%lf“,&price。 pr

25、intf(“ 请输入作者名字:“。 scanf(“%s“,author 。 printf(“n“ 。 return head_book。 struct book *Search_Book_bianhao(int bianhao,struct book *head_book sQsAEJkW5T struct book *ptr_book 。 int flag=0 。 for(ptr_book=head_book 。ptr_book。ptr_book=ptr_book-book_next GMsIasNXkA if(ptr_book-bianhao=bianhao printf(“ 图书编号 :

26、%dn“,ptr_book-bianhao 。 printf(“ 图书名称 :%sn“,ptr_book-book_name 。 printf(“ 图书单价 :%.2lfn“,ptr_book-price。 个人资料整理仅限学习使用 9 / 14 printf(“ 图书作者 :%sn“,ptr_book-author 。 printf(“ 存在状态 :%sn“,ptr_book-state 。 printf(“ 借书人姓名 :%sn“,ptr_book-name 。 printf(“ 借书人性别 :%sn“,ptr_book-sex 。 printf(“ 学号 :%dn“,ptr_book-x

27、uehao 。 printf(“n“ 。 flag+ 。 if(flag=0printf(“暂无此图书信息!nn“ 。 return head_book。 struct book *Search_Book_name(char *b_name,struct book *head_book TIrRGchYzg struct book *ptr_book 。 int flag=0 。 for(ptr_book=head_book 。ptr_book。ptr_book=ptr_book-book_next 7EqZcWLZNX if(strcmp(ptr_book-book_name,b_name=

28、0 printf(“ 图书编号 :%dn“,ptr_book-bianhao 。 printf(“ 图书名称 :%sn“,ptr_book-book_name 。 printf(“ 图书单价 :%.2lfn“,ptr_book-price。 printf(“ 图书作者 :%sn“,ptr_book-author 。 printf(“ 存在状态 :%sn“,ptr_book-state 。 printf(“ 借书人姓名 :%sn“,ptr_book-name 。 printf(“ 借书人性别 :%sn“,ptr_book-sex 。 printf(“ 学号 :%dn“,ptr_book-xueh

29、ao 。 printf(“n“ 。 flag+ 。 if(flag=0printf(“暂无此图书信息!nn“ 。 return head_book。 struct book *Search_Book_price(double price_h,double price_l,struct book *head_book lzq7IGf02E struct book *ptr_book 。 int flag=0 。 for(ptr_book=head_book 。ptr_book。ptr_book=ptr_book-book_next zvpgeqJ1hk if(ptr_book-price=pri

30、ce_l&(ptr_book-price NrpoJac3v1 printf(“ 图书编号 :%dn“,ptr_book-bianhao 。 printf(“ 图书名称 :%sn“,ptr_book-book_name 。 printf(“ 图书单价 :%.2lfn“,ptr_book-price。 printf(“ 图书作者 :%sn“,ptr_book-author 。 个人资料整理仅限学习使用 10 / 14 printf(“ 存在状态 :%sn“,ptr_book-state 。 printf(“ 借书人姓名 :%sn“,ptr_book-name 。 printf(“ 借书人性别 :

31、%sn“,ptr_book-sex 。 printf(“ 学号 :%dn“,ptr_book-xuehao 。 printf(“n“ 。 flag+ 。 if(flag=0printf(“暂无此图书信息!nn“ 。 return head_book。 struct book *Delete_Book(struct book *head_book,int bianhao 1nowfTG4KI struct book *ptr1_book,*ptr2_book。 while(head_book!=NULL & head_book-bianhao=bianhao fjnFLDa5Zo ptr2_bo

32、ok=head_book 。 head_book=head_book-book_next 。 free(ptr2_book 。 if(head_book=NULL return NULL。 ptr1_book=head_book 。 ptr2_book=head_book-book_next 。 while(ptr2_book!=NULL if(ptr2_book-bianhao=bianhao ptr1_book-book_next=ptr2_book-book_next。 free(ptr2_book 。 else ptr1_book=ptr2_book 。 ptr2_book=ptr1_

33、book-book_next 。 return head_book。 struct club *Create_New_Club( struct club *head_club,*p_club。 int xuehao。 char name20,sex10 。 int size_club=sizeof(struct club 。 head_club=NULL 。 printf(“ 请输入会员名字:“。scanf(“%s“,name 。 printf(“ 请输入会员性别:“。scanf(“%s“,sex 。 printf(“ 请输入会员学号:“。 scanf(“%d“,&xuehao 。 print

34、f(“n“ 。 while(xuehao!=0 个人资料整理仅限学习使用 11 / 14 p_club=(struct club *malloc(size_club。 strcpy(p_club-name,name 。 strcpy(p_club-sex,sex 。p_club-xuehao=xuehao。 strcpy(p_club-borrow,“ 暂无 “。 head_club=Insert_Club(head_club,p_club 。 printf(“ 请输入会员名字:“。 scanf(“%s“,name 。 printf(“ 请输入会员性别:“。scanf(“%s“,sex 。 p

35、rintf(“ 请输入会员学号:“。 scanf(“%d“,&xuehao 。 printf(“n“ 。 return head_club。 struct club *Search_Club_xuehao(int xuehao,struct club *head_club tfnNhnE6e5 struct club *ptr_club 。 int flag=0 。 for(ptr_club=head_club 。ptr_club 。ptr_club=ptr_club-club_next HbmVN777sL if(ptr_club-xuehao=xuehao printf(“ 会员姓名 :%

36、sn“,ptr_club-name 。 printf(“ 会员性别 :%sn“,ptr_club-sex 。 printf(“ 会员学号 :%dn“,ptr_club-xuehao 。 printf(“ 所借图书 :%sn“,ptr_club-borrow 。 printf(“n“ 。 flag+ 。 if(flag=0printf(“此用户不存在 !nn“ 。 return head_club。 struct club *Search_Club_name(char *c_name,struct club *head_club V7l4jRB8Hs struct club *ptr_club

37、。 int flag=0 。 for(ptr_club=head_club 。ptr_club 。ptr_club=ptr_club-club_next 83lcPA59W9 if(strcmp(ptr_club-name,c_name=0 printf(“ 会员姓名 :%sn“,ptr_club-name 。 printf(“ 会员性别 :%sn“,ptr_club-sex 。 printf(“ 会员学号 :%dn“,ptr_club-xuehao 。 printf(“ 所借图书 :%sn“,ptr_club-borrow 。 printf(“n“ 。 flag+ 。 if(flag=0 p

38、rintf(“此用户不存在!nn“ 。 return head_club。 struct book *Lent_Book(int bianhao,int xuehao,struct book *head_book,struct club *head_club 个人资料整理仅限学习使用 12 / 14 mZkklkzaaP struct book *ptr_book 。 struct club *ptr_club 。 int flag=0 。 for(ptr_book=head_book 。ptr_book。ptr_book=ptr_book-book_next AVktR43bpw for(p

39、tr_club=head_club 。ptr_club 。ptr_club=ptr_club-club_next ORjBnOwcEd if(ptr_book-bianhao=bianhao&(ptr_club-xuehao=xuehao 2MiJTy0dTT strcpy(ptr_book-name,ptr_club-name。/* 字符串地复制,把右边地内容复制到左边*/ gIiSpiue7A strcpy(ptr_book-sex,ptr_club-sex 。 ptr_book-xuehao=ptr_club-xuehao 。 strcpy(ptr_book-state,“ 暂无 “。

40、strcpy(ptr_club-borrow,ptr_book-book_name。 flag+ 。 uEh0U1Yfmh if(flag=0printf(“暂无此图书或您还未注册为会员!nn“ 。 return head_book。 struct book *back(int bianhao,int xuehao,struct book *head_book,struct club *head_club IAg9qLsgBX struct book *ptr_book 。 struct club *ptr_club 。 int flag=0 。 for(ptr_book=head_book

41、。ptr_book。ptr_book=ptr_book-book_next WwghWvVhPE for(ptr_club=head_club 。ptr_club 。ptr_club=ptr_club-club_next asfpsfpi4k if(ptr_book-bianhao=bianhao & (ptr_club-xuehao=xuehao ooeyYZTjj1 strcpy(ptr_book-name,“ 暂无 “。 strcpy(ptr_book-sex,“ 待定 “。 BkeGuInkxI ptr_book-xuehao=0 。 strcpy(ptr_book-state,“ 暂

42、无 “。 strcpy(ptr_club-borrow,“ 暂无 “。 flag+ 。 if(flag=0 printf(“输入有误 ,请重试 nn“ 。 return head_book。 struct book *Insert_Book(struct book *head_book,struct book *stud_book PgdO0sRlMo struct book *ptr_b,*ptr1_b,*ptr2_b。 ptr2_b=head_book。 ptr_b=stud_book。 if(head_book=NULL head_book=ptr_b。 head_book-book_n

43、ext=NULL 。 else while(ptr_b-bianhao ptr2_b-bianhao & (ptr2_b-book_next!=NULL 3cdXwckm15 个人资料整理仅限学习使用 13 / 14 ptr1_b=ptr2_b 。 ptr2_b=ptr2_b-book_next 。 if(ptr_b-bianhao bianhao if(head_book=ptr2_b head_book=ptr_b 。 else ptr1_b-book_next=ptr_b 。 ptr_b-book_next=ptr2_b 。 else ptr2_b-book_next=ptr_b 。 p

44、tr_b-book_next=NULL 。 return head_book。 struct club *Insert_Club(struct club *head_club,struct club *stud_club h8c52WOngM struct club *ptr_c,*ptr1_c,*ptr2_c。 ptr2_c=head_club。 ptr_c=stud_club 。 if(head_club=NULL head_club=ptr_c。 head_club-club_next=NULL 。 else while(ptr_c-xuehao ptr2_c-xuehao & (ptr

45、2_c-club_next!=NULL v4bdyGious ptr1_c=ptr2_c 。 ptr2_c=ptr2_c-club_next 。 if(ptr_c-xuehao xuehao if(head_club=ptr2_c head_club=ptr_c 。 else ptr1_c-club_next=ptr_c 。 ptr_c-club_next=ptr2_c 。 else ptr2_c-club_next=ptr_c 。 ptr_c-club_next=NULL。 return head_club。 void Print_Club(struct club *head_club st

46、ruct club *ptr_c 。 if(head_club=NULL printf(“n 无记录 nn“ 。 return。 printf(“n 会员姓名 t 会员性别 t 会员学号 nn“。 个人资料整理仅限学习使用 14 / 14 for(ptr_c=head_club 。ptr_c。ptr_c=ptr_c-club_next printf(“%stt%stt%dn“,ptr_c-name,ptr_c-sex,ptr_c-xuehao。 J0bm4qMpJ9 struct club *Delete_Club(struct club *head_club,int xuehao XVauA9grYP struct club *ptr1_club,*ptr2_club。 while(head_club!=NULL & head_club-xuehao=xuehao bR9C6TJscw ptr2_club=head_club 。 head_club=head_club-club_next 。 pN9LBDdtrd free(ptr2_club 。 if(head_club=NULL return NULL。 ptr1_club=head_club 。 ptr2_club=head_club-club_next 。 DJ8T7nHuGT while(

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1