文档库 最新最全的文档下载
当前位置:文档库 › 图书馆管理系统C代码

图书馆管理系统C代码

图书馆管理系统C代码
图书馆管理系统C代码

// tushuguanli.cpp : Defines the entry point for the console application.

#include

#include

#include /

using namespace std;

const int BMAX=50;

//图书数据库类

class bdatabase

{

public:

book btarray[BMAX];

int top;

public:

bdatabase()

{

book b;

top=-1;

fstream file("book.txt",ios::in); //打开文件

while (1)

{

file.read((char *)&b,sizeof(b));

if (!file) break;

top++;

btarray[top] = b;

}

file.close(); //关闭文件

}

~bdatabase() //析构函数,将btarray[]写到book.txt文件中

{

fstream file("book.txt",ios::out);

for (int i=0;i<=top;i++)

{

if (btarray[i].b_del==1)

file.write((char *)&btarray[i],sizeof(btarray[i]));

}

file.close();

}

void addbooks() //往图书数据库中加图

{

book bk;

int no;

char bname[20];

cout<<"请输入书号: ";

cin>>no;

cout<

cin>>bname;

cout<

bk.b_flag=1;

bk.addbook(no, bname);

top++;

btarray[top]=bk;

return;

}

int findbooks(int suffix) //查找图书,这个函数用于借书这书操作,suffix是数组下标

{

int no;

cout<<"请输入书号: ";

cin>>no;

for(int i=0; i<=top; i++)

{

if(btarray[i].no==no && btarray[i].b_del==1)

{

return i;

}

}

return -1;

}

int findbooks() //查找图书,这个函数用于图书维护

{

int no;

char value[6];

cout<<"请输入书号: ";

cin>>no;

for(int i=0; i<=top; i++)

{

if(btarray[i].no==no && btarray[i].b_del==1)

{

if(btarray[i].b_flag==1) strcpy(value,"在架");

if(btarray[i].b_flag==2) strcpy(value,"借出");

cout<<"书号: "<

return i;

}

}

return -1;

}

void editbooks() //编辑图书

{

int cur;

cur = findbooks();

if (cur==-1)

{ cout<<"没有这本书"<

return;

}

cout<<"书号: "<

cout<<"请修改数据:"<

cout<

cin>>btarray[cur].name;

return ;

}

void delbooks() //删除图书

{

int cur;

cur = findbooks();

if (cur==-1)

{

return;

}

if(btarray[cur].b_flag==2) //删除时判断图书是否借出

{

cout<<"该图书已经借出,请在归还后再删除。"<

return;

}

btarray[cur].b_del=2;

return;

}

void listbooks() //显示全部图书

{

char value[6];

for(int i=0; i<=top; i++)

{

if(btarray[i].b_del==1)

{

if(btarray[i].b_flag==1) strcpy(value,"在架");

if(btarray[i].b_flag==2) strcpy(value,"借出");

cout<<"书号: "<

}

}

return;

}

}

;

class book

{

public:

int no; //图书编号

char name[20]; //图书名称

int b_flag;

int b_del;

public :

book(){}

void setno(int n)

{

no=n;

int getno()

{

return no; //返回图书编号值

}

void setname(char na[])

{

strcpy(name, na); //字符串复制

}

char* getname()

{

return name; //返回图书名称

}

void borbook()

{

b_flag=2; //借书标志

}

void delbook()

{

b_del=2; //删除标志

}

void addbook(int no,char na[]) //增加图书功能{

setno(no);

setname(na);

b_flag=1;

b_del=1;

}

}

;

//读者类

class reader

{

public:

int no;

char name[20];

int r_del; //1存在,2删除

int r_bor; //1借过书,2没有借书

book brbook;

public:

void addreader(int id, char na[])//增加读者

{

no = id;

strcpy(name, na);

r_del=1;

}

void setbrbook(book bt) //设置借书标记

{

brbook = bt;

}

book getbrbook()

{

return brbook; //返回借书信息

}

};

//读者数据库类

class rdatabase

{

public:

reader rdarray[BMAX];

int top;

public:

rdatabase()

{

reader rd;

top=-1;

fstream file("reader.txt",ios::in); //打开文件

while (1)

{

file.read((char *)&rd,sizeof(rd));

if (!file) break;

top++;

rdarray[top]=rd;

}

file.close(); //关闭文件

}

~rdatabase()//析构函数

{

fstream file("reader.txt",ios::out);

for (int i=0;i<=top;i++)

{

if (rdarray[i].r_del==1)

file.write((char *)&rdarray[i],sizeof(rdarray[i]));

}

file.close();

}

void addreaders() //添加读者{

reader rd;

int no;

char rname[20];

cout<<"请输入学号: ";

cin>>no;

cout<

cin>>rname;

cout<

rd.addreader(no, rname);

rd.r_bor=2;

top++;

rdarray[top]=rd;

return;

}

int findreaders(int suffix) //查找读者,这个函数用于借书还书操作。参数suffix 是数组下标

{

int no;

cout<<"请输入学号: ";

cin>>no;

for(int i=0; i<=top; i++)

{

if(rdarray[i].no==no && rdarray[i].r_del==1)

{

return i;

}

}

return -1;

}

int findreaders() //查找读者,这个函数用于读者维护操作

{

int no;

char value[3];

cout<<"请输入学号: ";

cin>>no;

for(int i=0; i<=top; i++)

{

if(rdarray[i].no==no && rdarray[i].r_del==1)

{

if(rdarray[i].r_bor==1) strcpy(value,"借");

if(rdarray[i].r_bor==2) strcpy(value,"无");

cout<<"学号: "<

return i;

}

}

return -1;

}

void editreaders() //编辑读者信息

{

int cur;

cur = findreaders();

if (cur==-1)

{ cout<<"没有该学生"<

return;

}

cout<<"请修改数据:"<

cout<

cin>>rdarray[cur].name;

return ;

}

void delreaders() //删除读者,读者如果借书要还书后才能删除

{

int cur;

cur = findreaders();

if (cur==-1)

{

return;

}

if(rdarray[cur].r_bor==1)

{

cout<<"该用户借了图书,请还书后再删除"<

return;

}

rdarray[cur].r_del=2;

return;

}

void listreaders() //显示所有读者

{

char value[3];

for(int i=0; i<=top; i++)

{

if(rdarray[i].r_del==1)

{

if(rdarray[i].r_bor==1) strcpy(value,"借");

if(rdarray[i].r_bor==2) strcpy(value,"无");

cout<<"学号: "<

}

}

return;

}

}

;

void bookjiemain() //图书维护子菜单

{

cout<<"|---------------------|"<

cout<<"| 图书维护|"<

cout<<"| (1)增加|"<

cout<<"| (2)更改|"<

cout<<"| (3)删除|"<

cout<<"| (4)查找|"<

cout<<"| (5)显示|"<

cout<<"| (6)返回上一层|"<

cout<<"|---------------------|"<

}

void readerjiemian() //读者维护子菜单

{

cout<<"|---------------------|"<

cout<<"| 读者维护|"<

cout<<"| (1)增加|"<

cout<<"| (2)更改|"<

cout<<"| (3)删除|"<

cout<<"| (4)查找|"<

cout<<"| (5)显示|"<

cout<<"| (6)返回上一层|"<

cout<<"|---------------------|"<

}

void mainjiemian() //主界面

{

cout<<"***********************************************"<

cout<<"* 图书管理系统*"<

cout<<"* *"<

cout<<"* (1) 借书*"<

cout<<"* *"<

cout<<"* (2) 还书*"<

cout<<"* *"<

cout<<"* (3) 图书管理*"<

cout<<"* *"<

cout<<"* (4) 用户管理*"<

cout<<"* *"<

cout<<"* (0) 退出*"<

cout<<"***********************************************"<

}

void borrowtoreturn(char br)

//借书还书函数.参数br用来判断是“借书”还是“还书”.1为“借书”,2为“还书”{

int rdid=0;

int bkid=0;

int rsuffix, bsuffix;

bdatabase t_bd;

rdatabase t_rd;

if(br=='1') //借书

{

rsuffix=t_rd.findreaders(rdid);

bsuffix=t_bd.findbooks(bkid);

if (rsuffix==-1 || bsuffix==-1)

return;

if(t_bd.btarray[bsuffix].b_flag==2)

{

cout<<"图书已经借出,请选择其它图书"<

return;

}

if(t_rd.rdarray[rsuffix].r_bor==1)

{

cout<<"你已经借过图书,请先归还再借其它图书"<

return;

}

t_bd.btarray[bsuffix].b_flag=2;

t_rd.rdarray[rsuffix].r_bor=1;

t_rd.rdarray[rsuffix].brbook=t_bd.btarray[bsuffix];

return;

}

if(br=='2')

{

rsuffix=t_rd.findreaders(rdid);

bsuffix=t_bd.findbooks(bkid);

if (rsuffix==-1 || bsuffix==-1 )

return;

if(t_rd.rdarray[rsuffix].brbook.no==t_bd.btarray[bsuffix].no)

{

t_bd.btarray[bsuffix].b_flag=1;

t_rd.rdarray[rsuffix].r_bor=2;

t_rd.rdarray[rsuffix].brbook=t_bd.btarray[bsuffix];

}

else

{

cout<<"请重新输入,读者借的图书号不正确"<

return;

}

return;

}

}

void booksmange()

{

char in;

bdatabase bd;

do{

bookjiemain();

cin>>in;

switch (in)

{

case '1':

bd.addbooks();

break;

case '2':

bd.editbooks();

break;

case '3':

bd.delbooks();

break;

case '4':

bd.findbooks();

break;

case '5':

bd.listbooks();

break;

case '6':

break;

default:cout<<"输入错误,请从新输入。"<

}

}while(in!='6');

return;

}

void readersmange()

{

char in;

rdatabase bd;

do{

readerjiemian();

cin>>in;

switch (in)

{

case '1':

bd.addreaders();

break;

case '2':

bd.editreaders();

break;

case '3':

bd.delreaders();

break;

case '4':

bd.findreaders();

break;

case '5':

bd.listreaders();

break;

case '6':

break;

default:cout<<"输入错误,请从新输入。"<

}

}while(in!='6');

return;

}

int main(int argc, char* argv[])

{ char in;

do{

mainjiemian();

cin>>in;

switch (in)

{

case '1':

borrowtoreturn(in);

break;

case '2':

borrowtoreturn(in);

break;

case '3':

booksmange();

break;

case '4':

readersmange();

break;

case '0':

break;

default:cout<<"输入错误,请从新输入。"<

}

}while(in!='0');

return 0;

}

图书管理系统的设计(C语言)

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include struct book{ char book_name[30]; int bianhao; double price; char author[20];

char state[20]; char name[20]; char sex[10]; int xuehao; struct book *book_next; }; struct club{ char name[20]; char sex[10]; int xuehao; char borrow[30]; struct club *club_next; }; void Print_Book(struct book *head_book);/*浏览所有图书信息*/ void Print_Club(struct club *head_club);/*浏览所有会员信息*/ struct book *Create_New_Book();/*创建新的图书库,图书编号输入为0时结束*/ struct book *Search_Book_bianhao(int bianhao,struct book *head_book); struct book *Search_Book_name(char *b_name,struct book *head_book); struct book *Search_Book_price(double price_h,double price_l,struct book *head_book); struct book *Insert_Book(struct book *head_book,struct book *stud_book);/*增加图书,逐个添加*/

图书馆管理系统C语言程序设计

HUNAN UNIVERSITY C语言程序训练 报告 【设计目的】 图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等. 图书信息管理系统,使之能提供以下功能: 1)系统以菜单方式工作 2)读者注册功能 3)读者登录功能 4)读者借书还书功能 5)查询读者借阅记录 6)查询在管图书信息功能 7)修改密码功能 8)管理员登录功能 9)增加、修改、删除图书功能

10)查看图书信息功能 【设计思路】 根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。 【总体设计】 【详细设计】 图书馆管理系统 读者注册、登陆及密码修改 修改图书信息 删除图书信息 管理员登陆 查找图书信息 浏览图书信息

1.主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 开始 显示一系列功能选项 n 输入n,n为1,2或3 根据n的值调用各功能模块函数 结束 源代码为 //rkou.c 程序的入口 #include #include #include #include #include"head.h" #include"fuc.h" #include"picture.h" #include"jiangzhuo1.h" #include"output.h" main() { int i=setup(); switch (i) { case 0: while(n<50) { conects(n); } default: eros(i); }

c语言最全的图书管理系统程序

题目名称:图书管理系统 算法分析: 1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格 2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息); (2)定义输出函数,每3个表一页直到最后一个; (3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。 (4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。 (6)定义信息统计函数。输入一个字符串作为出版社,比较M 本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。 (7)定义图书编号排序函数。用冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用

修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。 流程设计:

图书馆管理系统 c语言编写

#include "stdio.h" #include "stdlib.h" #include "conio.h" #include "string.h" #include "math.h" #define LEN sizeof(struct library) #define LEN1 sizeof(struct reader) #define NULL 0 struct library//图书馆结构体 {int shuhao,xcl; char name[20],author[20],chuban[20]; struct library *next; }; struct reader//读者结构体 { int zhenghao; char mingzi[20],riqi[20],zname[20]; struct reader *next; }; void mainmenu() //显示主菜单 { system ("cls"); printf("\n"); printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.图书馆信息\n\n"); printf("\t\t\t\t 2.借阅系统\n\n"); printf("\t\t\t\t 3.退出系统\n\n"); printf("\t\t\t 请按键选择,回车确定\n"); printf("\t\t\t\t######################\n"); printf("\n"); return ; } void menu1() //显示图书馆信息菜单 { system ("cls"); printf(""); printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.采编入库\n\n"); printf("\t\t\t\t 2.清除库存\n\n"); printf("\t\t\t\t 3.图书查询\n\n"); printf("\t\t\t\t 4.库存一览\n\n"); printf("\t\t\t\t 5.返回上一层\n\n"); printf("\t\t\t 请按键选择,回车确定\n");

C语言编写图书管理系统

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 分类号: 单位代码: 本科毕业设计说明书 C语言编写图书管理系统 姓名李彬 学号0114 年级2008级本科3班 专业机械设计制造及其自动化 系(院)机械工程学院 指导教师李培珍 年月日

目录 第一部分.................................................. 错误!未定义书签。职业生涯规划——十年创业路................................ 错误!未定义书签。1前言................................................... 错误!未定义书签。2自我剖析................................................ 错误!未定义书签。3环境分析................................................ 错误!未定义书签。 3.1国家环境............................................. 错误!未定义书签。 3.2社会环境............................................. 错误!未定义书签。 3.3职业环境............................................. 错误!未定义书签。 3.4分析小结............................................. 错误!未定义书签。4未来人生职业规划........................................ 错误!未定义书签。5总结................................................... 错误!未定义书签。第二部分.................................................. 错误!未定义书签。C语言编写图书管理系统.................................... 错误!未定义书签。摘要.................................................... 错误!未定义书签。Abstract.................................................. 错误!未定义书签。1需求分析................................................ 错误!未定义书签。 1.1 系统需求............................................ 错误!未定义书签。 1.2 功能分析............................................ 错误!未定义书签。2系统功能模块结构图...................................... 错误!未定义书签。 2.1 系统调用的函数...................................... 错误!未定义书签。 2.2 图书管理系统模块.................................... 错误!未定义书签。 3 图书管理系统的结构...................................... 错误!未定义书签。 3.1 主函数流程图........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 3.2 实体数据结构........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。

C语言图书管理系统代码

#include #include #include struct book{ int num; char bname[50]; char wname[20]; char press[50]; char sort[50]; int time; float price; struct book *next; }; struct book *creatbook(); //创建链表 struct book *addbook(struct book *head); //添加图书 int yanzheng(struct book *head,int m); //验证新添加的图书编码是否已存在 void deletebook(struct book *head); //删除图书 void fprint(struct book *head); //将链表写入文件 struct book *load(); //从文件中读取信息并建成链表void print_book(struct book *head); //将链表信息输出 void chaxun(struct book *head); //查询图书信息 void num_chaxun(struct book *head); //按图书编号查询图书 void wname_chaxun(struct book *head); //按作者名查询图书 void sort_chaxun(struct book *head); //按类别查询图书 void time_chaxun(struct book *head); //按出版时间查询图书 void bname_chaxun(struct book *head); //按图书名查询图书 void xiugai(struct book *head); //修改图书信息 void paixu(struct book *head); //对图书进行排序 void num_paixu(struct book *head); //按图书编号排序 void time_paixu(struct book *head); //按图书出版时间排序 void price_paixu(struct book *head); //按图书价格排序 void bname_paixu(struct book *head); //按图书名排序 void wname_paixu(struct book *head); //按作者名排序 int main() { int choice,n,x,y=1,c,c1=1234; char a,d,b[10],b1[10]="yjk"; struct book *head=NULL; while(y){ system("cls"); printf("\n\n\n\n\n\n\n"); printf(" ********** 欢迎光临**********\n\n");

C语言课程设计图书管理系统

C语言课程设计 姓名:郭献安 班级:054101-13 学号:20101001871

《图书管理系统》 目录 一、题目要求及能实现的功能 (2) 二、程序总体设计 (2) 三、详细设计 1、主函数 (4) 2、各功能模块设计 (5) 四、附录 (26)

题目要求及能实现的功能 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,使之能提供以下功能: 1、新进图书基本信息的输入。 2、图书基本信息的查询。 3、对撤消图书信息的删除。 4、办理借书手续。 5、办理还书手续 【提示】 建立图书管理信息结构体,结构体成员包括图书馆名称、图书编号、单价啊、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同的数字代表借还状态。借书和还书手续要注意修改结构题的成员变量存在状态的值。 总体设计 欢迎进入地大图书管理系统 查阅图书借阅图书管理系统图书归还退出系统 欢迎进入管理系统 增加图书删除图书修改图书图书统计学生管理系

详细设计 1、主函数 [说明] 主函数较多、较复杂,已经和主菜单函数合并,主菜单函数里还包括了各自的二级菜单,并已经开始了对各个函数的调用。为了程序显示的清晰可读,应先清屏之后调用菜单函数。 [流程]

开始 显示一系列功能选项 N 输入n,判断n是 否是0~4? Y 调用与n 相应的模块 2、各功能模块设计 (2)查阅模块 [说明] 输入个员工信息后,浏览、查找、排序时同一个员工的所有信息都要同时显示,所以运用结构体运行。数据信息存放在文件中,一条记录对应一条学生信息,方便管理。 [流程]

图书馆管理系统 c语言

图书馆管理系统 045072班王磊

第三部分13题 一、题目要求 图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,此外设计的系统须具有如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3.对撤销图书信息的删除 4.办理借书手续 5.办理书手续 二、需求分析 根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表达,在该系统中用〝1〝来表示可借出,〝0〝来表示已借出。 图书信息应存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现

图书信息浏览,查找、修改等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。 三、总体设计 结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下 四、详细设计 1、主函数 主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图]

[程序] main() {int n,t; /*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/ do {puts("\t\t\t***欢迎使用图书馆管理系统***\n\n\n"); puts("\t\t\t*************MENU************\n\n"); puts("\t\t\t1. 图书信息输入\n"); puts("\t\t\t2. 新图书信息录入\n");

C语言程序设计 图书馆管理系统

题目:图书馆管理系统 院系:信息科技学院 专业: 姓名: 学号: 指导教师: 日期: 2015年7月15日 桂林电子科技大学信息科技学院实训报告

目录 1 问题定义 =================================1 2 系统设计 ---------------------------------5 2.1 总体设计 ---------------------------------5 2.2 详细设计 ---------------------------------6 2.2.1 数据结构设计 ---------------------------------6 2.2.2 主控流程 ---------------------------------8 2.2. 3 增加信息模块 ---------------------------------7 2.2. 4 查找信息模块 ---------------------------------7 2.2.7 删除信息模块 ---------------------------------7 2.2.8 修改信息模块 ---------------------------------7 2.2.8 数据功能描述 ---------------------------------7 3 系统实现 ================================ 2 3.1 编码 -------------------------------- 8 3.1.1 程序预处理 -------------------------------- 9 3.1.2 主函数main() --------------------------------- 9 3.1.3 主菜单界面 -------------------------------- 11 3.1.7 增加图书信息 -------------------------------- 14 3.1.8 查询图书信息 -------------------------------- 14 3.1.9 删除图书信息 -------------------------------- 15 3.2.0 修改图书信息 -------------------------------- 15 3.2 测试与调试 -------------------------------- 13 3.2.1 概述 -------------------------------- 14 3.2.2 程序测试 -------------------------------- 14 5 归纳总结 ============================================== 3 5.1 开发经验 -------------------------------- 16 5.2 实训中遇到的问题及解决方法------------------------- 16 5.3 设计中的不足之处 --------------------------------- 16 5.4 感想和心得体会 --------------------------------- 16 6 参考资料 ================================= 16

C语言-图书管理系统教程文件

图书借阅管理系统 1.课程设计的目的 我这次做的系统是图书借阅管理系统,主要目的是利用本系统来管理图书的借阅问题,以实现图书借阅的快捷化、规范化、自动化来提高工作效率。系统以实用性,通用、开放和安全的原则。使用数据库开发软件开发制作,实现了图书借阅信息的管理,借阅图书的信息自动化添加,借阅者的个人基本信息,借阅的基本信息,对各种图书的分类管理以及各种新书的添加等一些繁琐事项。更好的管理好图书的借阅问题。大大的减少了人工的工作量,比以往很大程度上提高了工作人员的工作效率。使之成为图书馆的一个平台,成为真正的现代化科技。 为了充分利用学院现有的计算机硬件资源,做好图书借阅管理工作,提高办事效率,实现全面的、相对集中的办公自动化,开发本系统就成了当务之急,其目的主要为了彻底改变这种繁杂的管理模式,实现全面的、相对集中的、智能化的信息综合管理,为图书馆的管理工作带来方便。我想借本次课程设计之际,开发一个适用于通用大规模图书馆的管理系统,采用现学习的C++6.0开发工具开发出来的基于Windows系列的图书借阅管理系统。该系统面向所有的在校学生,实现对学生个人的借书、学生的基本信息情况等的计算机管理。系统支持工作人员对学生图书借阅信息、图书馆新书的添加、旧书的信息修改、删除等操作,确保了数据库的安全性快捷性和一致性。 2.设计方案论证 2.1主界面设计思路 本次设计这个系统利用于图书馆的图书借阅管理,该系统相比以往人工的记录方式减少了很多不比要得麻烦,大大的提高了图书馆工作人员的工作效率。这次系统的开发制作主要包括以下几个方面。 书籍统计可以查询图书的名称、作者、序号等信息,以及是否借出去了。书籍管理可以把新书添加到系统当中,修改书籍的详细资料等。注册会员功能,借阅书籍的学生必须注册会员才可以借书,通过注册会员来添加该学生的基本信息。通过系统来办理借书手续以记录该学生的借书信息。学生借书模块能够查询借阅学生的信息和该学生的借书的信息。还书模块功能,学生把书籍归还后系统会清楚该学生的借书记录。员工管理系统,把员工的信息录入系统可以快速的查阅员工的信息,是管理更方便快捷。 图书借阅管理系统功能概况,如图1所示

C语言图书管理系统实验报告完整版

C语言图书管理系统实 验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

课程报告课程名称:程序设计实践 专业班级:信息类1110 学生姓名: 学号: 任课教师: 学期:20101-2012学年第二学期 课程报告任务书

成绩评定教师:

1 需求分析 这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。通过这些信息使之提供以下功能: (1)图书信息创建功能。其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。(图书信息用文件保存)。 (2)图书信息查看功能。用来查看各项图书信息。 (3)图书信息查找功能。通过已知信息来查找想要的图书。 (4)图书信息的删除。可以删除特定图书。 (5)图书信息的修改。可以修改图书的各项信息。 (6)图书信息的排序功能。按图书信息对录入的图书进行排序。 (7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能 2 概要设计 ⑴数据结构 图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。

菜单 函数的原型:void menu() 函数的功能:调用菜单,使用各项功能 程序: void menu(){ printf("\n\n*******************************<图书信息管理系 统>*******************************\n");

c语言课程设计——图书管理系统

选题三:图书管理系统(难度等级A) 一、系统功能 图书管理系统要求实现图书管理的基本功能,包括图书的录入、删除、查找和导入/导出等。图书的属性包括书号、书名、第一作者、版次、出版年等信息。 功能要求: 1.创建:创建所有图书; 2.显示:分屏显示系统中所有图书信息; 3.插入:插入一条图书记录到图书系统中; 4.删除:删除一条已经存在的图书记录; 5.查找:根据用户输入的属性值查找符合条件的图书; 6.输入/输出:可以从文件中批量导入导出已有的图书信息,也可以将系统中的图书 信息输出到文件中; 程序执行过程:循环显示主菜单,用户在Give your choice:输入选项,即按照功能列表输入数字0~8中的任意数字,按回车后,执行相应的功能。请参照前面的“菜单设计练习”的要求建立下页图所示程序运行主界面。 二、菜单功能 1.Input Records(输入若干条记录) 从键盘一次输入一本书的信息,存放到结构体数组中,然后显示。提示信息确认是否输入下一条记录。 2.Display All Records(显示所有记录) 按顺序显示所有记录,每屏显示10条记录。每显示10条记录,按键继续显 3. 输入待删除书的书名,显示该书名的所有书目,提示输入待删除书目的书号,提示是否确认删除,确认后,删除该书。 4.Sort(排序) 以书名为升序排列数组 5.Insert a Record 以书名为序排列的数组中插入一条记录,插入后,数组仍然有序。输出插入成功后的信息。 6.Query(查找并显示一个记录) 输入书名,查找并显示包含该书名的所有信息。 7.Add Record from a Text File(从文件中读入图书信息到结构体数组中)

图书管理系统(含源代码)c语言_数据结构课程设计报告

数据结构大作业 图书管理系统 工程管理121279044 伍杨 目录 一、题目要求 (2) 二、总体设计 (2) 三、编码实现 (3) 1) 定义图书结构体 (3) 2) 登记操作 (4) 3) 查看操作 (8) 4) 删除操作 (11) 5) Main函数 (20) 四、调试与测试 (26) 五、五心得体会 (28) 六、用户手册 (28)

一、题目要求 1)目的要求 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及C语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。 2)题目要求 实现图书管理信息系统的设计。要求实现图书添加、显示全部图书、查询、借阅和归还。主要考查利用文件的操作! 二、总体设计

三、编码实现 1)定义图书结构体 struct book{ char bookname[20]; //书名 int NO; //书编号 char type[20]; //类型 int date; //到书日期 }; struct person{ char name[10]; //姓名 char classes[20]; //班级 int number; //学号 char telephone[12]; //联系电话 int NO; //书编号 char bookname[20]; //书名 int borrowdate; //借书日期 int returndate; //还书日期

2)登记操作 void new_book() //登记新书 { FILE *fp; struct book b; int i,j; if((fp=fopen("shuku.txt","a"))==NULL){ printf("File open error!\n"); exit(0); } printf("请朱老师输入此次收到的书本总数:"); scanf("%d",&i); for(j=0;j

图书馆管理系统设计(C语言)

C程序设计报告图书管理系统

设计题目:图书管理系统 设计要求:利用C语言实现小型的图书管理系统,能够满足基本的借阅功能。 1.1问题提出:本人计划编写一个图书管理系统,主要是提供具有图书管理的程序。本人的主要工作就是,编写出一个正确的程序,使其正常运行,实现图书管理功能!1.2本系统主要会涉及的知识点:结构,数组,循环,函数,判断,指针等语句的应用。1.3主要功能要求: 功能分析:从图书馆的管理功能上分析,图书馆一共有三个方面的需求。 1 对用户的管理。 2 对图书的管理。 3 对借阅的管理。 因此,本系统也从以上三个方面进行了设计,以实现上面的功能。 具体分析如下 1 注册用户管理(以学校为样体,用户为学生) 学生信息包括:学生ID,学生姓名,学生学号,所在院系,所在班级,性别,年龄。(1)学生加入需要依次输入学生ID,学生姓名,学生学号,所在院系,所在班级,性别,年龄。不能为空。 (2)学生删除此处用一个查询功能,是你方便的找到要删除的学生,同时显示该学生的信息,并要求删除确认。 (3)学生信息修改使用系统提供的查找功能可以迅速的找到要修改的学生,并提示修改的信息。 2 图书信息管理 图书信息包括:图书ID,图书名字,图书作者,在馆状态。 (1)新书入库

(2)旧书删除 对不用的旧书可以执行该操作。 可以使用系统提供的查找符合条件的图书,并可以同步显示该图书的信息,以便确认所删图书的正确性。 (3)图书信息修改 当图书的信息发生改变的时候可以使用该功能来更新图书的信息,以保证图书信息的正确性。 操作是只要用系统提供的查找功能找到该图书,就可以在信息显示栏中对图书信息做修改。 3 图书借阅管理:图书借阅信息包括:借阅号,图书ID,学生ID,是否借出,借出日期,是否归还,归还日期。 (1)图书借阅:需要图书ID,学生ID。 (2)图书归还:需要图书ID,学生ID。 4 查询报表 (1)图书信息查询:可以按照图书ID,图书名字,图书作者实现查询。 (2)借/还纪录查询 借,还图书信息都可以按照图书ID,学生ID,日期范围灵活的查询。(3)未还图书查询 查询可以按照图书ID,学生ID,班级,院系进行,从而可以方便的进行分组管理。 2功能设计 2.1算法设计 本系统需要实现的功能要求:利用switch语句设计如图1所示的主菜单: 请输入选项编号(1~10)

图书馆管理系统c语言

图书馆管理系统c 语言

图 书馆 管理 系统 0 4507 2班 王磊

第三部分13题 一、题目要求 图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,另外设计的系统须具有如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3.对撤销图书信息的删除 4.办理借书手续 5.办理书手续 二、需求分析 根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表示,在该系统中用〝1〝来表示可借出,〝0〝来表示已借出。 图书信息应存放在文件中,因此提供文件的输入输出等操作;而且程序需具有实现图书信息浏览,查找、修改等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。

三、总体设计 结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下 四、详细设计 1、主函数 主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图]

[程序] main() {int n,t; /*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/ do {puts("\t\t\t***欢迎使用图书馆管理系统***\n\n\n"); puts("\t\t\t*************MENU************\n\n"); puts("\t\t\t1. 图书信息输入\n"); puts("\t\t\t2. 新图书信息录入\n"); puts("\t\t\t3. 图书信息浏览\n"); puts("\t\t\t4. 图书信息查找\n");

c语言程序设计报告-图书管理系统

中国地质大学本科生课程论文封面 课程名称c语言课程设计 教师姓名樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语

注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录

课程设计评语 (1) 目录 (2) 1.课程论文题目 (3) 2.程序设计思路 (4) 3.功能模块图 (4) 4.数据结构设计 (4) 5.算法设计 (5) 6.程序代码 (6) 7.程序运行结果 (15) 8.编程中遇到的困难及解决方法 (18) 9.总结心得及良好建议 (19) 10.致谢 (19) 1.课程论文题目

图书管理系统 2.程序设计思路 根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。 3.功能模块图 系统功能模块图 4.数据结构设计

先写主函数main switch 选择,然后进入入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。 5.算法设计 先定义结构体数组struct books ,然后设置主界面,主界面出现6个功能选 项,分别是输入sr() 、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下: 输入模块sr(),先调用文件eup ,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc 图书名称,tsbh 图书编号,dj 单价,zz 作者, 然后自动生成,czzt 存在状态,姓名xm ,学号xh ,性别xb. 查询模块cx(),有选项图书编号和图书名称,然后选择,用if 选择,然后用for 循环查找,当输入名称与文件中的名称相同时,便显示此信息。 删除模块就是在查找功能的图书后,选择删除,将strcpy 将s[i+1]的值赋给s[i]。 借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt 变为已借出,然后输入姓名,学号,性别,最后显示出已借出。 还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。

图书管理系统源码及课程设计报告c语言版

图书管理系统 题目: 图书管理基本业务包括:对一本书的采编入库、清除库存、借阅、和归还等等。试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。 一、需求分析 1、每种书的登记容至少包括书号,书名,著者,现存量和总存量 等五项。 2、系统的操作定义及其功能定义如下: ①采编入库:新购一种书,经分类和确定书号之后的攻击到 图书账目中去,如果这种书在帐中已有,则只将总库存量增加。 ②清除库存:某种书已无保留价值,将它从图书账目中注销 ③借阅:如果将一种书的现存量大于零,则借出一本书登记 借阅者的图书证号和归还期限。 ④归还:注销对借阅者的登记,改变该书的现存量 二、概要设计 要实现上述需求,需用到查找、排序的算法及定义。 ADT StaticSearchTable { 数据对象D:D是具有相同特性的数据元素的集 合。每个数据元素含有类型相同的关键 字,可唯一标识数据元素。 数据关系R:数据元素同属一个集合。

基本操作P:Create(&ST, n); Destroy(&ST); Search(ST, key); Traverse(ST, Visit()); } ADT StaticSearchTable Create(&ST, n);操作结果:构造一个含n个数据元素的静态查找表ST。 Destroy(&ST);初始条件:静态查找表ST存在; 操作结果:销毁表ST。 int Search_Seq(SSTable ST, KeyType key) { // 在顺序表ST中顺序查找其关键字等于 //key的数据元素。若找到,则函数值为 // 该元素在表中的位置,否则为0。 ST.elem[0].key = key; // “哨兵” for(i=ST.length;ST.elem[i].key!=key; --i); // 从后往前找 return i; // 找不到时,i为0 } // Search_Seq、 动态查找表: ADT DynamicSearchTable 数据对象D:D是具有相同特性的数据元素的集 合。每个数据元素含有类型相同的关键

c语言课程设计报告·图书管理系统

第一章 §1.1题目描述 图书管理系统设计: 【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统,使之能提供以下功能:(1)新图书基本信息的输入; (2)图书基本信息的查询; (3)对撤销图书信息的删除; (4)办理借书手续; (5)办理还书手续; 【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。 §1.2算法设计 1.设计思想: 在整个系统编写的过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2.实现注释: 这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。可查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行处理。

图书馆管理系统c语言

图书馆管理系统 045072班王磊第三部分13题 一、题目要求 图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,此外设计的系统须具有如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3.对撤销图书信息的删除 4.办理借书手续 5.办理书手续 二、需求分析 根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表达,在该系统中用〝1〝来表示可借出,〝0〝来表示已借出。 图书信息应存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现图书信息浏览,查找、修改等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。 三、总体设计 结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下 四、详细设计 1、主函数 主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图]

[程序] main() {int n,t; /*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/ do {puts("\t\t\t***欢迎使用图书馆管理系统***\n\n\n"); puts("\t\t\t*************MENU************\n\n"); puts("\t\t\t1. 图书信息输入\n"); puts("\t\t\t2. 新图书信息录入\n"); puts("\t\t\t3. 图书信息浏览\n"); puts("\t\t\t4. 图书信息查找\n"); puts("\t\t\t5. 图书信息修改\n"); puts("\t\t\t6. 图书信息删除\n"); puts("\t\t\t7. 图书借阅\n"); puts("\t\t\t8. 图书归还\n"); puts("\t\t\t9. 退出系统\n"); puts("\t\t\t\n\n\n*****************************\n\n"); /*对功能选项的显示*/ printf("选择使用功能种类(1--9)[ ]\b\b"); scanf("%d",&n); if(n<1||n>9) {t=1;getchar();} /*对选择的数字作判断*/ else t=0;} while(t==1); /*实现选择功能*/ switch(n) {case 1:enter();break; /*输入功能*/ case 2:add();break; /*追加功能*/ case 3:browse();break; /*浏览功能*/ case 4:search();break; /*查找功能*/

相关文档
相关文档 最新文档