- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告一(图书管理系统).
福建工程学院计算机与信息科学系
实验报告– 2010 学年第 一 学期 任课老师: 王璇老师
课程名称 结构化程序设计 班级 计0905 座号 23 姓名 徐金槐 实验题目 图书管理系统 实验
时间 实验开始日期:2009/9/16 报告提交日期:2009/9/23 实验目的、要求 一、实验题目:设计一个简单实用的图书管理系统。二、实验要求三、实验内容:
定义数据结构:以链表形式设计图书管理系统
#includestdio.h
#include stdlib.h /*其它说明*/
#include string.h /*字符串函数*/
/*定义一个指向结构体数组的指针*/
typedef struct LMS
{ char index[20];
char name[20];
char isbn[20];
char price[20];
char author[20];
char publish[20];
struct LMS *next;
} LMS; /*定义指向这个结构体的指针*/
一、界面主菜单功能
函数名:menu_select()
增加图书信息功能(输入图书信息)
显示所有增加的图书信息功能(按输入编号排序)
查找功能(查询输入的指定图书编号的图书信息)
统计功能(根据图书的isbn号来统计数量)
效验功能(检验图书的有效性)
删除功能(输入图书编号,删除图书信息)
修改功能(修改图书信息)
退出功能(退出编译器)
二、创建链表函数
函数名:*bookList( )
把各图书编号顺序的用链表存起来
三、增加图书信息函数
函数名:insert( )
1.按照图书编号的递增增加图书
四、显示图书信息函数
函数名:print( )
1.按指定的图书编号显示图书的信息
五、统计函数
函数名:total_menu( )
①当输入index号时统计,total_index( );
1.输入要查询的index号
2.判断是否有这index号
3.输出该图书的数量
②当输入isbn号时统计,total_isbn( );
1.输入要查询的isbn号
2.判断是否有这isbn号
3.输出该图书的数量
六、效验函数
函数名:validity_LMS( )
1.判断该isbn号是否存在
2.判断该图书编号是否存在
七、删除图书信息函数
函数名:delete_LMS( )
根据用户输入的有效图书编号来检索该本书的所有相关的图书信息,若存在则删除,若不存在则输出input error!
八、修改图书信息函数
函数名:modify_LMS( )
包含关系
主函数的调用关系:
/*主函数*/
int main()
{
LMS *head;
for(;;)
{
switch(menu_select())
{
case 1:insert(head);break;
case 2:print(head);break;
case 3:search(head);break;
case 4:total(head);break;
case 5:validity_LMS(head);break;
case 6:delete_LMS(head);break;
case 7:modify_LMS(head);break;
case 8:exit(0);
}
}
}
调试过程记录 ⑴在menu_select( )中,能成功运行出的界面:
⑵在写insert( )的时候第一次运行的时候输入一本图书的信息,输出的结果是:
后来经过检查后,才发现原来是头指针有问题,经过修改后便能输出正确的结果:
修改前的程序:
/*显示图书信息*/
void print(LMS *head)
{ int i=0; /* 统计图书的数量*/
LMS *p; /*移动指针*/
clrscr(); /*清屏*/
p=head; /*初值为头指针*/
printf(\n******************
文档评论(0)