图书管理系统实验报告
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
课程名称:程序设计实践
专业班级:信息类1102
学生姓名:张文浩
学号: 201116040203
任课教师:徐振强
学期:2011-2012 2
一.需求分析:
开一个图书管理系统,包括图书的创建,查询,插入,修改,排序,删除,添加等功能。
1.实现对书库书籍的信息管理。每本书包括书号,书名,作者,单价,库存书量,出版时间,单价,出版单位等。
2.实现创建书库操作。把图书信息存入文件中。
3.实现添加图书操作。将添加的图书一并存入文件中,存入已有书库,可重复添加。
4.实现修改图书操作。对已有的图书信息进行修改,将修改的信息存入文件中,可重复修改。
5.实现图书的多种方法查找。把图书的全部信息显示给用户。
6.实现图书的书号排序与遍历。
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
7.实现图书的删除操作。从文件中移除该书的记录。二.概要设计:
主要分为主函数,分函数,用户自定义类型的图书信息函数通过主函数调用各个分函数进行一系列操作
模块划分:
1,图书用户之定义类型
2,各个操作的分函数
3,主函数
Main(void){
creat();
modify();
paixu();
insert();
delname();
delbianhao();
searchname();
searchauthor();
searchpress();
searchbianhao();
account();
}
三.函数及其流程图
退出功能通过exit()实现。
选择功能通过switch()实现。
scanf("%c",&w);
getchar();
switch(w)
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
{
case'c':
creat();
break; case'm':
modify();
break;
case'x':
paixu();
break;
case'k':
bianli();
break;
界
创建图书流程图void creat( ) 欢迎面
显示和选择主菜单
创建添加修改查找删除排序遍历统计退出
保存
文件
结束
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
while(p1->booknum!=0){
if(head==NULL)
head=p1;
else
tail->next=p1;
tail=p1;
p1=(struct bookinf*)malloc(sizeof(struct bookinf));
printf("你好!请输入要添加的图书信息\n");
printf("书号:");
scanf("%d",&p1->booknum);
if(p1->booknum==0)
break;
printf("书名:");
scanf("%s",p1->bookname);
printf("作者:");
scanf("%s",p1->author);
printf("出版社:");
scanf("%s",p1->press);
printf("出版日期:");
scanf("%d",&p1->presstime);
printf("单价:");
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
scanf("%d",&p1->price);
printf("页数:");
scanf("%d",&p1->pagenumber);
printf("库存地点:");
scanf("%s",p1->place);
printf("现存册数:");
scanf("%d",&p1->nownumber);
getchar();
}
tail->next=NULL;
for(p1=head;p1;p1=p1->next)
printf("%d,%s,%s,%s,%d,%d,%d,%s,%d\n",p1->booknum,p1->bookname,p1->author,p1->p ress,p1->presstime,p1->price,
p1->pagenumber,p1->place,p1->nownumber);
save(head);
添加图书流程图void insert( )
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
排序流程图void paixu( )
for(p1 = head; p1;p1 = p1->next)
for(p2 = p1->next; p2 != NULL; p2 = p2->next)
{
if(p1->booknum > p2->booknum)
{
booknum = p1->booknum ;
p1->booknum = p2->booknum ;
p2->booknum = booknum ;
price=p1->price;
p1->price=p2->price;
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
p2->price=price;
按书号查找图书 (其他查找类似)
开始
链表为空 输出没有没有图书信息 排序函数 按书号输出图书信息 结束
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
if(head==NULL){
printf("没有图书记录,按任意键返回!\n");
exit(0);
}
printf("请输入要查询的编号\n");
scanf("%d",&a);
getchar();
p1=head;
while(p1!=NULL&&a!=p1->booknum){
p1=p1->next;
}
if(p1!=NULL){
printf("该书已找到,信息如下:\n");
printf("%d,%s,%s,%s,%d,%d,%d,%s,%d\n",p1->booknum,p1->bookname,p1->author,p1->p ress,p1->presstime,p1->price,
p1->pagenumber,p1->place,p1->nownumber);
}
else
printf("没有找到图书\n");
printf("是否继续查找?(y/n)\n");
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
x=getchar();
getchar();
}while(x=='y');
save(head);
按书号删除操作(按书名类似)
if(head==NULL){
printf("没有图书记录\n");
exit(0);
}
printf("请输入要删除书号\n");
scanf("%d",&num);
getchar();
C语言图书管理系统,,链表,,删除,,添加,,浏览,,排序,,等功能
p1=head;
p2=head;
while(p1!=NULL&&num!=p1->booknum){
p2=p1;
p1=p1->next;
}
if(p1!=NULL){
if(p1==head){
head=p1->next;
if(head!=NULL)
p1=head->next;
}else
p2->next=p1->next;
printf("该书已删除\n");
}else
printf("没有该书记录!\n");
printf("是否继续删除操作?(y/n)\n");
x=getchar();
getchar();
}while(x=='y');
save(head);
修改图书信息
do{
printf("请输入要修改的书号\n");
scanf("%d",&num);
p1=head;
while(p1!=NULL&&p1->booknum!=num){
p1=p1->next;
}
if(p1!=NULL){
printf(&quo …… 此处隐藏:3776字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




