C语言图书信息管理系统实验报告

C语言图书信息管理系统实验报告
C语言图书信息管理系统实验报告

课程报告

课 程 名 称程序设计实践

专 业 班

级:

学 生 姓 名:

号:

任 课 教 师:

阎娟

期: 2011-2012 学年第二学期

课程报告任务书

开发一个图书信息管理系统, 图书信息包括: 图书编号、 书名、 作者、出版社、 类别、 出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量 等)。使之能提供以下 基本功能 :

( 1)图书信息录入功能 (图书信息用文件保存 )--输入 (2)图书信息浏览功能--输出

主要

( 3)查询功能 (至少一种查询方式 )、排序功能 (至少一种排序方式 ):

内容 ①按书名查询 ②按作者名查询 ③ 按照价钱排序 ④按出版时间排序等等 (4)图书信息的删除

与修改

扩展功能 :可以按照自己的程度进行扩展。比如(

1)简单的权限处理 ( 2)报表打

印功能( 3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。

( 4)

模糊查询 ( 5)综合查询 (6)统计功能 比如统计处某一类别的图书信息 或 筛 选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。

、提交材料应包括: (1)系统源代码 ( 2)课程报告 、整个设计过程具体要求

( 1)需求分析 要求学生对案例系统进行分析,设计出需要完成的功能,完善

任务

各个模

块的调用关系; 要求

( 2)设计过程 要求学生进一步明确各模块调用关系, 进一步完善模块函数细节 (函数名、参数、返回值等)

( 3)实现过程 要求学生养成良好的编码习惯、完成各个模块并进行测试,最终 完成系统整体测试;

( 4)总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。

成绩评定教师:

成绩

评定

1 需求分析

随着当今社会发展,信息化水平逐步提高,对图书管理有了新的要求,因此,编写一个信息管理系统是十分必要的。

为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用C 语言编写图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、出版社、出版日期、价格、库存数量等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。整个程序实现链表操作,对图书信息的操作逐个进行,一个图书信息的更改不应影响其他的图书记录。

2 概要设计

1 ,设计表示:

(1) 、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()

和选择语句swithch() 实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的密码设置、录入、存储、查询、添加、删除、修改、排序等功能。

(2) void Main_menu() ;这是一个指针函数,它主要实现了链表的创建,并且在创建过程中从文件读取信息到链表中,以用于后面其他函数的操作。

(3) void mainFind() 、void Delete() 、void change() 、void write() 、struct node * read() 、void Sorting_order() 、#define S 123 、#define A 123456 这六个函数时整个图书管理系统的全部菜单函数。void Delete() 、void change() 、void write() 、struct node * read() 、在此可以选择删除、修改、保存,读取图书,排序等操作。void mainFind(); 为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。#define S 123 、

#define A 123456 分别是学生登陆和管理员登陆的密码。

(4) void Print(); 这个函数为图书的遍历,浏览所有的图书。

(5) void Find_booknumber() 、void Find_bookname() 、void Find_author() 、void

Find_press(); 这三个函数为查询图书信息函数,void Find_booknumber(); 按书号查询、; void

Find_bookname() 按书名查询、void Find_author() ; 按作者查询、void Find_press() ;

按出版社查找。

(6) void Sorting_booknumber(), 按书号排序。void Sorting_price() ,按价格排序。void Sorting_publication_date() ,按出版日期排序。void Sorting_number() ,按馆藏数量排序。3.实现注释:

这个实用的小型图书管理程序程序以链表操作完成,并实现文件信息的录入和保存等功能。实现了图书管理的基本功能,包括了图书的录入、存储、查询、添加、删除、修改、排序等功能。查询时可按书名、编号、作者等方式查询,找到后输出这本书的所有信息。在添加图书信息后,还增加了链表排序操作,并输出整个链表,方便用户检查信息。系统中主要的数据结构就是图书的信息,包含编号、书名、作者、出版社、出版时间、价格、馆藏数量等,在处理过程中各项可以作为一本图书的不同属性来进行处理。

3 详细设计

1-1 定义变量

struct node{

int book_number;// 书号

char book_name[25];// 书名

char press[50];// 出版社

char author[20];// 作者

int price;// 价格

char publication_date[20];// 出版日期

int number;// 馆藏数量

struct node * next;

};

struct node * head = NULL;// 在此定义一个全局变量head, 其它函数就不需要再返回head; 但这样做,程序中的函数的可用性就不是太高int Total = 0; // 记录图书总数

1-2 函数的定义

void Creat();// 录入图书信息

struct node* Insert(struct node* p,struct node* head0);//

插入图书信息

void Delete();// 删除图书信息

void change();// 修改图书信息

void write();// 保存图书信息

struct node * read();// 读取图书信息

void amend(struct node * p);// 辅助修改选项void Print();// 遍历图书信息

void Print_by_one(struct node * p);// 单项遍历

void Main_menu();// 登陆界面

void Administrator_menu0();// 第一次进入系统的管理员菜单

void Administrator_menu1();// 第n 次进入系统的管理员菜单

void Student_menu();// 学生菜单

void mainFind();// 查找菜单

void Find();// 精确查找图书

void Find0();// 模糊查找图书

int str(char a[],char b[]);// 模糊查找函数

void Find_booknumber();// 按书号查找

void Find_booknumber0();// 按书号模糊查找

void Find_bookname();// 按书名查找

void Find_bookname0();// 按书名模糊查找

void Find_author(); // 按作者查找

void Find_author0(); // 按作者模糊查找

void Find_press(); // 按出版社查找

void Find_press0(); // 按出版社模糊查找

char *transform(char str[] ,int n);// 将整数转化为字符存入字符数组返回void Sorting_order();// 排序

void Sorting_help(struct node* p1,struct node* p2);// 辅助排序

void Sorting_booknumber();// 按书号排序

void Sorting_price();// 按价格排序

void Sorting_publication_date();// 按出版日期排序

void Sorting_number();// 按馆藏数量排序#define S 123 // 学生密码

#define A 123456// 管理员密码

int T = 0;// 选择菜单

1-3 信息的录入

void Creat()// 录入图书信息

{

struct node *tail,*p;

int book_number;// 书号

char choice;

printf(" 该操作将清除书库中所有书目的信息!

\n");

printf("\n\t\t\t 你想继续操作吗?(Y/N)\n"); while(1)

{

printf(" 请选择:"); if(scanf("%c",&choice)) {

getchar();

if(choice == 'Y'||choice ==

'y'){ system("cls");

break;

}

else if(choice == 'N'||choice == 'n')

{ system("cls"); return;

}

else{

printf(" 请按要求输入!\n"); continue;

}

} else

printf(" 输入的不是字母,请按照要求重新输入!\n"); continue;

}

}

printf("\t\t\t 提示:请输入你要输入的数据,当书号为数字'0' 时结束!\n\n"); printf(" 请输入书号:");

scanf("%d",&book_number);

getchar();// 吸收回车符,清空缓冲区,这样才能正常执行清屏操作while(book_number != 0) {

p = (struct node *)malloc(sizeof(struct node));

printf(" 请输入书名:"); scanf("%s",p->book_name);getchar();

printf(" 请输入作者:"); scanf("%s",p->author);getchar();

printf(" 请输入出版社:"); scanf("%s",p->press);getchar();

{

printf(" 请输入价格:"); scanf("%d",&p->price);getchar();

printf(" 请输入出版时间:"); scanf("%s",p->publication_date);getchar();

printf(" 请输入馆藏数量:");

scanf("%d",&p->number);getchar();

putchar('\n');

p->book_number = book_number;

p->next = NULL;

if(head == NULL)

{

head = tail = p;

}

else tail->next = p; tail = p;

}

Total++;

printf(" 请输入书号:");

scanf("%d",&book_number);

}

printf("\t\t\t\t 图书信息录入成功!\n\n");

}

1-4 按编号查询

void Find_booknumber()// 按书号查找

{

int book_number;

struct node *p1,*p2;

printf(" 请输入你要查找的图书书号:");

scanf("%d",&book_number);

printf("\t\t\n 你要找的书为:\n");

printf("\t\t ------------------------------------------------------------ \n");

printf("\t\t| 书号| 书名| 作者| 出版社| 价格| 出版时间| 馆藏数量|\n");

printf("\t\t ------------------------------------------------------------ \n");

if(head->book_number == book_number) {

Print_by_one(head);

}

p1 = head;

p2 = head->next;

while(p2 != NULL)

{

if(p2->book_number == book_number) {

Print_by_one(p2);

p1 = p2;

p2 = p2->next;

}

else

{

p1 = p2;

p2 = p2->next;

}

}

}

1-5 按出版时间排序

void Sorting_publication_date()// 按出版日期排序

{

struct node *p1,*p2,*p3,*p4,*p5,*p6,*p7;

int x=1;

for(p1=head;p1->next!=NULL;p4=p1,p1=p1->next)

{

p3=p1;

for(p2=p1->next,p5=p7=p2;p2!=NULL;p7=p2,p2=p2->next)

{

if(strcmp(p3->publication_date , p2->publication_date) > 0)

{

p3=p2;

p5=p7;

}

}

if(p3!=p1)

{

if(x&&p1==head)

{

p6=p1->next;

p1->next=p3->next;

p3->next=p6;

p5->next=p1;

head=p3;

p1=p3;

x=0;

}

else

{

p6=p1->next;

p1->next=p3->next;

p3->next=p6;

p4->next=p3;

p5->next=p1;

p1=p3;

}

}

}

}

4 调试分析

问题1:对于函数是否返回函数值,并怎样返回指针?

解答:对于void 开头的函数,没有返回值,在程序中可以直接调用。有指针返回值的函数,直接返回指针名。

问题2:在使用变量前,指针变量和一般变量如何初始化?解答:在使用一般变量前,忘记初始化,例如:定义n,在下面程序循环中,没有替n

附初值,结果导致乱码。指针变量*p,在不同情况下,p值要赋予NULL或head。

问题3:指针之间的传递赋值如何辨别顺序?最终返回值又是哪一个?解答:指针的传递赋值是从赋值号的右端赋值于赋值号的左端。例如:p=head, 表示指针p 指向head 的位置。最终的返回值应该是赋值号左端的指针。

5 测试结果

登录系统

图书的查找

图书信息的录入

按价格排序

浏览图书信息6 课程心得总

在这一个学期的实践中,通过编写这个图书管理系统,我体会到了c 语言学习的实用性。

将理论和实践结合在一起,用先进的计算机工具方便人们的生活。

C 语言程序的编写首先要从大局考虑,把自己编写整个程序的思想都写在草稿上,这样有助于自己编写程序,在编写时要完善注释,方便其他人理解程序。编写的程序从理论上来说并没有错,但以上机就问题不断。甚至有些课本上的知识照搬不变,也不能得到正确的结果。有时一个程序改了一遍又一遍,但就是不能成功,编程显得枯燥乏味,看似简单的程序题,在调试时却屡屡出错。经反复的修改后,结果正确了,这时所有的乏味都显得那么无力,一切都是值得的。

开发一套系统,最重要的是细心,并且思考要全面,结合实际,充分考虑到客户的需求和现实意义。不管什么系统,只用运用到实际应用中,才具有先现实意义。所以c 语言程序的实用性很强,我们以后还要更加努力认真地学习编程语言。

图书管理系统的设计(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; /*查找功能*/

相关文档
最新文档