图书借阅管理系统(C++)数据结构课程设计

时间:2025-04-20

图书借阅管理系统(C++)数据结构课程设计

//姓名:吴华帅
//班级:信管092
//学号:3090703211、
/*图书借阅管理系统:
要求:为一个图书馆设计一个简单的借阅管理选题,主要分为两大功能:
图书管理(增加图书、查询图书、删除图书、图书借阅、还书);
会员管理(增加会员、查询会员、删除会员、借书信息);*/



#include "stdio.h"
#include "iostream.h"
#include "stdafx.h"
#include "malloc.h"
#include "stdlib.h"
#include <conio.h>
#include <string>

/*************************************结构体部分************************************/
/************图书信息结构体*************/
typedef struct elem
{
char bookid[5];
char bookname[20];
char bookauthor[50];
char bookmark[2];
char memberid[4];
}elemtype;
/************图书链表结点结构体*************/
typedef struct node
{
elemtype data;
struct node *next;
}lnode,*linknode;
/************会员信息结构体*************/
typedef struct memberelem
{
char memberid[4];
char membername[10];
}memberelemtype;
/************会员链表结点结构体*************/
typedef struct membernode
{
memberelemtype data;
struct membernode *next;
}mlnode,*mlinknode;

/*************************************创建函数部分************************************/
//^^^^^^^^^^^^^^^^^创建与销毁部分^^^^^^^^^^^^^^^^^^^^^^^^^^//
/************创建空图书链表*************/
linknode Init_lnode()
{
linknode head;
head=(linknode)malloc(sizeof(lnode));
if(head)
{
head->next=NULL;
head->data.bookauthor[50]=NULL;
head->data.bookid[5]=NULL;
head->data.bookmark[2]=NULL;
head->data.bookname[20]=NULL;
head->data.memberid[4]=NULL;
}
return head;
}
/************销毁图书链表*************/
void Destroy_lnode(linknode *head)
{
linknode p,q;
if (!(*head))
return;
p=*head;
while(!p)
{
q=p;
p=p->next;
free(q);
}
*head=NULL;
}
/************创建空会员链表*************/
mlinknode Init_mlnode()
{
mlinknode mhead;
mhead=(mlinknode)malloc(sizeof(mlnode));
if(mhead)
{
mhead->next=NULL;
mhead->data.memberid[4]=NULL;
mhead->data.membername[10]=NULL;
}
return mhead;
}
/************销毁会员链表*************/
void Destroy_mlnode(mlinknode *mhead)
{
mlinknode p,q;
p=*mhead;
if (!(*mhead))
return;
while(p)
{
q=p;
p=p->next;
free(q);
}
*mhead=NULL;
}
//^^^^^^^^^^^^^^^^^图书管理函数^^^^^^^^^^^^^^^^^^^^^^^^^^//
/************增加图书模块*************/
void addbook(linknode head)
{
linknode p;
p=(linknode)malloc(sizeof(lnode));
system("cls");
printf("Add books....\n");
printf("please input bookinfo:\n\n");
printf("%-7s%-20s%-15s\n","id(4)","bookname","bookauthor");
printf("**********************
******************************************\n");
//scanf("%s%s%s",p->data.bookid,p->data.bookname,p->data.bookauthor);

图书借阅管理系统(C++)数据结构课程设计

cin>>p->data.bookid;
cin>>p->data.bookname;
cin>>p->data.bookauthor;
p->data.bookmark[0]='N';
p->data.bookmark[1]='\0';
p->data.memberid[0]='0';
p->data.memberid[1]='\0';
p->next=head->next;
head->next=p;
printf("\n\nAdd success!\n");
printf("\nPress anykey retrun...");
getchar();
getchar();
}
/************输出图书信息函数*************/
void printbookinfo(linknode head)
{
linknode p;
p=Init_lnode();
p=head->next;
system("cls");
printf("The book informations are:\n\n");
cout<<"id \tbookname\tbookauthor\ttmark\tborower \t\n";
//printf("\t\n","\t\t\n","\t\t\n","\t\n""\t\n","id","bookname","bookauthor","mark","borower");
cout<<"****************************************************************"<<endl;
while(p)
{
cout<<p->data.bookid<<" \t";
cout<<p->data.bookname<<" \t \t";
cout<<p->data.bookauthor<<" \t \t";
cout<<p->data.bookmark<<" \t";
cout<<p->data.memberid<<endl;
p=p->next;
}
getchar();
}
/************按编号查询图书*************/
void select(linknode head)
{
char id[5];
linknode p;
system("cls");
p=head->next;
printf("select book by id.....\n\n");
printf("Please input book id:\n");
cin>>id;
while(p)
{
if(strcmp(p->data.bookid,id)==0) break;
else p=p->next;
}
if(p==NULL)
printf("\nThe book not exit!\n");
else
{
//printf("\t\n","\t\t\n","\t\t\n","\t\n""\t\n","id","bookname","bookauthor","mark","borower");
cout<<"id \tbookname\tbookauthor\ttmark\tborower \t\n";
//printf("\t\n","\t\t\n","\t\t\n","\t\n""\t\n","i …… 此处隐藏:10205字,全部文档内容请下载后查看。喜欢就下载吧 ……

图书借阅管理系统(C++)数据结构课程设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219