千家信息网

C语言实现图书管理系统的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关C语言实现图书管理系统的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下实验要求:1、图书信息:包括ISBN、书名、主
千家信息网最后更新 2026年11月03日C语言实现图书管理系统的示例分析

这篇文章将为大家详细讲解有关C语言实现图书管理系统的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体内容如下

实验要求:

1、图书信息:包括ISBN、书名、主编、出版社、定价
2、功能:

(1)插入:若表中不存在新图书信息(ISBN不同),则插入(表尾)新图书信息。
(2)删除:按ISBN删除
(3)查找:按ISBN查找
(4)修改:按ISBN查找,然后修改各个属性
(5)排序:按ISBN排序
(6)计数:输出图书信息的个数
(7)导入:从TXT文件中读取已有图书信息(不同的属性之间用tab键隔开)
(8)保存:将表中现有信息保存到txt文件中
(9)打印:在屏幕上显示所有图书信息

3、扩展功能(选做):

(1)增加按书名、主编、出版社进行查找
(2)增加按书名、主编、出版社、定价排序

4、界面要求:简单的人机交互界面

#include #include #include     //头文件    #define OK 1#define ERROR 0#define OVERFLOW -1#define LIST_INIT_SIZE 50#define LISTINCREMENT 10   //宏定义,即定义常量    typedef int status;typedef struct {    char ISBN[15];    char bookname[30];    char writername[10];    char publisher[20];    float price;} ElemType;typedef struct {    ElemType *elem;    int length;    int listsize;    } SqList;     //定义结构体类型,即  typedef 类型  类型名     status  InitList_Sq(SqList &L)     {   //构造一个空的线性表L。    L.elem=(ElemType *)    malloc(LIST_INIT_SIZE*sizeof(ElemType));    //申请初始化长度的内存     if(!L.elem){    //如果L的序列非空         exit(OVERFLOW);            //说明L被重定义了,抛出溢出     }    L.length=0;    //默认L内有0个元素        L.listsize=LIST_INIT_SIZE;     //默认L的容量为初始化长度     return OK;} int LocateElem_Sq(SqList L,char ISBN[]){    //在顺序表L中遍历查找第1个值与e.ISBN相等的元素的位序,若找到,返回其位序,否则返回0;     for(int i=0;i=L.listsize) {        newbase =(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));        if(!newbase){            exit(OVERFLOW);        }        L.elem=newbase;        L.listsize+=LISTINCREMENT;    }    L.elem[L.length]=e;    L.length++;    return OK;}status ListDelete_Sq(SqList &L,char ISBN[] ,ElemType &e){   //删除L中ISBN的元素,并返回删除元素;     int i,j;    if((i=LocateElem_Sq(L,ISBN))==0){        return ERROR;    }        e=L.elem[i-1];    for(j=i;jL.length){        return ERROR;    }    L.elem[i-1]=e;    return OK;}void sort_ISBN(SqList &L){    //对表中所有元素进行排序;     int i,j,k;    ElemType e;    for(i=0;i0){                k=j;            }        }        if(k!=i){            e=L.elem[i];            L.elem[i]=L.elem[k];            L.elem[k]=e;        }        }} void print(SqList L){    //打印出所有元素    int i;    printf("\n图书信息为:\n");    for(i=0;i

关于"C语言实现图书管理系统的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

图书 信息 元素 文件 输入 排序 书名 出版 成功 出版社 篇文章 类型 定价 输出 选择 示例 管理系统 系统 语言 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州万易互联网科技有限公司 广州大一互联网络科技有限公司 互联网科技工作委员会毛军 金融科技与互联网金融 互联网 科技创新 远信互联网科技 电子科技大学互联网 睿民互联网科技 科技与互联网哪个更好 贵州叶脉互联网科技有限公司所属行业 互联网科技公司有风险吗 苏州铭阳互联网科技有限公司 未来五年的互联网科技 南博望互联网科技有限公司 山东子淼互联网科技有限公司 沐思想互联网科技有限公司 互联网科技数字货币 吉林省码上互联网科技电话 西安左小互联网科技有限公司 数字互联网科技有限公司 咖啡豆 互联网通讯科技 金融科技创新监管互联网金融 世界互联网领先科技成果 善班互联网科技有限公司 汇久创客互联网科技 银川新华互联网科技职业技术培训学校图片 本届互联网大会上的黑科技 江苏互联网智能科技产品出厂价 中国互联网公司的科技投入
0