数据结构——基于顺序存储结构的图书信息表的创建和输出
1.基于顺序存储结构的图书信息表的创建和输出
问题描述
定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信息表的创建。然后,统计图书表中的图书个数,同时逐行输出每本图书的信息
输入要求
输入n+1行,其中前n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。最后第n+1行是输入结束标志:0 0 0(空格分隔的三个0)。其中,书号和书名为字符串类型,价格为浮点数类型。
输出要求
总计n+1行,第1行是所创建的图书信息表中的图书个数,后n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔。其中,价格输出保留两位小数。
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#define MAXSIZE 10000//图书表可能达到的最大长度
#define OK 1
#define ERROR 0
#define OVERFLOW -2typedef int Status;typedef struct //图书信息定义
{char no[20];//图书ISBN char name[50];//图书名字 float price;//图书价格 }Book;typedef struct
{Book *elem;//存储空间的基地址 int length;//图书表中当前图书个数
}SqList;//图书表的顺序存储结构类型为SqListtypedef struct LNode
{Book data;//结点的数据域 struct LNode *next;//结点的指针域
}LNode,*LinkList;//LinkList为指向结构体LNode的指针类型 Status InitList_Sq(SqList &L)//构造一个空的顺序表
{L.elem=(Book * )malloc(MAXSIZE * sizeof(Book));//为顺序表分配一个大小为MAXSIZE的数组空间 if(!L.elem) exit(OVERFLOW);//存储失败 L.length=0;//空表长度为零 return OK;
}Status PrintList_Sq(SqList &L)
{printf("%d\n",L.length); //书本总数for(int i=0;i<L.length;i++) //顺序输出每本书的信息{printf("%s %s %.2f\n", L.elem[i].no,L.elem[i].name,L.elem[i].price);//每本书信息// printf("%.2f\n",L.elem[i].price);//保留两位小数}return OK; //OK=1,返回真
}Status CreationList_Sq(SqList &L,char *no,char *name,float price)
{char * strcpy(char * strDest,const char * strSrc);Book B; //定义B为Bookstrcpy(B.no,no); //复制书号strcpy(B.name,name);B.price=price;L.elem[L.length]=B; //l的elem数组存储书的信息L.length++; //每存好一本书,书总量自加1,l.length=l.length+1.单目运算return OK; //OK=1,返回真
}int main()
{char no[20],name[50]; float price; SqList L; //定义L为SqListInitList_Sq(L); //初始化Lwhile(~scanf("%s %s %f",no,name,&price)){if(!strcmp(no,"0")&&!strcmp(name,"0")&&price==0.0)break; CreationList_Sq(L,no,name,price); }PrintList_Sq(L); return 0;
}
数据结构——基于顺序存储结构的图书信息表的创建和输出相关推荐
- 数据结构实验一,第1题:基于顺序存储结构的图书信息表的创建和输出
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的图书个数,同时逐行输出每本图书的信息. 输入 输入n+1行,其中前n行是n本图书的信 ...
- 基于顺序存储结构的图书信息表的创建和输出(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的图书个数,同时逐行输出每本图书的信息. 输入 输入n+1行,其中前n行是n本图书的信 ...
- 基于顺序存储结构的图书信息表的创建和输出
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的图书个数,同时逐行输出每本图书的信息. 输入 输入n+1行,其中前n行是n本图书的信 ...
- 基于顺序存储结构的图书信息表
利用结构体数组模拟实现线性表 例题一 基于顺序存储结构的图书信息表的创建和输出 题目描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的 ...
- 数据结构实验一,第2题:基于顺序存储结构的图书信息表的排序
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据完成图书信息表的创建,然后将图书按照价格降序排序,逐行输出排序后每本图书的信息. 输入 输入n+1行,前n行是n本图书的信息( ...
- 基于顺序存储结构的图书信息表的图书去重(C++)
描述 出版社出版的任何一本图书的书号(ISBN)都是唯一的,即图书表中不允许包含书号重复的图书.定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建(书号可能重复 ...
- 基于顺序存储结构的图书信息表的旧图书的出库(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的待出库的旧图书的位置,将该图书从图书表中删除,最后输出该图书出库后的所有图书的信息. ...
- 基于顺序存储结构的图书信息表的新图书的入库(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的待入库的新图书的位置和信息,将新图书插入到图书表中指定的位置上,最后输出新图书入库后所有 ...
- 基于顺序存储结构的图书信息表的最佳位置图书的查找(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的最佳位置的序号,查找该位置上的图书,输出相应图书的信息. 输入 总计n+m+2行.首先输 ...
最新文章
- Python time 100 天以后的日期
- stm32 str转hex_【SW4STM32生成 hex文件的设置方法】
- c# typeof 与 Type.GetType 使用与效率对比
- android有关的笔记,android学习笔记1——webview相关
- ESP32 入门教学,不入门,不教学
- PannerNode
- 【简报】kube框架结构-一个小型响应式CSS框架
- Python struct模块与简单使用
- umask 文件预设权限掩码
- OA选择首先要清晰概念
- 互联网史上10大经典商战
- 再读王垠的《编程的智慧》,有怎样的感想?
- 计算机硬件及装机视频,超详细图文 视频电脑组装教程,装机之家手把手教你组装一台电脑(9)...
- Arranging Coins 排列硬币
- 现代计算机发展经历的阶段,计算机的发展经历了那几个阶段
- 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第八周学习总结
- python 读取行数据_openpyxl读取所有行数据之rows属性
- Fedora 常用软件推荐
- 微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建
- js html css 图片跑马灯效果(轮播)
热门文章
- java手机杀毒_Android项目实战手机安全卫士(01)
- 用 UML 图绘制三略
- PHP 8 - 学习/实践
- 27. Python 列表的索引取值
- 四十三、迎接挑战,苦练内功,迎接春天的到来
- idea2020shezhi代码检查级别_GitLab 13.1:告警管理扩展,新代码质量工具和安全合规等...
- png24 图片透明底
- 什么叫反光识别读数识别_回老家前 微信这个超实用小技巧一定要学会
- 利用STM32F103的DAC结合xtr111实现4-25mA输出的数据分析
- 易基因文献速递|BS-miRNA-seq技术发现人类microRNA中CpG和 非CpG上的(h)m5C修饰