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

合集下载

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

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

C语言程序课程设计报告标题:图书管理系统专业:软件工程类:设计主题图书馆管理系统主要包括管理图书的库存信息,每本书的借阅信息,每个人的借阅信息。

每本书的库存信息包括数量、书名、作者、出版日期、金额、类别、总入库数量、当前库存、已借出图书数量等。

每本借书包括以下信息:编号、书名、金额、借书证号、借阅日期、到期日期、罚款金额等。

每个人的图书馆信息包括借书证号、班级、学号等。

该系统的功能包括以下几个方面:一、借阅资料管理要求对图书、期刊、报纸、期刊进行分类管理,这样操作会更加灵活方便。

可以随时添加、删除、修改、查询等相关资料。

b、借贷管理(1)借贷操作(2)还书操作(3)更新治疗提示:以上处理需要相互配合,通过编辑赔偿和违约金金额来完成图书借还业务的各种登记。

例如,读者在还书时,不仅要更新图书的库存信息,还要自动计算图书的罚款金额。

并显示读者当天到期未还图书的所有信息。

c、读者管理读者等级:对借阅的读者进行分类,比如可以分为教师和学生两类。

并定义每类读者可以借阅的图书数量及相关借阅时间等信息。

读者管理:可以录入读者信息,以及挂失或注销读者、查询等服务。

D.统计分析可以随时进行统计分析,及时了解当前的借阅情况和相关数据状态。

统计分析包括借阅列表、数据状态统计、借阅统计等功能分析,显示当日所有到期未还的图书信息。

e系统参数设置:您可以设置相关的系统服务器参数,如违约金金额、最大借用天数等。

根据题目分析这项工作分为六个模块。

1.图书数据2.借款人信息3.借用模块4.还书模块5.照看书籍6.查询模块模块一:书号,书名,作者,出版时间,价格,份数,页数。

模块二:单位、借阅书目、借阅时间模块3:输入书名、书号、借书证。

模块四:登记书号,还书,处理罚款。

模块5:管理书库中的书籍,将新书入库,删除旧书,堆栈查询模块6:图书查询。

数据测试源代码汉字菜单可以参照以下代码编写:#包含“stdio.h”。

主(){ char c;int I;做{clr SCR();for(I = 0;i < 80i++)printf(" * ");printf("\t 1:添加书籍\ n ");printf("\t 2:列出书籍\ n ");printf(" \ t 3:s reach books \ n ");printf("\t 4:借书\ n ");printf("\t 5:返回图书\ n ");printf("\t6:退出\n ")printf(" \ t请选择输入选项[1 \ \ 2 \ \ 3 \ \ 4 \ \ 5 \ \ 6]:\ n ");做{c = getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&!='6');getchar();开关(c){事例“1”:输入();打破;案例“2”:del();打破;事例“3”:find();打破;case“4”:arrange();打破;事例“5”:right();打破;案例“6”:出口(0);}Printf("按任意键返回主菜单:\ n ");getchar();clr SCR();} while(1);}#include <stdio.h >定义图书结构*/结构书{int _ id#include <stdlib.h >#include <string.h >#定义借入1#定义NOBORROW 0/*//数字,唯一char _ name[32];//书的名称,不唯一int _ type//书的类型,不唯一int _ status//书的状态,借出/未借出int _ count//图书借出的次数struct Book * _ next//下一本书结构书* _ prev//前一本书};定义书籍类型*/操作目录提示*/操作目录提示1 */添加图书类型并显示用户信息*/添加图书状态并显示用户信息。

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

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

HUNAN UNIVERSITY C语言程序训练报告【设计目的】图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等。

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

【总体设计】【详细设计】1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用源代码为//rkou。

c 程序的入口#include<stdio。

h>#include〈stdlib.h〉#include〈string。

h>#include<conio.h〉#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);}system("pause”);}2.程序中全局变量声明定义,以及所有函数声明源代码为struct book //图书结构体声明{ char name[50],classic[10],writer[20]; //书名,类别,作者int jn; //借出数量int zn; //在馆数量int bh; //图书编号};struct information //管理员和读者结构体声明{char name[10],no[12],key[10]; //姓名,账号,密码};struct show //图书借阅记录的结构体声明{char name1[10],name2[50],writer[20],no[12]; //书名,读者姓名,书的作者,读者账号int bh,o; //图书编号,借阅状况(未还,已还)};//以下为用到的全局变量struct book bk;struct information aa,rr;struct information stu[100];struct book bb[100];struct information ad[100];struct show ss[100];int i,j,k,s;int n=0;int x;FILE *fp;//以下函数主要功能:方便窗口与用户之间交换信息int regst();void password(char *a,int b,int j);//登陆时的输入函数void examine(int *a,int b); //保证键入的数据是数字void changepaw(int a,int b); //修改密码用到的提示函数void inputs0(); //输出图书类别以供用户选择void inputs1(int a,int b,int c,int d,int e); //方便用户输入图书各项信息(如书名,编号)void inputs2(int a,int b,int c); //方便用户输入管理员的信息(如账号姓名)void inputs3(int a,int b,int c);//方便用户输入读者的信息(如账号姓名)void eros(int i); //错误显示函数,操作一旦出错,则会出现相应的错误信息void conects(int j); //连接函数,选择界面//一下函数主要用于改变文件的内容并保存int setup(); //数据初始化函数int xzc(char no[12],char key1[10],char key2[10],char name[10]);//读者注册函数int exam(char no[10],char key[10],int n);//密码账号检验函数int mp(char no[12],char key1[10],char key2[10],char key3[10],int n); //密码修改函数void paixu(); //对图书按照编号从小到大的顺序进行排列int sc(int bh); //管理员删除图书信息函数int zj(struct book bb); //管理员增加图书信息函数int xg(struct book bb);//管理员修改图书信息函数int js(int bh,char no[12]); //借书函数int hs(int bh,char no[12]); //还书函数int bh1(int bh); //判断该编号的图书信息是否存在函数void bh2(int bh); //按照图书编号显示图书信息函数int sm1(char name[50]);//判断是否存在该名字的图书信息函数void sm2(char name[50]); //按照图书名字显示图书信息函数int zz1(char writer[20]); //判断是否存在该作者的图书信息函数void zz2(char writer[20]);//按照图书作者显示图书信息函数void lb(char classic[10]); //按类别显示图书信息int rck1(int bh);//判断该编号的图书的借书记录是否存在void rck2(int bh);//按编号显示图书借书情况int gck21(char no[12]);//判断该账号读者的借书记录是否存在void gck22(char no[12]); //按读者显示借书情况2void gck12(); //显示全部借书情况void gck23();//管理员查看所有书的信息void copy(int bh); // 按编图书编号将图书信息暂时保存在另外一个结构体里面void copy2(char no[12]); //按管理员账号将管理员信息暂时保存在另外一个结构体里面void copy3(char no[12]);//按读者账号将读者信息暂时保存在另外一个结构体里面//pic()函数:每个函数表示一个界面,conects函数将它们连接起来void pic0();void pic1();void pic2();void pic3();void pic4();void pic5();void pic6();void pic7();void pic8();void pic9();void pic10();void pic11();void pic12();void pic13();void pic14();void pic15();void pic16();void pic17();void pic18();void pic19();void pic20();void pic21();void pic22();void pic23();void pic24();void pic25();void pic26();void pic27();void pic29();void pic30();void pic31();void pic32();void pic33();void pic34();void pic35();void pic36();void pic37();void pic38();void pic39();void pic40();void pic41();void pic42();void pic43();void pic44();void pic45();void pic46();void pic47();void picc();3.用户输入以及界面反馈用到的功能函数源代码为int regst(){char num[12],paw1[10],paw2[10],name[10];int i;printf(”请输入账号\n(11字符以内,不能含有中文字符):\n”);password(num,0,11);printf(”输入您的密码\n(9字符以内,不能含有中文字符):\n");password(paw1,1,9);printf("请再次输入密码:\n”);password(paw2,1,9);printf("输入您的姓名:\n");gets(name);system("cls”);i=xzc(num,paw1,paw2,name);return i;}void password(char *a,int b,int j){ char c;int i=0;while((c=getch())!=’\r’){if(c==8){ printf(”\b \b”);if(i〉0)i-—;}else if(i<j){if(b)printf("*”);else printf("%c",c);a[i]=c;i++;}if(i==j){ printf("\a");}}a[i]='\0';printf("\n");}void examine(int *a,int b){ while(!scanf(”%d",a)){ while(getchar()!='\n’);printf("请输入数字!!\n");}rewind(stdin);if(b) system("cls”);}void changepaw(int a,int b){ int i;char c1[10],c2[10],c3[10];printf("请输入原密码\n”);password(c1,1,9);printf("请输入新密码\n");password(c2,1,9);printf(”请再次输入新密码\n”);password(c3,1,9);system("cls”);if(b){i=mp(aa。

C语言课程设计-书店管理系统精选全文

C语言课程设计-书店管理系统精选全文

计算机程序设计(C语言)课程设计报告题目:图书管理系统学院:专业:班级:学号:姓名:指导教师:设计日期:2013年06月24日一、选题背景:设计一个图书管理系统,管理员通过登陆账号来进行下一步,使用错误账号和密码会被视为非法登陆。

图书信息包括:每种图书都有书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等;读者信息包括:借书证记录有借阅者的姓名、密码、所在单位和类别等;读者凭借书证借书二、设计思想:(1)整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。

主要实现了图书的录入、存储、查询、添加、删除、修改、借书、还书等功能。

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

它返回的时一个单向链表的头。

其他函数调用时只需调用它返回的头即可。

(3)、mainmenu();、menu1();、glm enu();、cxmenu();、jhmenu();这五个函数时整个图书管理系统的全部菜单函数,mainmenu();为系统主界面,进入时可选择进入程序和退出程序。

menu1();为进程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。

glmenu();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。

cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。

jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。

操作完成后按提示信息进行文件的保存操作。

三、程序流程图会员登陆系统系统管理界面收银系统管理系统报表系统退出系统四、主要解决问题的方法及技术关键通过自己定义的函数和声明一个结构,主要方法是先使用int函数定义,不同的选择进入不同的定义函数,通过for语句进行判断,然后使用heart数组的各种方式打开此文件,然后通过while函数和for函数关闭文件,在不同的取用数值里,分别使用for,while语句进行判断是否进行下条语句。

C语言程序设计大作业--图书管理系统

C语言程序设计大作业--图书管理系统

C语言程序设计大作业设计报告一.设计方案本程序旨在用一个C语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。

二.模块说明及代码分析1.主函数:源代码:void main(){int a;printf("\n");printf("\n");printf(" ( ^_^ ) WELCOME!\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t〉〉-------------BJTU图书管理系统--------------〈〈");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");do {printf("1.借书 2.还书 3.新书录入4.查询 0.退出");printf("\n");printf("\n");printf("\n");printf("\n");printf("请选择序号:");scanf("%d",&a);switch(a){case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf("请选择正确的序号!\n");printf("\n");}}while(a!=0);printf("谢谢使用图书管理系统!\n");}主函数提供人机交互界面,让操作者选择所需的操作项目,并有退出选项。

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

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

c语言课程设计图书馆管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程基础,能够运用C语言设计简单的图书馆管理系统。

具体分为三个维度:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.技能目标:学生能够运用C语言进行程序设计,具备编写、调试和运行C语言程序的能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队合作意识。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础,以及图书馆管理系统的项目实践。

具体安排如下:1.第一章:C语言概述,介绍C语言的历史、特点和基本语法。

2.第二章:数据类型和运算符,学习基本数据类型、字符串、运算符及其优先级。

3.第三章:控制结构,学习条件语句、循环语句和跳转语句。

4.第四章:函数,学习函数的定义、声明和调用,以及常用标准库函数。

5.第五章:数组和字符串,学习一维数组、多维数组、字符串的基本操作。

6.第六章:指针,学习指针的概念、运算和应用。

7.第七章:结构体和文件,学习结构体的定义和应用,以及文件的读写操作。

8.第八章:图书馆管理系统项目实践,运用所学知识设计并实现一个简单的图书馆管理系统。

三、教学方法本课程采用多种教学方法相结合的方式,包括:1.讲授法:讲解C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.案例分析法:通过分析典型的图书馆管理场景,引导学生运用C语言进行程序设计。

3.实验法:让学生动手编写、调试和运行C语言程序,提高学生的实践能力。

4.小组讨论法:分组进行项目实践,培养学生的团队合作意识和问题解决能力。

四、教学资源1.教材:《C程序设计语言》(K&R)或《C语言 Primer》(第五版)。

2.参考书:《C语言编程思想》、《C语言深度探索》。

3.多媒体资料:课件、教学视频、在线教程。

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

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

c语言图书管理系统课程设计一、教学目标本课程旨在通过学习C语言实现图书管理系统,让学生掌握C语言编程的基本语法,熟练运用C语言进行简单的系统开发。

具体目标如下:1.知识目标:a.掌握C语言的基本语法和数据结构;b.理解图书管理系统的需求和设计原理;c.学习C语言在文件操作、数据管理等方面的应用。

2.技能目标:a.能够使用C语言编写简单的程序;b.学会使用C语言进行图书信息的增删改查等操作;c.熟练运用C语言进行图书管理系统的开发和维护。

3.情感态度价值观目标:a.培养学生的编程兴趣,提高自主学习能力;b.培养学生解决问题的能力和团队合作精神;c.使学生认识到C语言在现实生活中的应用价值。

二、教学内容本课程的教学内容主要包括以下几个部分:1.C语言基础知识:C语言的基本语法、数据类型、运算符、控制语句等。

2.数据结构:数组、链表、栈和队列等基本数据结构。

3.函数:函数的定义、调用、参数传递、返回值等。

4.图书管理系统需求分析:了解图书管理系统的功能需求、性能需求等。

5.图书管理系统设计:系统架构设计、模块划分、功能实现等。

6.文件操作:文件打开、关闭、读写等基本操作。

7.系统测试与调试:测试图书管理系统的功能、性能,查找并修复程序中的错误。

三、教学方法为了提高教学效果,本课程将采用以下几种教学方法:1.讲授法:讲解C语言的基本语法、数据结构、函数等基础知识。

2.案例分析法:通过分析实际案例,使学生了解图书管理系统的需求分析和设计过程。

3.实验法:让学生动手编写代码,实现图书管理系统的各个功能模块。

4.小组讨论法:分组进行讨论,培养学生的团队合作精神和问题解决能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)等。

2.参考书:《C Primer Plus》、《C语言入门与实践》等。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)。

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

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

图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等功能描述:1.新进熟土基本信息的输入2.图书基本信息的查询3.对撤消图书信息的删除4.为借书人办理注册5.办理借书手续6.办理换书手续要求:以文件方式存储数据,系统以菜单方式工作。

这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下:#include<stdio.h>#include<stdlib.h>#include<string.h>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);/*增加图书,逐个添加*/struct book *Delete_Book(struct book *head_book,int bianhao);/*删除图书*/struct club *Create_New_Club();struct club *Search_Club_xuehao(int xuehao,struct club *head_club);struct club *Search_Club_name(char *c_name,struct club *head_club);struct club *Insert_Club(struct club *head_club,struct club *stud_club);struct club *Delete_Club(struct club *head_club,int xuehao);struct book *Lent_Book(int bianhao,int xuehao,struct book *head_book,struct club *head_club); struct book *back(int bianhao,int xuehao,struct book *head_book,struct club *head_club);int main(){struct book *head_book,*p_book;char book_name[30],name[20],author[20],sex[10];int bianhao;double price,price_h,price_l;int size_book=sizeof(struct book);int m=1,n=1,f;char *b_name,*c_name;struct club *head_club,*p_club;int xuehao;int size_club=sizeof(struct club);int choice;printf("\n欢迎您第一次进入图书管理系统!\n\n");printf("----->[向导]----->[新建图书库]\n\n");printf("注意:当输入图书编号为0时,进入下一步.\n\n"); head_book=Create_New_Book();system("cls");printf("\n欢迎您第一次进入图书管理系统!\n\n");printf("----->[向导]----->[新建会员库]\n\n");printf("注意:当输入会员学号为0时,进入主菜单.\n\n"); head_club=Create_New_Club();system("cls");do{printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("\n");printf("\t\t\t[1]:借书办理\t");printf(" [6]:还书办理\n");printf("\n");printf("\t\t\t[2]:查询图书\t");printf(" [7]:查询会员\n");printf("\t\t\t[3]:添加图书\t");printf(" [8]:添加会员\n");printf("\t\t\t[4]:删除图书\t");printf(" [9]:删除会员\n");printf("\t\t\t[5]:遍历图书\t");printf("[10]:遍历会员\n\n"); printf("\t\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n"); printf("\t\t\t0:退出\n\n");printf("请选择<0~10>:");scanf("%d",&choice);switch(choice){case 1:printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("输入所借图书编号:\n");scanf("%d",&bianhao);printf("输入借书人的学号:\n");scanf("%d",&xuehao);head_book=Lent_Book(bianhao,xuehao,head_book,head_club); system("cls");printf("\n借阅成功!\n\n");printf("相关信息如下:\n\n");head_book=Search_Book_bianhao(bianhao,head_book); break;case 2:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("1.按编号查询\n\n");printf("2.按名称查询\n\n");printf("3.按价格区间查询\n\n");printf("0.返回主菜单\n\n");printf("请选择:");scanf("%d",&f);if(f==1){printf("请输入查询图书编号:");scanf("%d",&bianhao);printf("相关信息如下:\n\n");head_book=Search_Book_bianhao(bianhao,head_book); break;}else if(f==2){b_name=book_name;getchar();printf("请输入查询图书名称:");gets(b_name);printf("相关信息如下:\n\n");head_book=Search_Book_name(b_name,head_book); break;}else if(f==3){printf("请输入最高价格:");scanf("%lf",&price_h);printf("请输入最低价格:");scanf("%lf",&price_l);printf("相关信息如下:\n\n");head_book=Search_Book_price(price_h,price_l,head_book); break;}else if(f==0){break;}break;case 6:printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("输入所还图书编号:\n");scanf("%d",&bianhao);printf("输入还书人的学号:\n");scanf("%d",&xuehao);head_book=back(bianhao,xuehao,head_book,head_club); system("cls");printf("\n归还成功!\n\n");printf("相关信息如下:\n\n");head_book=Search_Book_bianhao(bianhao,head_book); break;case 3:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("请输入图书名称:");scanf("%s",book_name);printf("请输入图书编号:");scanf("%d",&bianhao);printf("请输入单价:");scanf("%lf",&price);printf("请输入作者名字:");scanf("%s",author);printf("\n");struct book *ptr_b;for(ptr_b=head_book;ptr_b;ptr_b=ptr_b->book_next){if(ptr_b->bianhao==bianhao){printf("此编号图书已存在\n"); m=0;break;}}if(m){p_book=(struct book *)malloc(size_book);strcpy(p_book->book_name,book_name);p_book->bianhao=bianhao;p_book->price=price;p_book->xuehao=0;strcpy(p_book->author,author);strcpy(p_book->state,"存在");strcpy(p_book->sex,"待定");strcpy(p_book->name,"待定");head_book=Insert_Book(head_book,p_book);printf("\n添加图书成功!\n\n");}break;case 4:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("输入删除图书编号:\n");scanf("%d",&bianhao);head_book=Delete_Book(head_book,bianhao);printf("\n删除图书成功!\n\n");break;case 5:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); Print_Book(head_book);break;case 7:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("1.按学号查询\n\n");printf("2.按姓名查询\n\n");printf("0.返回主菜单\n\n");printf("请选择:");scanf("%d",&f);if(f==1){printf("请输入查询会员学号:");scanf("%d",&xuehao);printf("相关信息如下:\n\n");head_club=Search_Club_xuehao(xuehao,head_club); break;}else if(f==2){c_name=name;getchar();printf("请输入查询会员姓名:");gets(c_name);printf("相关信息如下:\n\n");head_club=Search_Club_name(c_name,head_club); break;}else if(f==0){break;}break;printf("请输入查询会员学号:\n");scanf("%d",&xuehao);printf("相关信息如下:\n\n");break;case 8:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("请输入会员名字:");scanf("%s",name);printf("请输入会员性别:");scanf("%s",sex);printf("请输入会员学号:");scanf("%d",&xuehao);printf("\n");struct club *ptr_c;for(ptr_c=head_club;ptr_c;ptr_c=ptr_c->club_next){if(ptr_c->xuehao==xuehao){printf("此学号会员已存在\n");n=0; break; }}if(n){p_club=(struct club *)malloc(sizeof(struct club));strcpy(p_club->name,name);strcpy(p_club->sex,sex);p_club->xuehao=xuehao;strcpy(p_club->borrow,"暂无");head_club=Insert_Club(head_club,p_club);printf("\n添加会员成功!\n\n");}break;case 9:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("输入要删除会员学号:\n");scanf("%d",&xuehao);head_club=Delete_Club(head_club,xuehao);printf("\n删除会员成功!\n\n"); break;case 10:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); Print_Club(head_club); break;case 0:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("\n谢谢您的使用!\n\n"); break;}}while(choice!=0);return 0;}struct book *Create_New_Book(){struct book *head_book,*p_book;int bianhao;double price;char book_name[30],author[20];int size_book=sizeof(struct book);head_book=NULL;printf("请输入图书名称:");scanf("%s",book_name);printf("请输入图书编号:");scanf("%d",&bianhao);printf("请输入单价:");scanf("%lf",&price);printf("请输入作者名字:");scanf("%s",author);printf("\n");while(bianhao!=0){p_book=(struct book *)malloc(size_book);strcpy(p_book->book_name,book_name);p_book->bianhao=bianhao;p_book->price=price;p_book->xuehao=0;strcpy(p_book->author,author);strcpy(p_book->state,"存在");strcpy(p_book->sex,"待定");strcpy(p_book->name,"待定");head_book=Insert_Book(head_book,p_book);printf("请输入图书名称:");scanf("%s",book_name);printf("请输入图书编号:");scanf("%d",&bianhao);printf("请输入单价:");scanf("%lf",&price);printf("请输入作者名字:");scanf("%s",author); printf("\n");}return head_book;}struct book *Search_Book_bianhao(int bianhao,struct book *head_book) {struct book *ptr_book; int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next) {if(ptr_book->bianhao==bianhao){printf("图书编号:%d\n",ptr_book->bianhao);printf("图书名称:%s\n",ptr_book->book_name);printf("图书单价:%.2lf\n",ptr_book->price);printf("图书作者:%s\n",ptr_book->author);printf("存在状态:%s\n",ptr_book->state);printf("借书人姓名:%s\n",ptr_book->name);printf("借书人性别:%s\n",ptr_book->sex);printf("学号:%d\n",ptr_book->xuehao);printf("\n"); flag++;}}if(flag==0){printf("暂无此图书信息!\n\n"); }return head_book;}struct book *Search_Book_name(char *b_name,struct book *head_book){struct book *ptr_book;int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next){if(strcmp(ptr_book->book_name,b_name)==0){printf("图书编号:%d\n",ptr_book->bianhao);printf("图书名称:%s\n",ptr_book->book_name);printf("图书单价:%.2lf\n",ptr_book->price);printf("图书作者:%s\n",ptr_book->author);printf("存在状态:%s\n",ptr_book->state);printf("借书人姓名:%s\n",ptr_book->name);printf("借书人性别:%s\n",ptr_book->sex);printf("学号:%d\n",ptr_book->xuehao);printf("\n");flag++;}}if(flag==0){printf("暂无此图书信息!\n\n"); }return head_book;}struct book *Search_Book_price(double price_h,double price_l,struct book *head_book) {struct book *ptr_book;int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next){if((ptr_book->price>=price_l)&&(ptr_book->price<=price_h)){printf("图书编号:%d\n",ptr_book->bianhao);printf("图书名称:%s\n",ptr_book->book_name);printf("图书单价:%.2lf\n",ptr_book->price);printf("图书作者:%s\n",ptr_book->author);printf("存在状态:%s\n",ptr_book->state);printf("借书人姓名:%s\n",ptr_book->name);printf("借书人性别:%s\n",ptr_book->sex);printf("学号:%d\n",ptr_book->xuehao);printf("\n");flag++;}}if(flag==0){printf("暂无此图书信息!\n\n"); }return head_book;}struct book *Delete_Book(struct book *head_book,int bianhao) {struct book *ptr1_book,*ptr2_book;while(head_book!=NULL && head_book->bianhao==bianhao){ ptr2_book=head_book;head_book=head_book->book_next;free(ptr2_book);}if(head_book==NULL) return NULL;ptr1_book=head_book;ptr2_book=head_book->book_next;while(ptr2_book!=NULL){if(ptr2_book->bianhao==bianhao){ptr1_book->book_next=ptr2_book->book_next;free(ptr2_book);}elseptr1_book=ptr2_book;ptr2_book=ptr1_book->book_next;}return head_book;}struct club *Create_New_Club(){struct club *head_club,*p_club;int xuehao;char name[20],sex[10];int size_club=sizeof(struct club);head_club=NULL;printf("请输入会员名字:");scanf("%s",name);printf("请输入会员性别:");scanf("%s",sex);printf("请输入会员学号:"); scanf("%d",&xuehao);printf("\n");while(xuehao!=0){p_club=(struct club *)malloc(size_club);strcpy(p_club->name,name);strcpy(p_club->sex,sex);p_club->xuehao=xuehao;strcpy(p_club->borrow,"暂无");head_club=Insert_Club(head_club,p_club);printf("请输入会员名字:");scanf("%s",name);printf("请输入会员性别:");scanf("%s",sex);printf("请输入会员学号:"); scanf("%d",&xuehao);printf("\n");}return head_club;}struct club *Search_Club_xuehao(int xuehao,struct club *head_club){struct club *ptr_club;int flag=0;for(ptr_club=head_club;ptr_club;ptr_club=ptr_club->club_next){if(ptr_club->xuehao==xuehao){printf("会员姓名:%s\n",ptr_club->name);printf("会员性别:%s\n",ptr_club->sex);printf("会员学号:%d\n",ptr_club->xuehao);printf("所借图书:%s\n",ptr_club->borrow);printf("\n"); flag++;}}if(flag==0){printf("此用户不存在!\n\n"); }return head_club;}struct club *Search_Club_name(char *c_name,struct club *head_club){struct club *ptr_club; int flag=0;for(ptr_club=head_club;ptr_club;ptr_club=ptr_club->club_next){if(strcmp(ptr_club->name,c_name)==0){printf("会员姓名:%s\n",ptr_club->name);printf("会员性别:%s\n",ptr_club->sex);printf("会员学号:%d\n",ptr_club->xuehao);printf("所借图书:%s\n",ptr_club->borrow);printf("\n"); flag++; }}if(flag==0){ printf("此用户不存在!\n\n"); }return head_club;}struct book *Lent_Book(int bianhao,int xuehao,struct book *head_book,struct club *head_club) {struct book *ptr_book;struct club *ptr_club;int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next)for(ptr_club=head_club;ptr_club;ptr_club=ptr_club->club_next){if((ptr_book->bianhao==bianhao)&&(ptr_club->xuehao==xuehao)){strcpy(ptr_book->name,ptr_club->name); /*字符串的复制,把右边的内容复制到左边*/ strcpy(ptr_book->sex,ptr_club->sex);ptr_book->xuehao=ptr_club->xuehao;strcpy(ptr_book->state,"暂无");strcpy(ptr_club->borrow,ptr_book->book_name); flag++; }if(flag==0){printf("暂无此图书或您还未注册为会员!\n\n"); }}return head_book;}struct book *back(int bianhao,int xuehao,struct book *head_book,struct club *head_club) {struct book *ptr_book; struct club *ptr_club;int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next)for(ptr_club=head_club;ptr_club;ptr_club=ptr_club->club_next){if((ptr_book->bianhao==bianhao) && (ptr_club->xuehao==xuehao)){strcpy(ptr_book->name,"暂无"); strcpy(ptr_book->sex,"待定");ptr_book->xuehao=0;strcpy(ptr_book->state,"暂无");strcpy(ptr_club->borrow,"暂无");flag++; }if(flag==0){ printf("输入有误,请重试\n\n"); }}return head_book;}struct book *Insert_Book(struct book *head_book,struct book *stud_book){struct book *ptr_b,*ptr1_b,*ptr2_b;ptr2_b=head_book; ptr_b=stud_book;if(head_book==NULL){head_book=ptr_b;head_book->book_next=NULL;}else{while((ptr_b->bianhao > ptr2_b->bianhao) && (ptr2_b->book_next!=NULL)){ptr1_b=ptr2_b; ptr2_b=ptr2_b->book_next;}if(ptr_b->bianhao <= ptr2_b->bianhao){if(head_book==ptr2_b) head_book=ptr_b;else ptr1_b->book_next=ptr_b;ptr_b->book_next=ptr2_b;}else{ptr2_b->book_next=ptr_b;ptr_b->book_next=NULL;}}return head_book;}struct club *Insert_Club(struct club *head_club,struct club *stud_club) {struct club *ptr_c,*ptr1_c,*ptr2_c;ptr2_c=head_club; ptr_c=stud_club;if(head_club==NULL){head_club=ptr_c;head_club->club_next=NULL;}else{while((ptr_c->xuehao > ptr2_c->xuehao) && (ptr2_c->club_next!=NULL)){ ptr1_c=ptr2_c; ptr2_c=ptr2_c->club_next;}if(ptr_c->xuehao <= ptr2_c->xuehao){if(head_club==ptr2_c) head_club=ptr_c;else ptr1_c->club_next=ptr_c;ptr_c->club_next=ptr2_c;}else{ptr2_c->club_next=ptr_c;ptr_c->club_next=NULL;}}return head_club;}void Print_Club(struct club *head_club){struct club *ptr_c;if(head_club==NULL){printf("\n无记录\n\n");return;}printf("\n会员姓名\t会员性别\t会员学号\n\n");for(ptr_c=head_club;ptr_c;ptr_c=ptr_c->club_next)printf("%s\t\t%s\t\t%d\n",ptr_c->name,ptr_c->sex,ptr_c->xuehao);}struct club *Delete_Club(struct club *head_club,int xuehao){struct club *ptr1_club,*ptr2_club;while(head_club!=NULL && head_club->xuehao==xuehao){ptr2_club=head_club; head_club=head_club->club_next;free(ptr2_club);}if(head_club==NULL) return NULL;ptr1_club=head_club; ptr2_club=head_club->club_next;while(ptr2_club!=NULL){if(ptr2_club->xuehao==xuehao){ptr1_club->club_next=ptr2_club->club_next;free(ptr2_club);}elseptr1_club=ptr2_club;ptr2_club=ptr1_club->club_next;}return head_club;}void Print_Book(struct book *head_book){struct book *ptr_b;if(head_book==NULL){printf("\n无记录\n\n");return;}printf("\n图书编号\t图书名称\t图书单价\t图书作者\n\n");for(ptr_b=head_book;ptr_b;ptr_b=ptr_b->book_next)printf("%d\t\t%s\t\t%.2lf\t\t%s\n\n",ptr_b->bianhao,ptr_b->book_name,ptr_b->price,ptr_b->autho r);}。

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

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

C程序设计报告图书管理系统设计题目:图书管理系统设计要求:利用C语言实现小型的图书管理系统,能够满足基本的借阅功能。

1.1问题提出:本人计划编写一个图书管理系统,主要是提供具有图书管理的程序。

本人的主要工作就是,编写出一个正确的程序,使其正常运行,实现图书管理功能!1.2本系统主要会涉及的知识点:结构,数组,循环,函数,判断,指针等语句的应用。

1.3主要功能要求:功能分析:从图书馆的管理功能上分析,图书馆一共有三个方面的需求。

1 对用户的管理。

2 对图书的管理。

3 对借阅的管理。

因此,本系统也从以上三个方面进行了设计,以实现上面的功能。

具体分析如下1 注册用户管理(以学校为样体,用户为学生)学生信息包括:学生ID,学生姓名,学生学号,所在院系,所在班级,性别,年龄。

(1)学生加入需要依次输入学生ID,学生姓名,学生学号,所在院系,所在班级,性别,年龄。

不能为空。

(2)学生删除此处用一个查询功能,是你方便的找到要删除的学生,同时显示该学生的信息,并要求删除确认。

(3)学生信息修改使用系统提供的查找功能可以迅速的找到要修改的学生,并提示修改的信息。

2 图书信息管理图书信息包括:图书ID,图书名字,图书作者,在馆状态。

(1)新书入库需要填入图书ID,图书名字,图书作者,在馆状态;其中在馆状态需要填:true,表示图书在馆。

(2)旧书删除对不用的旧书可以执行该操作。

可以使用系统提供的查找符合条件的图书,并可以同步显示该图书的信息,以便确认所删图书的正确性。

(3)图书信息修改当图书的信息发生改变的时候可以使用该功能来更新图书的信息,以保证图书信息的正确性。

操作是只要用系统提供的查找功能找到该图书,就可以在信息显示栏中对图书信息做修改。

3 图书借阅管理:图书借阅信息包括:借阅号,图书ID,学生ID,是否借出,借出日期,是否归还,归还日期。

(1)图书借阅:需要图书ID,学生ID。

(2)图书归还:需要图书ID,学生ID。

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

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

第一章§ 1.1 题目描述图书管理系统设计:【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。

试设计一图书管理系统,使之能提供以下功能:(1)新图书基本信息的输入;(2)图书基本信息的查询;(3)对撤销图书信息的删除;(4)办理借书手续;(5)办理还书手续;【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。

存在状态设为整型,可用不同数字代表借还状态。

借书和还书手续要注意修改结构体的成员变量存在状态的值。

§ 1.2 算法设计1.设计思想:在整个系统编写的过程中,涉及了较多 C 语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。

由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。

在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。

在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。

2.实现注释:这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。

本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。

查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。

可查询图书的在库状态,方便用户进行借书、还书操作。

在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。

系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。

在处理过程中各项可以作为一本图书的不同属性来进行处理。

3 •结构体系设计图1.1 :主函数结构;图1.2 :新书信息录入流程;图 1.3 :图书信息查询(管理员)流程;图1.4 :图书信息查询(学生)流程;图 1.5 :图书信息删除流程;图 1.6 :办理借书手续流程;图 1.7 :办理还书手续流程;S1.1囹1.4•管理负功能菜单<圈书信息删除出枪索结果/S1.5>学生功能菜单办理借书手续输出檢索结果一是借书办湮成功<1 ------------------- •辐入个人信息/■图1.6^l.T1.3 程序设计及代码分析1.程序设计:下面,我大致介绍一下我的系统的主要功能和注意事项:当运行此程序时,首先进入系统主界面,然后可以选择[1]. 管理员登陆(密码:123),[2]. 学生登陆,[0]. 退出系统;选择[1] 后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。

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

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

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

/* 浏览所有图书信息*/ p1EanqFDPwvoid Print_Club(struct club *head_club> 。

/* 浏览所有会员信息*/ DXDiTa9E3dstruct book *Create_New_Book(> 。

/* 创建新地图书库, 图书编号输入为0 时结束*/ RTCrpUDGiTstruct book *Search_Book_bianhao(int bianhao,struct book *head_book> 。

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

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

c语言书籍管理系统课程设计一、教学目标本课程的目标是让学生掌握C语言编程的基本技能,能够运用C语言实现简单的书籍管理系统。

通过本课程的学习,学生将能够理解C语言的基本语法和数据结构,掌握基本的输入输出操作和文件操作,培养编程思维和解决问题的能力。

具体来说,知识目标包括:1.掌握C语言的基本语法和数据结构。

2.理解书籍管理系统的需求和设计原理。

技能目标包括:1.能够使用C语言编写简单的书籍管理程序。

2.能够进行基本的输入输出操作和文件操作。

情感态度价值观目标包括:1.培养学生的编程思维和解决问题的能力。

2.培养学生对计算机科学和软件开发的兴趣和热情。

二、教学内容本课程的教学内容主要包括C语言的基本语法和数据结构,以及书籍管理系统的需求分析和设计。

具体来说,教学大纲如下:1.第一章:C语言的基本语法和数据类型。

2.第二章:控制结构和函数。

3.第三章:输入输出操作和文件操作。

4.第四章:书籍管理系统的需求分析和设计。

教学内容将根据教材的章节进行安排和进度,同时结合实际的编程案例进行讲解和练习。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

具体来说,教学方法如下:1.讲授法:通过讲解和示范,让学生掌握C语言的基本语法和数据结构。

2.讨论法:通过小组讨论和问题解答,培养学生的编程思维和解决问题的能力。

3.案例分析法:通过分析实际的编程案例,让学生理解书籍管理系统的需求和设计原理。

4.实验法:通过编写和调试代码,让学生掌握基本的输入输出操作和文件操作。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料和实验设备等。

具体来说,教学资源如下:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用多种评估方式,包括平时表现、作业、考试等。

图书管理系统c语言

图书管理系统c语言

图书管理系统C语言1. 简介图书管理系统是一种用于管理图书馆藏书和借阅记录的软件系统。

它通常包括图书的录入、借阅、归还、查询等功能,能够提高图书馆的工作效率和服务质量。

本文将使用C语言编写一个简单的图书管理系统,实现基本的图书信息录入、修改、查询、借阅、归还等功能。

2. 功能实现2.1 数据结构我们首先需要定义合适的数据结构来存储图书信息和借阅记录。

以下是一个简单的数据结构示例:struct Book {int id; // 图书编号char title[100]; // 图书标题char author[50]; // 图书作者char category[50]; // 图书分类int isBorrowed; // 图书是否已借阅,0表示未借阅,1表示已借阅char borrowerName[100]; // 借阅者姓名// 可根据需求扩展其他字段};struct BorrowRecord {int bookId; // 图书编号char borrowerName[100]; // 借阅者姓名char borrowDate[20]; // 借阅日期char returnDate[20]; // 归还日期// 可根据需求扩展其他字段};2.2 图书信息录入和修改我们可以通过实现相应的函数来实现图书信息的录入和修改。

以下是一个简单的示例:void addBook(struct Book *library, int *count) {// 输入图书信息,将其存入library数组中,同时更新count}void updateBook(struct Book *library, int count, int bookId) { // 根据图书编号bookId,更新library数组中对应图书的信息}2.3 图书查询我们可以根据图书的不同字段来实现不同的查询功能,比如根据图书标题、作者、分类等进行模糊查询,或根据图书编号进行精确查询。

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

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

页眉内容学生课程设计报告课程设计题目:图书管理系统专业名称:软件工程一、课程设计内容图书馆管理系统,最重要的功能是管理图书,包括增加图书,删除图书和查询图书。

其中查询图书又可细化很多功能。

本图书管理系统主要实现的功能为●提供书籍的增加,删除,查询,批量创建等操作●提供友好的用户交互界面●提供借书,还书的功能二、技术路线●本系统主要分为:main函数模块,四个类模块(class Book,classReader,class BDatabase,class RDatabase),main函数模块的主要功能为提供程序入口,前期环境设置,调用主要的执行函数和程序结束前的数据处理。

●用户界面管理模块主要提供用户交互界面,并在用户选择后触发相应模块。

●Main函数是具体功能的实现,数据管理模块含有Class Book. Class BDatabase.Class Reader .Class RDatabase.四个类文件。

前者是模块接口信息,后者为功能实现。

●Class Book.实现对图书的描述,图上的编号,书名,借出,还入的功能。

●Class BDatabase.图书库类,实现对图书的维护,查找,删除。

声明<fstream>,构造函数,将book.txt,读到book[]中。

定义 *querry1, *querry2.*querry3,*querry4,四个指针分别实现按书名查找图书,按作者查找图书,按出版社查找图书,按编号查找图书。

●Class Reader.中主要包含对读者信息的描述。

增加读者,读者的借书,还书信息。

●Class RDatabase.实现建立读者个人资料,fstream file("reader.txt",ios::in);打开一个输入文件。

Void Rdatabase::readerdata()实现具体功能。

Void函数中case1,新增。

Case2,更改。

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

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

图书管理系统c语言课程设计一、课程目标知识目标:1. 学生能够理解图书管理系统的基本概念,掌握C语言实现数据结构(如链表)的基本方法。

2. 学生能够运用C语言编写程序,实现图书管理系统的基本功能,如图书的增删改查。

3. 学生能够理解文件操作在图书管理系统中的应用,实现数据的持久化存储。

技能目标:1. 学生能够运用所学知识,独立完成图书管理系统的需求分析、设计、编码和测试。

2. 学生通过课程设计,提高问题分析能力,培养解决实际问题的编程能力。

3. 学生能够运用调试工具,找出并修正程序中的错误,提高程序调试能力。

情感态度价值观目标:1. 学生在课程学习中,培养对编程的兴趣和热情,树立正确的计算机科学观念。

2. 学生通过团队协作完成课程设计,培养沟通协作能力和团队精神。

3. 学生在解决实际问题的过程中,体会编程带来的成就感,增强自信心。

课程性质:本课程为C语言程序设计课程的实践环节,旨在让学生将所学理论知识应用于实际项目中,提高编程实践能力。

学生特点:学生已具备C语言基础知识,具有一定的编程能力,但实际项目经验较少。

教学要求:注重理论联系实际,引导学生独立思考,培养学生解决实际问题的能力。

通过课程设计,使学生能够将所学知识综合运用,提高编程实践技能。

二、教学内容1. 数据结构基础:回顾教材中关于数据结构的基础知识,重点复习链表的结构及其操作,为图书管理系统设计打下基础。

- 教材章节:第三章 数据结构,第四节 链表2. 文件操作:学习C语言文件操作相关知识,掌握文件读写方法,为图书信息持久化提供支持。

- 教材章节:第五章 文件,第一节 文件的打开与关闭,第二节 文件的读写3. 系统需求分析:引导学生学习如何分析图书管理系统的功能需求,明确课程设计目标。

- 教材章节:第二章 程序设计基础,第三节 结构化程序设计4. 系统设计与实现:根据需求分析,设计系统功能模块,使用C语言实现图书管理系统的增删改查等功能。

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

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

图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等功能描述:1 .新进熟土基本信息的输入2 .图书基本信息的查询3 .对撤销图书信息的删除4 .为借书人办理注册5 .办理借书手续6 .办理换书手续要求:以文件方式存储数据,系统以菜单方式工作。

这是本人大一第二学期初 C 语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中居然在QQ 网络硬盘中找到了当初的teta 版,发布于此,以作记念。

C 源代码如下:#include〈stdio 。

h〉#include<stdlib。

h〉#include〈string 。

h>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) ;/*增加图书,逐个添加*/struct book *Delete_Book(struct book *head_book,int bianhao);/*删除图书*/struct club *Create_New_Club() ;struct club *Search_Club_xuehao(int xuehao,struct club *head_club);struct club *Search_Club_name (char *c_name,struct club *head_club);struct club *Insert_Club (struct club *head_club,struct club *stud_club);struct club *Delete_Club (struct club *head_club,int xuehao);struct book *Lent_Book (int bianhao ,int xuehao,struct book *head_book,struct club *head_club);struct book *back (int bianhao,int xuehao,struct book *head_book,struct club *head_club); int main(){struct book *head_book,*p_book;char book_name [30],name [20],author [20],sex [10];int bianhao;double price,price_h,price_l;int size_book=sizeof(struct book);int m=1,n=1,f;char *b_name,*c_name;struct club *head_club,*p_club;int xuehao;int size_club=sizeof (struct club) ;int choice;printf ("\n 欢迎您第一次进入图书管理系统!\n\n");printf("---——>[向导]————-〉[新建图书库] \n\n”) ;printf ("注意:当输入图书编号为0 时,进入下一步.\n\n");head_book=Create_New_Book();system(”cls”) ;printf("\n 欢迎您第一次进入图书管理系统!\n\n") ;printf("----—〉[向导]——---〉[新建会员库]\n\n”);printf(”注意:当输入会员学号为0 时,进入主菜单.\n\n”);head_club=Create_New_Club () ;system (”cls”);do {printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”);printf("\n”);printf ("\t\t\t[1] :借书办理\t");printf(" [6]:还书办理\n”);printf (”\n");printf(”\t\t\t[2]:查询图书\t");printf(" [7]:查询会员\n”);printf (” \t\t\t[3]:添加图书\t");printf (" [8]:添加会员\n”);printf ("\t\t\t[4]:删除图书\t");printf (” [9] :删除会员\n") ;printf (” \t\t\t[5]:遍历图书\t");printf (” [10]:遍历会员\n\n”) ;printf ("\t\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n”);printf("\t\t\t0:退出\n\n”) ;printf(”请选择〈0~10〉:”);scanf(”%d",&choice);switch(choice) {case 1:printf ("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n");printf (”输入所借图书编号:\n");scanf (”%d",&bianhao);printf ("输入借书人的学号:\n”);scanf ("%d",&xuehao);head_book=Lent_Book(bianhao,xuehao,head_book,head_club);system (”cls");printf (” \n 借阅成功!\n\n");printf (”相关信息如下:\n\n");head_book=Search_Book_bianhao (bianhao,head_book);break;case 2:system ("cls”) ;printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”); printf ("1。

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

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

C语言课程设计报告: 图书管理系统1. 引言本报告旨在介绍一个基于C语言的图书管理系统的设计与实现。

图书管理系统是一个用于管理图书馆图书的软件,它能够方便地进行图书的借阅、归还、查询等操作,提高图书馆的管理效率。

2. 系统需求分析在设计图书管理系统之前,我们首先需要明确系统的需求。

根据需求分析,该系统需要具备以下功能:•图书的录入与管理:管理员可以添加、修改和删除图书信息,包括书名、作者、出版社、ISBN等。

•读者的管理:管理员可以添加、修改和删除读者信息,包括姓名、学号、联系方式等。

•图书借阅与归还:读者可以借阅图书,并在归还时完成相应的操作。

•图书查询:管理员和读者都可以通过关键字查询图书信息。

•预约图书:读者可以预约图书,待图书可用时通知读者。

•罚款管理:系统可以自动计算读者逾期归还图书的罚款金额,并进行相应的处理。

3. 系统设计与实现3.1 数据结构设计为了实现图书管理系统的各项功能,我们需要设计合适的数据结构来存储图书信息、读者信息等。

以下是我们设计的数据结构:•图书结构体:包括书名、作者、出版社、ISBN等信息;•读者结构体:包括姓名、学号、联系方式等信息;•借阅记录结构体:包括图书信息、读者信息、借阅日期、归还日期等信息;3.2 系统模块设计根据系统需求,我们可以将图书管理系统划分为以下几个模块:•图书管理模块:包括图书的添加、修改和删除功能;•读者管理模块:包括读者的添加、修改和删除功能;•图书借阅模块:包括图书的借阅和归还功能;•图书查询模块:包括关键字查询功能;•预约图书模块:包括图书的预约功能;•罚款管理模块:包括读者逾期归还图书的罚款管理功能;3.3 系统实现根据系统设计,我们使用C语言编写相应的代码来实现整个图书管理系统。

我们使用结构体来存储图书、读者和借阅记录的信息,并使用文件来存储这些数据。

我们可以通过菜单方式来实现用户和管理员的交互,用户可以根据需求选择相应的功能。

图书馆管理系统C语言课程设计报告(原创)

图书馆管理系统C语言课程设计报告(原创)

char room[N];
//馆藏地址
double price; //价格
int amount;
//库存量
struct book *next;
};
(2) 模块划分
主函数
void main()
自定义子函数即功能函数
struct book * create(); struct book * scanf1_(); void printf1_(struct book *);
getchar(); p1->next=NULL; return p1; }
5
//输出单本书的信息 void printf1_(struct book *head) {
struct book *p; p=head; printf("图书编号: "); puts(p->num); printf("书名: "); puts(p->name); printf("作者: "); puts(p->writer); printf("出版社: "); puts(p->publisher); printf("出版日期: "); puts(p->time); printf("图书类别: "); puts(p->category); printf("馆藏地址: "); puts(p->room); printf("价格 库存量:%5.1f%5d\n",p->price,p->amount); printf("\n"); } // 新建图书信息库
选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等功能描述:1.新进熟土基本信息的输入2.图书基本信息的查询3.对撤消图书信息的删除4.为借书人办理注册5.办理借书手续6.办理换书手续要求:以文件方式存储数据,系统以菜单方式工作。

这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下:#include<stdio.h> #include<stdlib.h> #include<string.h> 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);/*增加图书,逐个添加*/struct book *Delete_Book(struct book *head_book,int bianhao);/*删除图书*/ struct club *Create_New_Club();struct club *Search_Club_xuehao(int xuehao,struct club *head_club);struct club *Search_Club_name(char *c_name,struct club *head_club);struct club *Insert_Club(struct club *head_club,struct club *stud_club);struct club *Delete_Club(struct club *head_club,int xuehao);struct book *Lent_Book(int bianhao,int xuehao,struct book *head_book,struct club *head_club);struct book *back(int bianhao,int xuehao,struct book *head_book,struct club *head_club);int main(){struct book *head_book,*p_book;char book_name[30],name[20],author[20],sex[10];int bianhao;double price,price_h,price_l;int size_book=sizeof(struct book);int m=1,n=1,f;char *b_name,*c_name;struct club *head_club,*p_club;int xuehao;int size_club=sizeof(struct club);int choice;printf("\n欢迎您第一次进入图书管理系统!\n\n");printf("----->[向导]----->[新建图书库]\n\n");printf("注意:当输入图书编号为0时,进入下一步.\n\n"); head_book=Create_New_Book();system("cls");printf("\n欢迎您第一次进入图书管理系统!\n\n");printf("----->[向导]----->[新建会员库]\n\n");printf("注意:当输入会员学号为0时,进入主菜单.\n\n"); head_club=Create_New_Club();system("cls");do{printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("\n");printf("\t\t\t[1]:借书办理\t");printf(" [6]:还书办理\n"); printf("\n");printf("\t\t\t[2]:查询图书\t");printf(" [7]:查询会员\n"); printf("\t\t\t[3]:添加图书\t");printf(" [8]:添加会员\n"); printf("\t\t\t[4]:删除图书\t");printf(" [9]:删除会员\n"); printf("\t\t\t[5]:遍历图书\t");printf("[10]:遍历会员\n\n"); printf("\t\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n"); printf("\t\t\t0:退出\n\n");printf("请选择<0~10>:");scanf("%d",&choice);switch(choice){case 1:printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n");printf("输入所借图书编号:\n");scanf("%d",&bianhao);printf("输入借书人的学号:\n");scanf("%d",&xuehao);head_book=Lent_Book(bianhao,xuehao,head_book,head_club); system("cls");printf("\n借阅成功!\n\n");printf("相关信息如下:\n\n");head_book=Search_Book_bianhao(bianhao,head_book); break;case 2:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n");printf("1.按编号查询\n\n");printf("2.按名称查询\n\n");printf("3.按价格区间查询\n\n");printf("0.返回主菜单\n\n");printf("请选择:");scanf("%d",&f);if(f==1){printf("请输入查询图书编号:");scanf("%d",&bianhao);printf("相关信息如下:\n\n");head_book=Search_Book_bianhao(bianhao,head_book); break;}else if(f==2){b_name=book_name;getchar();printf("请输入查询图书名称:");gets(b_name);printf("相关信息如下:\n\n");head_book=Search_Book_name(b_name,head_book); break;}else if(f==3){printf("请输入最高价格:");scanf("%lf",&price_h);printf("请输入最低价格:");scanf("%lf",&price_l);printf("相关信息如下:\n\n");head_book=Search_Book_price(price_h,price_l,head_book); break;}else if(f==0){break;}break;case 6:printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("输入所还图书编号:\n");scanf("%d",&bianhao);printf("输入还书人的学号:\n");scanf("%d",&xuehao);head_book=back(bianhao,xuehao,head_book,head_club); system("cls");printf("\n归还成功!\n\n");printf("相关信息如下:\n\n");head_book=Search_Book_bianhao(bianhao,head_book); break;case 3:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("请输入图书名称:");scanf("%s",book_name);printf("请输入图书编号:");scanf("%d",&bianhao);printf("请输入单价:");scanf("%lf",&price);printf("请输入作者名字:");scanf("%s",author);printf("\n");struct book *ptr_b;for(ptr_b=head_book;ptr_b;ptr_b=ptr_b->book_next) {if(ptr_b->bianhao==bianhao){printf("此编号图书已存在\n"); m=0;break;}}if(m){p_book=(struct book *)malloc(size_book);strcpy(p_book->book_name,book_name);p_book->bianhao=bianhao;p_book->price=price;p_book->xuehao=0;strcpy(p_book->author,author);strcpy(p_book->state,"存在");strcpy(p_book->sex,"待定");strcpy(p_book->name,"待定");head_book=Insert_Book(head_book,p_book);printf("\n添加图书成功!\n\n");}break;case 4:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("输入删除图书编号:\n");scanf("%d",&bianhao);head_book=Delete_Book(head_book,bianhao);printf("\n删除图书成功!\n\n");break;case 5:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); Print_Book(head_book);break;case 7:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("1.按学号查询\n\n");printf("2.按姓名查询\n\n");printf("0.返回主菜单\n\n");printf("请选择:");scanf("%d",&f);if(f==1){printf("请输入查询会员学号:");scanf("%d",&xuehao);printf("相关信息如下:\n\n");head_club=Search_Club_xuehao(xuehao,head_club); break;}else if(f==2){c_name=name;getchar();printf("请输入查询会员姓名:");gets(c_name);printf("相关信息如下:\n\n");head_club=Search_Club_name(c_name,head_club); break;}else if(f==0){break;}break;printf("请输入查询会员学号:\n");scanf("%d",&xuehao);printf("相关信息如下:\n\n");break;case 8:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("请输入会员名字:");scanf("%s",name);printf("请输入会员性别:");scanf("%s",sex);printf("请输入会员学号:");scanf("%d",&xuehao);printf("\n");struct club *ptr_c;for(ptr_c=head_club;ptr_c;ptr_c=ptr_c->club_next) {if(ptr_c->xuehao==xuehao){printf("此学号会员已存在\n");n=0; break; }}if(n){p_club=(struct club *)malloc(sizeof(struct club)); strcpy(p_club->name,name);strcpy(p_club->sex,sex);p_club->xuehao=xuehao;strcpy(p_club->borrow,"暂无");head_club=Insert_Club(head_club,p_club);printf("\n添加会员成功!\n\n");}break;case 9:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("输入要删除会员学号:\n");scanf("%d",&xuehao);head_club=Delete_Club(head_club,xuehao);printf("\n删除会员成功!\n\n"); break;case 10:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); Print_Club(head_club); break;case 0:system("cls");printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n"); printf("\n谢谢您的使用!\n\n"); break;}}while(choice!=0);return 0;}struct book *Create_New_Book(){struct book *head_book,*p_book;int bianhao;double price;char book_name[30],author[20];int size_book=sizeof(struct book);head_book=NULL;scanf("%s",book_name);printf("请输入图书编号:");scanf("%d",&bianhao);printf("请输入单价:");scanf("%lf",&price);printf("请输入作者名字:");scanf("%s",author);printf("\n");while(bianhao!=0){p_book=(struct book *)malloc(size_book); strcpy(p_book->book_name,book_name);p_book->bianhao=bianhao;p_book->price=price;p_book->xuehao=0;strcpy(p_book->author,author);strcpy(p_book->state,"存在");strcpy(p_book->sex,"待定");strcpy(p_book->name,"待定");head_book=Insert_Book(head_book,p_book); printf("请输入图书名称:");scanf("%s",book_name);scanf("%d",&bianhao);printf("请输入单价:");scanf("%lf",&price);printf("请输入作者名字:");scanf("%s",author); printf("\n");}return head_book;}struct book *Search_Book_bianhao(int bianhao,struct book *head_book) {struct book *ptr_book; int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next) {if(ptr_book->bianhao==bianhao){printf("图书编号:%d\n",ptr_book->bianhao);printf("图书名称:%s\n",ptr_book->book_name);printf("图书单价:%.2lf\n",ptr_book->price);printf("图书作者:%s\n",ptr_book->author);printf("存在状态:%s\n",ptr_book->state);printf("借书人姓名:%s\n",ptr_book->name);printf("借书人性别:%s\n",ptr_book->sex);printf("学号:%d\n",ptr_book->xuehao);printf("\n"); flag++;}}if(flag==0){printf("暂无此图书信息!\n\n"); }return head_book;}struct book *Search_Book_name(char *b_name,struct book *head_book) {struct book *ptr_book;int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next) {if(strcmp(ptr_book->book_name,b_name)==0){printf("图书编号:%d\n",ptr_book->bianhao);printf("图书名称:%s\n",ptr_book->book_name);printf("图书单价:%.2lf\n",ptr_book->price);printf("图书作者:%s\n",ptr_book->author);printf("存在状态:%s\n",ptr_book->state);printf("借书人姓名:%s\n",ptr_book->name);printf("借书人性别:%s\n",ptr_book->sex);printf("学号:%d\n",ptr_book->xuehao);flag++;}}if(flag==0){printf("暂无此图书信息!\n\n"); }return head_book;}struct book *Search_Book_price(double price_h,double price_l,struct book *head_book){struct book *ptr_book;int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next){if((ptr_book->price>=price_l)&&(ptr_book->price<=price_h)){printf("图书编号:%d\n",ptr_book->bianhao);printf("图书名称:%s\n",ptr_book->book_name);printf("图书单价:%.2lf\n",ptr_book->price);printf("图书作者:%s\n",ptr_book->author);printf("存在状态:%s\n",ptr_book->state);printf("借书人姓名:%s\n",ptr_book->name);printf("借书人性别:%s\n",ptr_book->sex);printf("学号:%d\n",ptr_book->xuehao);flag++;}}if(flag==0){printf("暂无此图书信息!\n\n"); }return head_book;}struct book *Delete_Book(struct book *head_book,int bianhao) {struct book *ptr1_book,*ptr2_book;while(head_book!=NULL && head_book->bianhao==bianhao){ ptr2_book=head_book;head_book=head_book->book_next;free(ptr2_book);}if(head_book==NULL) return NULL;ptr1_book=head_book;ptr2_book=head_book->book_next;while(ptr2_book!=NULL){if(ptr2_book->bianhao==bianhao){ptr1_book->book_next=ptr2_book->book_next;free(ptr2_book);}elseptr1_book=ptr2_book;ptr2_book=ptr1_book->book_next;}return head_book;}struct club *Create_New_Club(){struct club *head_club,*p_club;int xuehao;char name[20],sex[10];int size_club=sizeof(struct club);head_club=NULL;printf("请输入会员名字:");scanf("%s",name);printf("请输入会员性别:");scanf("%s",sex);printf("请输入会员学号:"); scanf("%d",&xuehao); printf("\n");while(xuehao!=0){p_club=(struct club *)malloc(size_club);strcpy(p_club->name,name);strcpy(p_club->sex,sex);p_club->xuehao=xuehao; strcpy(p_club->borrow,"暂无");head_club=Insert_Club(head_club,p_club);printf("请输入会员名字:");scanf("%s",name);printf("请输入会员性别:");scanf("%s",sex);printf("请输入会员学号:"); scanf("%d",&xuehao);printf("\n");}return head_club;}struct club *Search_Club_xuehao(int xuehao,struct club *head_club) {struct club *ptr_club;int flag=0;for(ptr_club=head_club;ptr_club;ptr_club=ptr_club->club_next) {if(ptr_club->xuehao==xuehao){printf("会员姓名:%s\n",ptr_club->name);printf("会员性别:%s\n",ptr_club->sex);printf("会员学号:%d\n",ptr_club->xuehao);printf("所借图书:%s\n",ptr_club->borrow);printf("\n"); flag++;}}if(flag==0){printf("此用户不存在!\n\n"); }return head_club;}struct club *Search_Club_name(char *c_name,struct club *head_club){struct club *ptr_club; int flag=0;for(ptr_club=head_club;ptr_club;ptr_club=ptr_club->club_next){if(strcmp(ptr_club->name,c_name)==0){printf("会员姓名:%s\n",ptr_club->name);printf("会员性别:%s\n",ptr_club->sex);printf("会员学号:%d\n",ptr_club->xuehao);printf("所借图书:%s\n",ptr_club->borrow);printf("\n"); flag++; }}if(flag==0){ printf("此用户不存在!\n\n"); }return head_club;}struct book *Lent_Book(int bianhao,int xuehao,struct book *head_book,struct club *head_club){struct book *ptr_book;struct club *ptr_club;int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next)for(ptr_club=head_club;ptr_club;ptr_club=ptr_club->club_next){if((ptr_book->bianhao==bianhao)&&(ptr_club->xuehao==xuehao)){strcpy(ptr_book->name,ptr_club->name); /*字符串的复制,把右边的内容复制到左边*/strcpy(ptr_book->sex,ptr_club->sex);ptr_book->xuehao=ptr_club->xuehao;strcpy(ptr_book->state,"暂无");strcpy(ptr_club->borrow,ptr_book->book_name); flag++; }if(flag==0){printf("暂无此图书或您还未注册为会员!\n\n"); }}return head_book;}struct book *back(int bianhao,int xuehao,struct book *head_book,struct club *head_club){struct book *ptr_book; struct club *ptr_club;int flag=0;for(ptr_book=head_book;ptr_book;ptr_book=ptr_book->book_next)for(ptr_club=head_club;ptr_club;ptr_club=ptr_club->club_next){if((ptr_book->bianhao==bianhao) && (ptr_club->xuehao==xuehao)){strcpy(ptr_book->name,"暂无"); strcpy(ptr_book->sex,"待定");ptr_book->xuehao=0;strcpy(ptr_book->state,"暂无");strcpy(ptr_club->borrow,"暂无");flag++; }if(flag==0){ printf("输入有误,请重试\n\n"); }}return head_book;}struct book *Insert_Book(struct book *head_book,struct book *stud_book) {struct book *ptr_b,*ptr1_b,*ptr2_b;ptr2_b=head_book; ptr_b=stud_book;if(head_book==NULL){head_book=ptr_b;head_book->book_next=NULL;}else{while((ptr_b->bianhao > ptr2_b->bianhao) && (ptr2_b->book_next!=NULL)){ ptr1_b=ptr2_b; ptr2_b=ptr2_b->book_next;}if(ptr_b->bianhao <= ptr2_b->bianhao){if(head_book==ptr2_b) head_book=ptr_b;else ptr1_b->book_next=ptr_b;ptr_b->book_next=ptr2_b;}else{ptr2_b->book_next=ptr_b;ptr_b->book_next=NULL;}}return head_book;}struct club *Insert_Club(struct club *head_club,struct club *stud_club) {struct club *ptr_c,*ptr1_c,*ptr2_c;ptr2_c=head_club; ptr_c=stud_club;if(head_club==NULL){head_club=ptr_c;head_club->club_next=NULL;}else{while((ptr_c->xuehao > ptr2_c->xuehao) && (ptr2_c->club_next!=NULL)){ ptr1_c=ptr2_c; ptr2_c=ptr2_c->club_next;}if(ptr_c->xuehao <= ptr2_c->xuehao){if(head_club==ptr2_c) head_club=ptr_c;else ptr1_c->club_next=ptr_c;ptr_c->club_next=ptr2_c;}else{ptr2_c->club_next=ptr_c;ptr_c->club_next=NULL;}}return head_club;}void Print_Club(struct club *head_club){struct club *ptr_c;if(head_club==NULL){printf("\n无记录\n\n");return;}printf("\n会员姓名\t会员性别\t会员学号\n\n");for(ptr_c=head_club;ptr_c;ptr_c=ptr_c->club_next)printf("%s\t\t%s\t\t%d\n",ptr_c->name,ptr_c->sex,ptr_c->xuehao); }struct club *Delete_Club(struct club *head_club,int xuehao){struct club *ptr1_club,*ptr2_club;while(head_club!=NULL && head_club->xuehao==xuehao){ ptr2_club=head_club; head_club=head_club->club_next; free(ptr2_club);}if(head_club==NULL) return NULL;ptr1_club=head_club; ptr2_club=head_club->club_next; while(ptr2_club!=NULL){if(ptr2_club->xuehao==xuehao){ptr1_club->club_next=ptr2_club->club_next;free(ptr2_club);}elseptr1_club=ptr2_club;ptr2_club=ptr1_club->club_next;}return head_club;}void Print_Book(struct book *head_book){struct book *ptr_b;if(head_book==NULL){printf("\n无记录\n\n");return;}printf("\n图书编号\t图书名称\t图书单价\t图书作者\n\n");for(ptr_b=head_book;ptr_b;ptr_b=ptr_b->book_next)printf("%d\t\t%s\t\t%.2lf\t\t%s\n\n",ptr_b->bianhao,ptr_b->book_name,ptr_b->pr ice,ptr_b->author);}。

相关文档
最新文档