千家信息网

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

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章将为大家详细讲解有关C语言实现图书管理系统的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下实验要求:1、图书信息:包括ISBN、书名、主
千家信息网最后更新 2024年11月22日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语言实现图书管理系统的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0