c语言图书管理系统用什么软件,编写c语言的软件 纯C语言编写图书管理系统.doc...

编写c语言的软件 纯C语言编写图书管理系统

编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp

导读:就爱阅读网友为您分享以下“纯C语言编写图书管理系统WORD文档bbszp”的资讯,希望对您有所帮助,感谢您对92的支持!

《C语言程序设计》课程设计

实验报告

题目: 图书管理系统

完成日期: 年 月 日

专业:

班级: 姓名: 成绩:

指导教师:

目 录

第一章 系统功能模块结构图………………………………………………….3

1.1 系统调用的函数……………………………… …………………..3 1.2 图书管理系统模块……………………………… ………………..3 1.3 管理系统数据流图……………………………… ……………… .4 1.4 系统主菜单……………………………… ……………………..5 1.5 图书查询……………………………… ……………………..5 1.6 借阅图书……………………………… … …………………..5 1.7 管理系统……………………………… …………………… ..5 1.8 还书……………………………… ………………………….6 1.9 退出系统……………………………… ……………………..6

第二章 图书管理系统的结构………………………………………………….6

2.1 主函数流程图……………………………… ………………..6 2.2 程序文件存储设计……………………………… ………………..7

第三章 图书管理系统测试………………………………………… ………..7

3.1 实验结果……………………………………… …………

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常详细的 C语言程序!!!可以用 /*12. bookfunction.c源程序*/ /*** bookfunction.c***/ /*添加图书*/ #include "c13_book.c" void BookAdd() { FILE *fp; Book consultbook; fp=fopen("book.txt","rb");/*读方式打开文件*/ if(fp==NULL) fp=fopen("book.txt","wb"); /*写方式打开文件*/ else/*如果有书就添加*/ { fclose(fp); fp=fopen("book.txt","ab");/*追加方式打开文件*/ } ClrScr();/*清屏*/ printf("Intput new book num: ");/*逐个输入新图书的资料*/ gets(consultbook.num); gotoxy(2,4); printf("Input new book name: "); gets(consultbook.name); gotoxy(2,5); printf("Please input new book's price: "); scanf("%d%*c",&consultbook.price); strcpy(consultbook.person,""); consultbook.yes=1;/*表示书存在未借出*/ consultbook.next=NULL; fwrite(&consultbook,sizeof(Book),1,fp);/*块写*/ fclose(fp); /*关闭文件*/ ClrScr(); } /*图书查询*/ void BookConsult() { FILE *fp; Book consultbook; char bookname[20]; /*书名*/ int flag=0,i=0; ClrScr(); gotoxy(2,3); printf("Input the book name: "); gets(bookname); /*输入要查询的图书名*/ fp=fopen("book.txt","rb"); if(fp==NULL)/*没找到文件*/ { ClrScr(); gotoxy(2,3); printf("Error!"); fclose(fp); return; } else while(!feof(fp))/*查询图书资料*/ { fread(&consultbook,sizeof(Book),1,fp); if(strcmp(consultbook.name,bookname)==0)/*如果查找到*/ { ClrScr(); gotoxy(2,3+i*5); printf("This book %s information as follow:",consultbook.name); gotoxy(2,4+i*5); printf("This book num is %s",consultbook.num); gotoxy(2,5+i*5); printf("This book's price is %d",consultbook.price); gotoxy(2,6+i*5); printf("This book's is browwed by %s",consultbook.person); gotoxy(2,7+i*5); printf("This book's state is %d",consultbook.yes); i++; flag=1; /*查找数据标志*/ } } if(flag==0) { ClrScr(); gotoxy(2,3); printf("No found this book"); } fclose(fp); } /*删除图书资料*/ void BookDel() { FILE *fp; Book *head,*p,*q; char bookname[20]; fp=fopen("book.txt","rb");/*读方式打开文件*/ if(fp==NULL)/*没找到文件*/ { gotoxy(2,3); printf("Error!"); fclose(fp); return; } head=p=q=(Book*)malloc(sizeof(Book));/*将文件内容放入链表*/ fread(p,sizeof(Book),1,fp); /*读第一条记录*/ while(!feof(fp)) { q=p; p=(Book*)malloc(sizeof(Book)); fread(p,sizeof(Book),1,fp); /*读记录*/ q->next=p;/*新记录插入到链表的尾*/ } p->next=NULL;/*最后一个结点的后继为空*/ fclose(fp); ClrScr(); printf("Input the book name: "); gets(bookname); /*输入图书名*/ p=head; while(p!=NULL)/*按名字查找要删除的图书*/ { if(strcmp(p->name,bookname)==0)/*找到要删除的图书*/ { if(p==head) /*如果是第一个结点*/ head=head->next; else q->next=p->next;/*不是第一个结点*/ break; } q=p; /*指针后移*/ p=p->next; } fp=fopen("book.txt","wb");/*删除后从链表的头开始重新保存*/ while(head!=NULL) { fwrite(head,sizeof(Book),1,fp);/*块写*/ head=head->next; } fclose(fp); ClrScr(); } /*借书*/ void BookBorrow() { FILE *fp; Book consultbook; Member consultmember; char bookname[20],membername[20]; int flag=0,mflag=0; ClrScr(); gotoxy(2,3); printf("Input the mermber name: "); gets(membername); /*输入会员名*/ if((fp=fopen("member.txt","rb"))==NULL)/*没找到文件*/ { gotoxy(3,3); printf("Cannot open file\n!"); return; } else while(!feof(fp))/*查询会员资料*/ { fread(&consultmember,sizeof(Member),1,fp); if(strcmp(consultmember.name,membername)==0) { mflag=1; /*是会员标志*/ break; } } fclose(fp); if(mflag==0) { gotoxy(2,4); printf("You not is a member,pleas register!");/*不是会员不能借书*/ return; } gotoxy(3,5); printf("Input the book name: "); gets(bookname); /*输入图书名*/ ClrScr(); if((fp=fopen("book.txt","rb+"))==NULL)/*没找到文件*/ { gotoxy(2,3); printf("Cannot open file\n!"); return; } while(!feof(fp))/*查询图书资料*/ { fread(&consultbook,sizeof(Book),1,fp); if(strcmp(consultbook.name,bookname)==0) { if(consultbook.yes==0)/*图书已经借出的判断*/ { gotoxy(2,3); printf("This book has borrowed\n!"); break; } else { consultbook.yes=0; /*作借出标志*/ strcpy(consultbook.person,membername);/*登记借书会员*/ fseek(fp,-1L*sizeof(Book),1);/*从当前位置前移一条记录指针*/ fwrite(&consultbook,sizeof(Book),1,fp);/*写记录*/ gotoxy(2,3); printf("Borrowed succ!"); flag=1;/*借出书标志*/ break; } } } if(flag!=1) { ClrScr(); gotoxy(2,3); printf("Borrowed fail!\n");/*借书失败*/ } fclose(fp); } /*还书*/ void BookReturn() { FILE *fp; Book consultbook; char bookname[20]; int flag=0; ClrScr(); if((fp=fopen("book.txt","rb+"))==NULL)/*没找到文件*/ { gotoxy(2,3); printf("cannot open file\n!"); return; } printf("Input the book name: "); gets(bookname); /*输入图书名*/ ClrScr(); while(!feof(fp))/*查询图书资料*/ { fread(&consultbook,sizeof(Book),1,fp); if(strcmp(consultbook.name,bookname)==0) { if(consultbook.yes==0)/*图书已经借出的判断*/ { consultbook.yes=1;/*作图书未借书标志,表示已还书*/ strcpy(consultbook.person,""); fseek(fp,-1L*sizeof(Book),1); fwrite(&consultbook,sizeof(Book),1,fp); gotoxy(2,3); printf("Return book succ!"); flag=1; break; } } } if(flag!=1) printf("Return fail!\n"); fclose(fp); } /*清除屏幕*/ void ClrScr() { int i,j; puttext(2,3,78,23,c);/*刚开始已经用gettext把蓝色的一块地方保存下来,现在再还原*/ gotoxy(2,3); } /*会员注册*/ void MemberAdd() { FILE *fp; Member consultmember; fp=fopen("member.txt","rb"); if(fp==NULL)/*如果没会员就新建*/ fp=fopen("member.txt","wb"); else/*如果有会员就添加*/ { fclose(fp); fp=fopen("member.txt","ab");/*追加方式打开*/ } ClrScr(); gotoxy(2,3); printf("Intput new member name: ");/*逐个输入会员的资料*/ gets(consultmember.name); gotoxy(2,4); printf("Input member sex: "); gets(consultmember.sex); gotoxy(2,5); printf("Please input member age: "); scanf("%d%*c",&consultmember.age); fwrite(&consultmember,sizeof(Member),1,fp);/*写入记录*/ fclose(fp); ClrScr(); } /*查询会员*/ void MemberConsult() { FILE *fp; Member consultmember; char membername[20]; int flag=0; ClrScr(); gotoxy(2,3); printf("Input the member name: ");/*输入要查询的会员名*/ gets(membername); fp=fopen("member.txt","rb"); if(fp==NULL)/*没找到文件*/ { ClrScr(); gotoxy(2,3); printf("Error!"); fclose(fp); return; } while(!feof(fp))/*查询会员资料*/ { fread(&consultmember,sizeof(Member),1,fp); if(strcmp(consultmember.name,membername)==0)/*比较*/ { ClrScr(); gotoxy(2,3); printf("This member %s information as follow:",consultmember.name); gotoxy(2,4); printf("This member'sex is %s",consultmember.sex); gotoxy(2,5); printf("This member 's age is %d",consultmember.age); flag=1; break; } } if(flag==0) { ClrScr(); gotoxy(2,3); printf("No found this member!"); } fclose(fp); } /*删除会员资料*/ void MemberDel() { FILE *fp; Member *head,*p,*q; char membername[20]; fp=fopen("member.txt","rb"); if(fp==NULL)/*没找到文件*/ { gotoxy(2,3); printf("Error!"); fclose(fp); return; } head=p=q=(Member*)malloc(sizeof(Member));/*将文件内容放入链表*/ fread(p,sizeof(Member),1,fp); while(!feof(fp)) { q=p; p=(Member*)malloc(sizeof(Member)); fread(p,sizeof(Member),1,fp);/*读记录*/ q->next=p;/*链入到链表的尾部*/ } p->next=NULL; fclose(fp); ClrScr(); printf("Input the member name: ");/*输入会员名*/ gets(membername); p=head; while(p!=NULL)/*按名字查找要删除的书*/ { if(strcmp(p->name,membername)==0)/*查找会员*/ { if(p==head) head=head->next;/*如果是第一条记录*/ else q->next=p->next;/*不是第一条记录*/ break; } q=p; /*没找到,则指针后移继续找*/ p=p->next; } fp=fopen("member.txt","wb");/*删除后重新保存*/ while(head!=NULL) { fwrite(head,sizeof(Member),1,fp);/*块写*/ head=head->next; } fclose(fp); ClrScr(); } /*查询会员所借的图书*/ void MemberBook() { FILE *fp; Book consultbook; Member consultmember; char bookname[20],membername[20]; int flag=0,mflag=0,i=0; ClrScr(); gotoxy(2,3); printf("Input the mermber name: ");/*输入会员名*/ gets(membername); if((fp=fopen("member.txt","rb"))==NULL)/*没找到文件*/ { gotoxy(3,3); printf("Cannot open file\n!"); return; } else while(!feof(fp))/*查询会员资料,确认会员*/ { fread(&consultmember,sizeof(Member),1,fp); if(strcmp(consultmember.name,membername)==0) { mflag=1; break; } } fclose(fp); if(mflag==0) { gotoxy(2,4); printf("Not the member!"); return; } ClrScr(); if((fp=fopen("book.txt","rb+"))==NULL)/*没找到文件*/ { gotoxy(2,3); printf("Cannot open file\n!"); return; } while(!feof(fp))/*查询图书资料*/ { fread(&consultbook,sizeof(Book),1,fp); gotoxy(2,3); printf("This member %s has borrowed book as follow:",membername); gotoxy(2,4); printf("********************************************"); if(strcmp(consultbook.person,membername)==0)/*借阅人比较*/ { gotoxy(2,5+i*4); printf("Book name is %s",consultbook.name); gotoxy(2,6+i*4); printf("This book num is %s",consultbook.num); gotoxy(2,7+i*4); printf("This book's price is %d",consultbook.price); printf("\n"); i++; flag=1; } } if(flag!=1) { ClrScr(); gotoxy(2,3); printf("no Borrow book!\n"); } else { gotoxy(2,i*4+6); printf("******total is %d*********",i);/*显示总数*/ } fclose(fp); } /*帮助文件*/ void Help() { ClrScr(); DrawFrame(10,5,50,8,0,7); /*画边框*/ gotoxy(15,6); cprintf("click menu to run each funtion");/*输出字符串*/ getch(); ClrScr(); } /***版本信息***/ void Ver() { ClrScr(); DrawFrame(10,5,50,8,0,7); /*画边框*/ gotoxy(15,6); cprintf("Ver 1.0 finished by zhuyun");/*输出字符串*/ getch(); ClrScr(); } 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值