重庆邮电大学-数据结构实验-基于线性表的图书信息管理

代码使用C语言编写,使用链表完成

实验要求

图书信息表包括以下 10 项常用的基本操作:图书信息表的创建和输出、排序、修改、逆序存储、最贵图书的查找、最爱图书的查找、最佳位置图书的查找、新图书的入库、旧图书的出库、图书去重。

实验要求选用顺序表或链表实现上述 10 项操作。

代码

#include<stdio.h>
#include<stdlib.h>

//图书信息定义
typedef struct
{
   
    char no[20]; //图书 ISBN
    char name[50]; //图书名字
    float price; //图书价格
}Book;
//链式存储结构的定义如下:
typedef struct LNode
{
   
    Book data; //结点的数据域
    struct LNode *next; //结点的指针域
}LNode,*LinkList; //LinkList 为指向结构体 LNode 的指针类型

//建立链表
LinkList CreatList()
{
   
    LinkList head=(LinkList)malloc(sizeof(LNode));//建立头节点
    head->next=NULL;   //头节点指向为空
    LinkList Head=head;
    char Isbn[20]; //图书 ISBN
    char Name[50]; //图书名字
    float Price=1; //图书价格


    scanf("%s %s %f",Isbn,Name,&Price);
    //如果输入:0 0 0就结束
    while( !(strcmp(Isbn,"0")==0 && strcmp(Name,"0")==0 && Price==0 ))
    {
   
        LinkList temp=(LinkList)malloc(sizeof(LNode));
        strcpy(temp->data.no,Isbn);
        strcpy(temp->data.name,Name);
        temp->data.price=Price;
        temp->next=NULL;
        head->next=temp;
        head=head->next;
        scanf("%s %s %f",Isbn,Name,&Price);
    }

    return Head;
}
//图书信息的显示
void Show(LinkList head)
{
   
    head=head->next;
    while(head!=NULL)
    {
   
        printf("%s %s %.2f\n",head->data.no,head->data.name,head->data.price);
        head=head->next;
    }

    return 
  • 14
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
实验目的: 1.熟悉线性表的概念和基本操作。 2.掌握线性表的顺序存储和链式存储方式,并能够进行相应的操作。 3.设计和实现基于线性表图书信息管理系统。 实验内容: 1.线性表的概念和基本操作 线性表是由n个数据元素(a1,a2,……an)组成的有限序列,其中n为表长,当n=0时,称为空表。 线性表的基本操作包括:初始化、插入、删除、查找、遍历等。 2.线性表的顺序存储 线性表的顺序存储方式是将线性表中的元素按其逻辑顺序依次存放在一段连续的存储单元中,称为顺序表。 顺序表的基本操作包括:初始化、插入、删除、查找、遍历等。 3.线性表的链式存储 线性表的链式存储方式是将线性表中的元素存放在任意的存储单元中,通过指针将各个存储单元连接起来,称为链表。 链表的基本操作包括:初始化、插入、删除、查找、遍历等。 4.图书信息管理系统 图书信息管理系统是一种基于线性表的应用,主要用于管理图书信息。 图书信息管理系统的功能包括:添加图书信息、删除图书信息、查找图书信息、修改图书信息、显示图书信息等。 实验步骤: 1.设计数据结构,包括图书信息结构体、顺序表结构体、链表结构体等。 2.实现顺序表的基本操作,包括初始化、插入、删除、查找、遍历等。 3.实现链表的基本操作,包括初始化、插入、删除、查找、遍历等。 4.设计和实现图书信息管理系统,包括添加图书信息、删除图书信息、查找图书信息、修改图书信息、显示图书信息等功能。 5.测试和调试系统,确保系统能够正常运行。 实验总结: 本次实验主要学习了线性表的概念和基本操作,掌握了线性表的顺序存储和链式存储方式,并设计和实现了基于线性表图书信息管理系统。通过本次实验,我深入了解了线性表的原理和应用,提高了数据结构的编程能力和实践能力,为以后的学习和应用打下了基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值