C语言图书管理系统代码和课程报告书
C语言课程设计图书馆管理系统程序代码
#include〈stdio.h〉#include<windows.h〉#include〈string。
h〉#include<conio。
h>#define M 100struct books{char tsmc[12];inttsbh;float dj;char zz[12];char czzt[12];char xm[12];char xb[12];intxh; }s[M];int N;bool flag;intmain (){intsele;flag=0;sele=1;void sr();void cx();void sc();void js();void hs();void tc();void jsh();//system ("tsgl”);printf("\n\n");printf(" ************************\n"); printf(" 1:输入2:查询3:删除\n");printf(”4:借书5:还书0:退出\n");printf(” ************************\n"); while(1){printf(”\n\n请输入功能序号:");scanf (”%d",&sele);if(sele>=0 && sele<=5){switch(sele){case 1:sr();break;case 2:cx();break;case 3:sc();break;case 4:js();break;case 5:hs();break;case 0:jsh();break;}if(flag)break;printf(”\n\n");printf(” ************************\n”); printf(" 1:输入2:查询3:删除\n");printf(”4:借书5:还书0:退出\n”);printf(” ************************\n”);}else{printf(”输入错误请再次输入|\n\n");printf("\n\n");printf(” ************************\n”);printf(" 1:输入2:查询3:删除\n”);printf(”4:借书5:还书0:退出\n");printf(" ************************\n");}printf("\n\n让任意键继续\n”);} //wr_file();}/******主函数***//*********输入*********/void sr(){intn,i;N=0;printf("可输入的书本数:");scanf("%d",&n);N=n+N;printf("请输入相关信息:\n");for(i=1;i<=n;i++){printf(”图书名称:”);scanf(”%s",s[N-n-1+i]。
原创c语言图书借阅管理系统课程设计报告
原创C语言图书借阅管理系统课程设计报告1. 引言图书借阅管理系统是一个能够方便图书管理员进行图书管理和借阅管理的软件系统。
本文档将详细介绍本课程设计的主要内容和实现过程,包括系统的需求分析、系统设计、核心算法以及测试结果等。
2. 需求分析2.1 功能需求根据对图书馆借阅管理的需求,设计图书借阅管理系统。
系统需要具备以下基本功能:•图书管理:包括图书的录入、查询、修改和删除等功能。
•借阅管理:包括借书、还书和预约等功能。
•读者管理:包括读者信息的录入、查询和修改等功能。
2.2 性能需求•系统应具备良好的用户界面,操作简便,容易上手。
•系统应具备较快的响应速度,能够快速处理图书和借阅信息。
2.3 数据需求•系统需要存储图书馆的图书信息、借阅信息和读者信息等核心数据。
3. 系统设计3.1 系统架构本系统采用三层架构设计,分为表示层、业务逻辑层和数据访问层。
•表示层:即用户界面,通过控制台菜单的方式与用户进行交互。
•业务逻辑层:负责处理用户操作并调用数据访问层进行数据处理。
•数据访问层:负责与数据库进行数据交互。
3.2 数据库设计本系统采用文件存储数据的方式,使用结构体数组保存图书信息、借阅信息和读者信息等数据。
3.3 系统流程设计系统的主要流程如下:1.初始化系统,加载图书、借阅和读者信息。
2.显示系统主菜单,等待用户输入选择。
3.根据用户选择,执行相应的操作。
4.根据用户操作结果,返回主菜单或退出系统。
4. 核心算法4.1 图书管理算法•添加图书:调用数据访问层的接口,将新图书信息添加到图书数组中。
•查询图书:根据用户输入的关键字,在图书数组中查找相应的图书信息并返回。
•修改图书:根据用户输入的图书编号,修改图书数组中对应图书的信息。
•删除图书:根据用户输入的图书编号,从图书数组中删除对应图书的信息。
4.2 借阅管理算法•借书:根据用户输入的借书信息,在借阅数组中添加一条借阅记录。
•还书:根据用户输入的还书信息,在借阅数组中删除相应的借阅记录。
图书管理系统含源代码c语言数据结构课程设计报告
图书管理系统含源代码c语言数据结构课程设计报告数据结构大作业图书管理系统工程管理伍杨目录一、题目要求 (3)二、总体设计 (3)三、编码实现 (4)1) 定义图书结构体 (4)2) 登记操作 (4)3) 查看操作 (9)4) 删除操作 (12)5) Main函数 (22)四、调试与测试 (29)五、五心得体会 (31)六、用户手册 (31)一、题目要求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<i;j++){printf("请朱老师输入书名:");scanf("%s",b.bookname);fprintf(fp,"%s",b.bookname);printf("请朱老师输入书编号:");scanf("%d",&b.NO);fprintf(fp," %d",b.NO);printf("请朱老师输入类型:");scanf("%s",b.type);fprintf(fp," %s",b.type);printf("请朱老师输入到书日期:");scanf("%d",&b.date);。
c语言课程设计报告图书管理系统
c语言课程设计报告图书管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法,熟悉图书管理系统的开发流程,培养学生运用C语言解决实际问题的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。
–理解图书管理系统的需求和设计原理。
2.技能目标:–能够使用C语言编写简单的程序。
–学会使用C语言实现图书管理系统的功能。
3.情感态度价值观目标:–培养学生的团队协作意识和沟通能力。
–增强学生对计算机科学和编程的兴趣和热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构以及图书管理系统的开发。
具体安排如下:1.C语言的基本语法:–变量和数据类型–运算符和表达式–函数和数组–指针和引用2.数据结构:3.图书管理系统的开发:–系统测试和优化三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:用于讲解C语言的基本语法和数据结构。
2.案例分析法:通过分析具体的图书管理系统案例,使学生更好地理解系统设计和功能实现。
3.实验法:让学生动手编写程序,巩固所学知识,提高实际操作能力。
4.小组讨论法:鼓励学生分组讨论,培养团队协作意识和沟通能力。
四、教学资源本课程所需的教学资源包括:1.教材:《C语言程序设计》2.参考书:《C Primer Plus》、《数据结构与算法分析》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络设备以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业、考试等。
评估方式应客观、公正,能够全面反映学生的学习成果。
具体安排如下:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的20%。
2.作业:包括编程练习和理论作业,占总评的30%。
3.考试:包括期中和期末考试,占总评的50%。
期中和期末考试将涵盖C语言基本语法、数据结构以及图书管理系统的开发内容。
图书管理系统c课程设计报告
图书管理系统c 课程设计报告一、教学目标本课程旨在通过学习图书管理系统的设计与实现,使学生掌握数据库的基本操作、编程语言的应用以及软件工程的实践方法。
在知识目标上,学生应理解数据库的概念、结构及其在图书管理中的应用;掌握至少一种编程语言的基本语法和编程技巧;了解软件开发的流程和规范。
技能目标则要求学生能够独立设计简单的图书管理系统数据库;编写程序实现图书的增删改查等操作;运用软件工程的方法完成一个小型的图书管理项目。
情感态度价值观目标强调培养学生对计算机科学的兴趣,增强创新意识和团队协作精神,同时培养学生的信息素养,使其能够合法、合理地使用信息技术。
二、教学内容本课程的教学内容围绕图书管理系统的设计与实现展开,具体包括以下几个部分:1.数据库基础:介绍数据库的基本概念、数据模型以及SQL语言的使用,让学生掌握如何创建、查询和管理数据库。
2.编程语言应用:通过实例教学,使学生熟悉至少一种编程语言(如C语言)的基本语法,培养学生编写程序解决问题的能力。
3.软件工程实践:讲解软件开发的生命周期,包括需求分析、设计、编码、测试和维护等环节,强调编程规范和团队合作的重要性。
4.项目实现:指导学生利用所学知识设计并实现一个简易的图书管理系统,涵盖图书的录入、查询、借阅等功能。
三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行授课:1.讲授法:用于传授数据库理论基础、编程语言的基本语法和软件工程的概念。
2.案例分析法:通过分析具体的图书管理案例,使学生理解数据库设计和程序实现的过程。
3.实验法:安排实验室实践环节,让学生动手编写代码,实际操作数据库,加深理解和实践能力。
4.小组讨论法:学生分组完成项目设计,鼓励学生相互讨论、协作解决问题,培养团队精神和沟通能力。
四、教学资源教学资源将包括:1.教材:《数据库原理与应用》、《C程序设计》等,为学生提供理论学习的坚实基础。
2.多媒体资料:包括教学PPT、案例视频等,增强课堂的互动性和趣味性。
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");printf("-------------------------------------主菜单------------------------------------- \n");printf("\t\t\t <1;创建图书信息 > \n");printf("\t\t\t <2;查找图书信息 > \n");printf("\t\t\t <3;删除图书信息 > \n");printf("\t\t\t <4;修改图书信息 > \n");printf("\t\t\t <5;显示图书信息 > \n");printf("\t\t\t <6;按出版时间排序> \n");printf("\t\t\t <0;退出 > \n");printf("-------------------------------------------------------------------------------- \n");}2.新建文件函数的原型:int ReadinfoFromFile()函数的功能:建立文件储存数据程序int ReadinfoFromFile() f",&p->price);fscanf(fp,"%d",&p->type);if(p->type==1){if(head==NULL){head=p;p->next=NULL;}else{p->next=head;head=p;}}else{if(head_==NULL){head_=p;p->next=NULL;}else{p->next=head_;head_=p;}}}fclose(fp);return 0;}3.创建图书信息函数的原型:int chuangjian()函数的功能:记录图书的各项信息程序:int chuangjian() 找图书信息函数的原型:void chazhao()函数的功能:通过书名查找、作者查找、组合查找三种方式查找图书信息。
c语言图书管理系统课程设计报告
C语言图书管理系统课程设计报告一、项目介绍本项目是一个基于C语言的图书管理系统,旨在提供一个管理图书信息的平台,包括图书的增删查改、借还管理等功能。
二、功能需求本项目的主要功能需求如下:1.用户登录/注册:用户可以输入用户名和密码登录系统,也可以进行注册。
2.图书增删查改:管理员可以录入图书信息,包括书名、作者、出版社、ISBN、分类、价格、剩余数量等。
管理员可以根据图书名称、作者等信息查询图书信息,也可以对图书进行修改或删除。
3.借还管理:用户可以进行借书、还书,系统将会记录借书人信息、图书信息以及借书时间、归还时间等信息。
4.归还提醒:系统将会在借书过期且未归还的情况下自动发送邮件或短信提醒用户归还图书。
三、开发环境及相关技术本项目的开发环境为Windows10,使用的开发工具是Visual Studio Code。
在开发该项目时,我们主要使用了C语言和相关库函数。
四、开发流程本项目的开发流程如下:1.需求分析:根据用户需求,进行需求分析,确定系统需求。
2.概要设计:初步设计出系统的结构框架、数据模型等。
3.详细设计:根据概要设计,进一步详细设计出系统的各个功能模块的具体实现方法。
4.编码实现:根据详细设计,使用C语言和相关库函数编写代码实现各个功能模块。
5.测试调试:在编写完代码后,进行测试调试,找出问题并进行修复和优化。
6.部署实施:完成测试调试后,进行项目上线和部署。
五、实现效果展示以下是系统的主界面和功能界面展示:1.登录/注册界面登录/注册界面登录/注册界面2.主界面主界面主界面3.图书管理界面图书管理界面图书管理界面4.借阅管理界面借阅管理界面借阅管理界面六、总结与展望本项目基于C语言,使用了相关库函数开发了一个图书管理系统。
通过该项目的开发,我们深刻理解了系统开发的整个流程。
同时,我们也了解到了C语言在系统开发上的应用及其局限性。
未来,我们还可以继续完善该系统,增加其他功能模块,如图书推荐、借阅排行等,从而进一步完善该系统,提高用户体验。
C语言图书管理系统课设报告
《程序设计语言-C》课程设计报告题目:图书管理系统班级:学号:姓名:2016年5月12日目录1.程序总体功能2.新增功能3.函数调用关系4.主要算法流程图1.排序算法流程图2.插入算法流程图5.过程难点及解决方法6.附录:源程序一:程序总体功能本图书管理系统可以实现图书管理的基本功能,包括图书信息的录入、输出、排序、删除、查找及批量导入/导出等。
图书属性信息包括书号、书名、第一作者、版次、出版年信息。
二:新增功能1.数据校验功能:即在程序运行之前对输入数据的有效性进行判断,若输入数据不合逻辑则输出“数据输入有误,请核实后再输”不再执行后续程序,以此增加程序运行的效率。
在本课程设计的删除记录功能中,按照要求输入要删除图书的书名后要接着输入书号来删除图书,若所输入书号不在正确书号范围内(书号输入错误),将直接终止程序,不再执行后续的删除程序。
三:函数调用关系函数说明:0.退出系统1.数据输入函数:int Input(Bookinfo books[],int n)2.数据输出函数:void Display(Bookinfo books[],int n)3.删除记录函数(1):int Delete(Bookinfo books[],int n,char *book)删除记录函数(2):int Delete_a_record(Bookinfo books[],int n)4.排序函数:void Sort_by_name(Bookinfo books[],int n)5.有序插入函数(1):int Insert(Bookinfo books[],int n, Bookinfo *s)有序插入函数(2):int Insert_a_record(Bookinfo books[],int n)6.数据查询函数(1):int Query(Bookinfo books[],int n,char *book)数据查询函数(2):void Query_a_record(Bookinfo books[],int n)7.从文件导入数据函数:int AddfromText(Bookinfo books[],int n)8.记录数据写入文件函数:void WritetoText(Bookinfo books[],int n)9.主菜单函数:int menu_select()10.主函数:void main()函数调用关系:(箭头指向被调用函数)47循环调用四:主要算法流程图1.排序算法(数组按书名升序排序)已有结构体数组Bookinfo books[]及数组元素个数n;定义整型量i,j,p;定义结构体变量l;开始i=0; j=0;p=0;j=j+1是l=books[p] books[p]=books[i] books[i]=l结束2.插入算法(输入图书信息,按书名有序插入)已有结构体数组Bookinfo books[]及数组元素个数n;(1)输入待插入的图书信息,调用Insert函数开始p=&s(2)Insert函数部分Insert(books,n, *s)int k=n-1return (n+1)五:过程难点及解决方法1.结构体定义及指向结构体变量的指针定义是新尝试:上机指导书用typedef 定义了新的结构体类型,而这种定义方式上课时未讲,需要重新学习这部分知识,并尝试使用。
C课程设计报告(图书管理系统)
C课程设计报告(图书管理系统)C语言课程设计报告:图书管理系统系统需求一、新书入库: 图书信息包括书名, 书号, 库存量, 现存量共4项. 首先输入3本书的信息, 并将其存入文件”book.dat” 中. 当有新书入库时, 先判断文件中是否有此书( 即比较书名 ), 若有则修改库存量, 现存量的信息; 若无此书, 则将该书的信息添加到文件中.二、图书查询: 输入一个书号, 在文件中查找此书, 若找到则输出此书的全部信息; 若找不到则输出查找失败的信息.三、借阅管理(1)每个读者的信息包括姓名, 编号, 1张借书卡( 限借一本书 ), 输入3个读者的信息存入文件“reader . dat” 中.(2)借书登记: 输入读者的编号, 所借图书的书号, 先判断姓名是否在文件”reader.dat” 中, 若有则将书号存入一张借书卡上( 注: 初始时借书卡的信息都为零, 借书后借书卡的信息改为所借书的书号), 并修改文件”reader.dat”的相应内容, 同时修改文件”book.dat”中此书的现存量. 若”reader.dat”无此姓名, 则应提示错误(3)还书管理: 输入读者的编号, 所还图书的书号, 将借书卡的信息置为零, 并修改文件”reader.dat”的相应内容, 同时修改文件”book.dat”中此书的现存量.四、输出全部图书信息和全部读者信息五、退出系统.六、附加说明:系统将来完善的功能有:添加读者,一位读者可同时借阅和归还多本图书等1、2、boot.dat这个文件来决定是否执行初始化函数.3、查询模块:可用一个函数void find_book(char book_num[])来实现。
找到就输出此书全部信息,找不到就输出查找失败信息。
4、借阅管理模块:(1)三个读者的信息可以在系统初始化时完成.即可用初始化函数init_reader()来实现对读者的初始化。
因为读者初始化函数也只是在系统第一次运行的时候执行一次,故也可以根据是否存在reader.dat文件来确定是否执行此函数。
C语言图书管理系统源代码
#include<stdio。
h〉#include<stdlib.h〉#include〈string。
h〉struct tushu{ /*图书结构体*/ char num[10]; /*编号*/char name[20];/*书名*/char writer[20];/*作者*/char press[20];/*出版社*/char kind[20];/*类别*/double time; /*时间*/double price;/*价格*/struct tushu *next;};struct stu /*学生结构体*/ {int snum;/*学号*/char mima[10]; /*密码*/struct stu *next;};FILE *fp; /*图书文件*/FILE *fp1; /*管理员信息文件*/ FILE *fp2; /*学生信息文件*/void menu();/*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/void xmenu();/*学生主菜单(学生进入可对图书,密码进行操作)*/void gfind(); /*管理员查询(管理员可按一定的方式查询图书)*/void xfind();/*学生查询(学生可按一定的方式查询图书)*/ void secret();/*管理员权限(管理员登陆所用,输入错误次数过多自动退出)*/void sort();/*排序(管理员可按一定的方式对图书进行排序,排序完之后可选择文件进行保存)*/void fprint(struct tushu *head);/*保存(可追加的保存,如添加可用)*/void fprint_(struct tushu *head);/*保存(可覆盖保存如修改,删除,排序后用)*/void hfprint(struct tushu *head); /*还书保存(还书成功后自动保存到文件)*/void jfprint_(struct tushu *head);/*借书保存(借书成功之后自动从图书馆删除)*/struct tushu * Input(); /*图书添加(可进行图书的添加)*/struct tushu *create(); /*从文件创建链表(从文件中读出信息,建立单链表)*/void gBrowse(struct tushu *head);/*管理员浏览(对图书进行遍历)*/void xBrowse(struct tushu *head);/*学生浏览(学生对图书进行遍历)*/void count(struct tushu *head); /*统计数量(管理员可对图书进行统计)*/void Findofname(struct tushu *head); /*按书名查找*/ void Findofwriter(struct tushu *head); /*按作者查找*/void Findofkind(struct tushu *head); /*按类别查找*/void xFindofname(struct tushu *head);/*学生按书名查找*/void xFindofwriter(struct tushu *head);/*学生按作者查找*/ void xFindofkind(struct tushu *head); /*学生按类别查找*/ void Sort_time(struct tushu * head); /*按时间排序(管理员按时间对图书进行排序,排序完之后可选择文件进行保存)*/ void Sort_price(struct tushu *head); /*按价格排序*/void Sort_num(struct tushu * head);/*按编号排序*/ void Delete(struct tushu * head,char m[15]);/*按编号删除(管理员可按编号删除图书)*/void Revise(struct tushu *head);/*修改(管理员可对图书进行修改,并选择是否保存)*/void borrow(struct tushu *head); /*借书*/void huanshu(); /*还书(学生借完书之后进行还书,若没有图书则不能借)*/void gxinxi(); /*管理员信息(有管理员的账号及密码,可进行修改)*/void xmima(struct stu *head1);/*学生密码修改(学生可对自己的密码进行修改)*/struct stu *xcreate();/*从文件创建学生信息(从文件读出学生信息,建立学生链表)*/void xsecret(struct stu *head1);/*学生权限(学生登陆所用)*/void menu() /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/{int choice,n=0;struct tushu *head;struct stu *head1,*p;char m[15];there:printf("┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n"); printf(" ┃┃socat 图书管理系统printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n"); printf(" ┃●[0]退出系统┃\n");printf(” ┃┃\n”);prin tf(” ┃●[1]帮助┃\n");printf(” ┃┃\n”);printf(” ┃●[2]浏览图书┃\n");printf(” ┃┃\n");printf(” ┃●[3]统计图书数目┃\n”);printf(" ┃┃\n”);printf(” ┃●[4]查询┃\n”);printf(” ┃printf(” ┃●[5]添加┃\n");printf(” ┃┃\n”);printf(” ┃●[6]排序┃\n");printf(” ┃┃\n");printf(" ┃●[7]修改┃\n”);printf(” ┃┃\n");printf(" ┃●[8]删除┃\n”);printf(" ┃┃\n”);printf(" ┃●[9]修改账号及密码┃\n");printf(” ┃┃\n”);printf(” ┃●[10]学生信息printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n");printf(” 请选择:”);fflush(stdin);head=create();scanf("%d”,&choice);if(choice==1){//help();printf(”没有内容!\n”);system("pause”);system(”cls”);menu();}else if(choice==2){system(”cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause");system("cls");menu();}gBrowse(head);}else if(choice==3){system(”cls");count(head);}else if(choice==4){system("cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause”);system(”cls”);menu();}gfind();}else if(choice==5){Input();}else if(choice==6){system("cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”); system("pause”);system(”cls”);menu();}sort(head);}else if(choice==7){system("cls”);if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause");system("cls”);menu();}Revise(head);}else if(choice==8){if(head==NULL){printf("没有图书,请先添加图书!\n");system(”pause");system(”cls");menu();}printf(" 请输入想要删除的图书编号:”);scanf(”%s",m);Delete(head,m);}else if(choice==9){gxinxi();else if(choice==10){system(”cls”);head1=xcreate();if(head1==NULL){printf("没有学生信息,请到xuesheng_list.txt添加!\n”); sys tem(”pause”);system(”cls”);menu();}for(p=head1;p!=NULL;p=p—>next){printf(”学生学号密码\n”);printf("%d %s\n",p->snum,p—>mima);}system(”pause”);system("cls”);menu();}else if(choice==0)system(”cls");printf(”\n\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);exit(0);}else{system("cls");printf(”\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ");system("pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(" ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n");system(”pause");exit(0);}goto there;}}void xmenu()/*学生主菜单(学生进入可对图书,密码进行操作)*/{struct tushu *head;struct stu *head1;int choice,n=0;there:printf(”┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n");printf(” ┃┃socat 图书借阅系统┃┃\n");printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n"); printf(” ┃●[0]退出系统┃\n”);printf(” ┃printf(” ┃●[1]帮助┃\n”);printf(” ┃┃\n”);printf(” ┃●[2]浏览图书┃\n");printf(” ┃┃\n”);printf(" ┃●[3]查询┃\n”);printf(” ┃┃\n”);printf(” ┃●[4]借书┃\n");printf(” ┃┃\n”);printf(" ┃●[5]还书┃\n");printf(" ┃┃\n”);printf(” ┃●[6]修改密码printf("┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”); printf(" 请选择:");fflush(stdin);head=create();scanf("%d”,&choice);if(choice==1){//xhelp();printf(”没有内容!\n");system(”pa use");system(”cls”);xmenu();}else if(choice==2){system("cls");if(head==NULL){printf(”没有图书!\n");system("pause”);xmenu();}xBrowse(head);}else if(choice==3){if(head==NULL){printf(”没有图书!\n”);system(”pause”);system(”cls”);xmenu();}xfind();}else if(choice==4){if(head==NULL){printf(”没有图书!\n");system(”pause”);xmenu();}borrow(head);}else if(choice==5){huanshu(head);}else if(choice==6){system("cls”);head1=xcreate();if(head1==NULL){printf(”学生信息被清空!!\n”);system("pause");system("cls”);xmenu();}xmima(head1); ;}else if(choice==0){system("cls");printf(”\n\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n");exit(0);}else{system("cls”);printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}void gfind()/*管理员查询(管理员可按一定的方式查询图书)*/{int choice,n=0;struct tushu *head;there:system(”cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n”);printf(” ┃┃socat 图书借阅系统┃┃\n”);printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n");printf(" ┃●[0]返回┃\n");printf(" ┃┃\n”);printf(" ┃●[1]按书名查找┃\n”);printf(" ┃┃\n”);printf(" ┃●[2]按作者查找┃\n”);printf(” ┃┃\n”);printf(" ┃●[3]按类别查找┃\n”);printf(" ┃┃\n”);printf(" ┃● ┃\n”);printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”);printf(" 请选择:”);fflush(stdin);head=create();scanf(”%d”,&choice);if(choice==1){system(”cls");Findofname(head); }else if(choice==2){system(”cls”); Findofwriter(head); }else if(choice==3){system(”cls");Findofkind(head); }else if(choice==0){system(”cls”);menu();}else{system(”cls”);printf(”\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system("pause");system(”cls");n++;if(n==3){printf(" \n\n\n ━━━━━━━━你错误次数太多,自动退出! ━━━━━━━━\n\n\n”);printf(" ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);system(”pause”);exit(0);}goto there;}}void xfind()/*学生查询(学生可按一定的方式查询图书)*/ {struct tushu *head;int choice,n=0;there:system("cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n”);printf(” ┃┃socat 图书借阅系统┃┃\n”);printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n");printf(” ┃●[0]返回┃\n”);printf(” ┃┃\n");printf(" ┃●[1]按书名查找┃\n”);printf(” ┃┃\n”);printf(" ┃●[2]按作者查找┃\n”);printf(" ┃┃\n");printf(” ┃●[3]按类别查找┃\n");printf(” ┃┃\n”);printf(" ┃● ┃\n");printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n"); printf(” 请选择:");fflush(stdin);head=create();scanf(”%d",&choice);if(choice==1){system(”cls”);xFindofname(head);}else if(choice==2){system(”cls”);xFindofwriter(head);}else if(choice==3){system("cls");xFindofkind(head);}else if(choice==0){system(”cls");xmenu();}else{system("cls");printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls");n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书借阅系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}void sort(){struct tushu *head;int choice,n=0;there:system("cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n");printf(” ┃┃socat 图书借阅系统┃┃\n");printf(" ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n”);printf(" ┃●[0]返回┃\n”);printf(” ┃┃\n");printf(” ┃●[1]按时间排序┃\n”);printf(” ┃┃\n”);printf(” ┃●[2]按价格排序┃\n");printf(" ┃┃\n”);printf(” ┃●[3]按编号排序┃\n”);printf(" ┃┃\n”);printf(” ┃●┃\n”);printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”);printf(" 请选择:”);fflush(stdin);head=create();scanf("%d",&choice);if(choice==1){system("cls”); Sort_time(head);}else if(choice==2){sys tem(”cls");Sort_price(head);}else if(choice==3){system(”cls”);Sort_num(head); }else if(choice==0){system("cls”); menu();}else{system(”cls");printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出! ━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书借阅系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}struct tushu *Input(){struct tushu *p1,*p2,*head,*ptr;char num;int x,i=0;system("cls”);p1=(struct tushu *)malloc(sizeof(struct tushu));head=p1;p1-〉price=—1;while(i!=1){printf(”请输入编号,以’#’结束\n”);scanf("%s",p1—>num);if(strcmp(p1-〉num,”#")==0)i=1;while(i!=1){printf(”请依次输入书名作者出版社类别出版时间价格\n”); scanf(”%s%s%s%s%lf%lf”,p1—>name,p1—>writer,p1—〉press,p1-〉kind,&p1-〉time,&p1—〉price);p2=p1;p1=(struct tushu *)malloc(sizeof(struct tushu));p2—〉next=p1;break;}}if(p1-〉price!=-1)p2—〉next=NULL;elsehead=NULL;system("cls”);printf("\n\n\n\t\t\t图书信息输入结束!\n\n\n”);system(”pause”);system(”cls”);printf(”\n\n\n\t\t\t是否保存图书信息?(1。
c图书管理系统课程设计报告
c图书管理系统课程设计报告一、教学目标本课程的教学目标是使学生掌握C图书管理系统的基本概念、设计原理和实现方法。
通过本课程的学习,学生应能够:1.理解C图书管理系统的基本组成部分及其功能;2.掌握C图书管理系统的设计原理和实现方法;3.能够运用C图书管理系统进行图书管理;4.培养学生的信息素养和创新能力。
二、教学内容本课程的教学内容主要包括:1.C图书管理系统的基本概念:介绍C图书管理系统的发展历程、基本功能和应用场景;2.C图书管理系统的设计原理:讲解C图书管理系统的架构设计、模块划分和算法实现;3.C图书管理系统的实现方法:介绍C图书管理系统的开发环境、编程语言和开发工具;4.实践操作:通过案例分析法和实验法,使学生熟练掌握C图书管理系统的操作和使用。
三、教学方法本课程采用多种教学方法相结合的方式,包括:1.讲授法:讲解C图书管理系统的基本概念、设计原理和实现方法;2.案例分析法:分析典型实例,使学生更好地理解C图书管理系统的应用;3.实验法:让学生动手实践,熟练掌握C图书管理系统的操作和使用;4.讨论法:鼓励学生提问、发表见解,培养学生的独立思考能力。
四、教学资源为实现本课程的教学目标,我们将提供以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统、全面的学习资料;2.参考书:推荐相关参考书籍,丰富学生的知识体系;3.多媒体资料:制作课件、演示文稿等多媒体教学资源,提高课堂教学效果;4.实验设备:为学生提供充足的实验设备,确保实验教学的顺利进行。
通过以上教学资源的支持,我们期望学生能够在本课程学习中取得良好的效果。
五、教学评估本课程的教学评估将采取多元化方式进行,以全面、客观、公正地评价学生的学习成果。
评估内容包括:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性;2.作业:布置适量作业,评估学生的理解和应用能力;3.考试:设置期中考试和期末考试,评估学生对课程知识的掌握程度;4.实践操作:通过实验报告和实际操作评估学生的动手能力和创新能力。
c语言课程设计报告及源代码图书馆管理系统
1 设计内容、任务及基本要求 (2)1.1 设计内容 (2)1.2 设计任务 (2)1.3 设计基本要求 (2)2 总体设计思路 (4)2.1 系统功能 (4)2.2 各个模块之间的主要关系 (4)2.3 总体程序框图 (5)2.4 系统的总体流程图 (5)3 功能模块的具体设计 (7)3.1 main() 函数模块 (7)3.2查询所有图书信息函数模块 (8)3.3查询一本图书信息函数模块 (8)3.4添加图书信息函数模块 (9)3.5删除图书信息函数模块 (10)3.6 借阅图书模块 (12)4 功能模块的调试与测试 (13)4.1主菜单运行界面 (13)4.2查询所有图书信息模块运行界面 (13)4.3查找某一本图书信息模块运行界面 (14)4.4 添加图书信息模块运行界面 (16)4.5 删除图书信息模块运行界面 (17)4.6 借阅图书模块信息运行界面 (79)5 总结 (22)6 致谢 (23)7 参考文献 (24)9 程序清单 (25)1.设计内容、任务以及基本要求1.1设计内容主要利用c语言的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。
操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。
1.2设计任务要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。
掌握模块化编程的基本方法与步骤;巩固和加深学生对C语言课程基本知识的理解与掌握,培养学生利用C语言进行软件操作的能力和技巧。
1.3基本要求(1)通过提示菜单选择可以进行的操作。
(2)将图书的信息存入文件中,并命名为BookInfo.txt。
C语言图书管理系统代码和课程报告书
课程报告课程名称:程序设计实践专业班级:学生姓名:学号:任课教师:学期: 2011-2012学年第二学期课程报告任务书(1)图书信息录入功能(图书信息用文件保存)--输入①按书名查询②按作者名查询③按照价钱排序④按出版时间排序等等成绩评定教师:1 需求分析2 可适当参考以下提示: ⑴ 数据结构 ⑵ 模块划分⑶ 程序总体框架分为七个模块!都是通过自定义函数完成!图书删除修改,图书借阅与归还都是通过编号完成,所以图书编号在我的程序里边是唯一的!1 图书录入可以录入图书名,作者,出版社,出版日期,价格!录入图书编号时函数就会判断此编号是否存在,若存在不能成功录入!2 图书浏览可以浏览全部图书!3 图书查询提供按图书编号模糊查询,按图书名关键字查询,按图书编号精确查询,按图书名精确查询!模糊查询和关键字查询事通过比价字符串的相似度而实现的!4 修改删除图书可以通过图书查询来查询操作的图书编号,通过编号操作!函数会提示用户是否调用图书查询来找到自己想要操作的图书的编号。
如果某一本图书已经被借阅那么用户就不能删除该图书!5 借阅图书通过学号和图书编号进行借阅!如果该学号是第一次借阅那么会提示用户输入自己的姓名,并存入student.txt ,方便以后借阅与归还!6 归还图书先提供学号,然后程序会输出该学号借阅的所有图书,然后再通过编号归还!7 借阅查询可查询某个学生已借但未归还的图书!3 详细设计分为七个模块!都是通过自定义函数完成! 主函数为: main(){if((fp=fopen("c:\\book.txt","rb+"))==NULL){printf("在c 盘根目录下没有找到储存图书信息的book.txt 文件\n 请选择 1--手动导入! 2--创建此文件\n");scanf("%d",&xuan);switch(xuan){case 2:if((fp=fopen("c:\\book.txt","wb+"))!=NULL)printf("创建成功\n\n");break;case 1:printf("请把名为book.txt的文件复制到c盘根目录下\n\n");}}if((fpj=fopen("c:\\jieyue.txt","rb+"))==NULL){printf("在c盘根目录下没有找到储存借阅信息的jieyue.txt文件\n请选择1--手动导入! 2--创建此文件\n");scanf("%d",&xuan);switch(xuan){case 2:if((fpj=fopen("c:\\jieyue.txt","wb+"))!=NULL)printf("创建成功\n\n");break;case 1:printf("请把名为jieyue.txt的文件复制到c盘根目录下\n\n");}}if((fps=fopen("c:\\student.txt","rb+"))==NULL){printf("在c盘根目录下没有找到储存学生信息的student.txt文件\n请选择1--手动导入! 2--创建此文件\n");scanf("%d",&xuan);switch(xuan){case 2:if((fps=fopen("c:\\student.txt","wb+"))!=NULL)printf("创建成功\n\n");break;case 1:printf("请把名为student.txt的文件复制到c盘根目录下\n\n");}}menu();printf("\n 代码:");scanf("%d",&xuan);while(xuan==1||xuan==2||xuan==3||xuan==4||xuan==5||xuan==6||xuan==7){ fp=fopen("c:\\book.txt","rb+");fps=fopen("c:\\student.txt","rb+");fpj=fopen("c:\\jieyue.txt","rb+");switch(xuan){case 0:break;case 1:end();break;case 2:print();break;case 3:find();break;case 4:del();break;case 5:lend();break;case 6:huan();break;case 7:cha();break;}fclose(fp);fclose(fpj);fclose(fps);menu();printf("\n 代码:");scanf("%d",&xuan);}}然后通过函数调用实习以下功能1 图书录入可以录入图书名,作者,出版社,出版日期,价格!函数名为“void end()”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程报告课程名称:程 践专业班级:学生姓名:学号:任课教师:学期: 2011-2012学 学期课程 任务书开发一个 书 理系统 书 括: 书编号、书名、 、 、 、 、 、:1 书 入( 书 文件保 )--输入2 书 览 --输3 查询 ( 一 查询方式)、排 ( 一 排方式):① 书名查询② 名查询③ 排④ 排4 书 展 : 程 展 1处理23 学生书 系统4 模糊查询5综合查询6统 统 处一 书或 书 分析绩评 教师:1 需求分析2 参 示:⑴ 结构 ⑵ 模块划分⑶ 程 架分 个模块! ! 书 , 书 归还 编号 , 书编号 程 一 !1 书 入 入 书名 日期 ! 入 书编号 编号 , 入!2 书 览 览 书!3 书查询 书编号模糊查询 书名 查询 书编号 查询 书名 查询!模糊查询 查询 现 !4 书 书查询 查询 书编号 编号 ! 示 调 书查询 要 书 编号 一 书 该 书!5 书 学号 书编号 ! 该学号 一 示 输入 姓名, 入st u dent .txt 方 归还!6 归还 书 学号 程 输 该学号 书 编号归还!7 查询 查询 个学生 归还 书!3 详细设计分 个模块! ! 主 : main(){("d:\\book.txt","rb+"))==NULL){printf("d 目 书book.txt文件\n请 择 1--手动导入! 2--创 文件\n");("%d",&xuan);h(xuan){("d:\\book.txt","wb+"))!=NULL)printf("创 \n\n");;case 1:printf("请把名 book.txt 文件复制 d 目 \n\n");}}("d:e.txt","rb+"))==NULL){printf("d 目jieyue.txt文件\n请 择1--手动导入! 2--创 文件\n");("%d",&xuan);h(xuan){("d:e.txt","wb+"))!=NULL)printf("创 \n\n");;case 1:printf("请把名 jieyue.txt 文件复制 d 目 \n\n");}}("d:n t.txt","rb+"))==NULL){printf("d 目 学生student.txt文件\n请 择1--手动导入! 2--创 文件\n");("%d",&xuan);h(xuan){("d:n t.txt","wb+"))!=NULL)printf("创 \n\n");;case 1:printf("请把名 student.txt 文件复制 d 目 \n\n");}}menu();printf("\n :");("%d",&xuan);(xuan==1||xuan==2||xuan==3||xuan==4||xuan==5||xuan==6||xuan==7){ ("d:\\book.txt","rb+");("d:n t.txt","rb+");("d:e.txt","rb+");h(xuan){;;;;;;;;}e(fp);e(fpj);e(fps);menu();printf("\n :");("%d",&xuan);}}调 1 书 入 入 书名 日期 ! 名 “void end()”2 书 览 览 书! 名 “void print()”书名 查询! 名 “void find()”4 书书查询 查询 书编号 编号 ! 名 “viod del”5 书 学 书编号 ! 名 “void lend()”6 归还 书 学号 程 输 该学号书 书号归还! 名 “void huan()”7 查询 查询 个学生归还 书! 名 “void cha()”4 调试分析调 程 主要 题 现 文件 动 书 ! 个程 书编号保 书编号 复书编号 要 书书!一个题 fseek rewind 个 制 个题 文件书 把 书 一个文件 方式 开 文件 把 书 又 回 !5 试 1.书个 学个系统输入程 书 览 输入书名 查询! 示 书名 查询!输入“Eng” 程 含“Eng” 书!3.书 示把编号 002 书63.34. 归还 书编号 ! 示w a n g学 编号 001书!6 开始 个程 分析 结 目 目 教 !个程 学 文件 ! 师麻烦!、学 程 F10调 程 觉 F10调 程 程 现方!模块 编号 书 编号 麻烦 麻烦 还 !.h>b.h>g.h>FILE *fp,*fpj,*fps;int i,xuan;t book{char name[10];char num[10];r[10];int date;[10];;e[10];;u;}bo;n t{char name[10];char num[10];int jie;}st;e{char snum[10];char bnum[10];}ji;void menu()//菜{f("\n\n");for(i=0;i<80;i++)f("#");f("\n\n");printf("\t\t1----- 书 入\t\t\t");printf("2----- 书 览\n\n");printf("\t\t3----- 书查询\t\t\t");printf("4-----书\n\n");printf("\t\t5----- 书\t\t\t");printf("6-----归还 书\n\n");printf("\t\t7----- 查询\t\t\t\n");printf("\n\t\t\t\t输入 任\n");p f("\n\n");for(i=0;i<80;i++)f("#");f("\n\n");}void end()// 入 书{bo boo,booq;printf("请输入 书名( 个 ):");("%s",);do{i=1;printf("请输入 书编号( 个 ):");("%s",boo.num);f(bo),1,fp);(!feof(fp)){p(booq.num,boo.num)==0){printf("\n该编号 请 输入\n\n");i=0;;}f(bo),1,fp);}d(fp);(i==0);printf("请输入 书( 个 ):");r);printf("请输入 书日期 20015月3日 输入20010503:");("%d",&boo.date);printf("请输入 书:"););printf("请输入 书( 个 ):"););printf("请输入 书( 个 ):");e);printf("请输入 书入:"););u=0;a r();(fp,0,2);f(bo),1,fp);printf("\n 入 !回 主菜 ");");}void print()// 览 书{bo boo;printf("书名编号 始 \n");f(bo),1,fp);(feof(fp)==0){--------u);f(bo),1,fp);}printf("\n 览 书 !回 主菜 ");");}int dui(char *p,char *p1)// 个 索{int bao=0,fan=1;n(p1);i++){if(p[0]==p1[i]){bao=i;;}}n(p1)-bao+1)n 0;elsen(p);i++){if(p[i]!=p1[bao+i])fan=0;}n fan;}void find()//查询 书{char hao[10];int fan=1;int bian=1;bo boo;printf("请 择查询型:\n\n\t\t1- 书编号模糊查询2- 书名 查询\n");printf(" \n\t\t3- 书编号查询4- 书名 查询\n\n :");("%d",&xuan);if(xuan==1){printf("请输入编号( 个 ):");("%s",hao);printf(" 号书名编号 始f(bo),1,fp);(!feof(fp)){fan=dui(hao,boo.num);if(fan==1){---------u);bian++;}f(bo),1,fp);}}else if(xuan==2){printf("请输入 书名( 个 ):");("%s",hao);printf(" 号书名编号 始 \n");f(bo),1,fp);(!feof(fp)){fan=dui(hao,);if(fan==1)f("%-5d%-1-------u);f(bo),1,fp);}}else if(xuan==4){printf("请输入 书名( 个 ):");("%s",hao);printf(" 号书名编号 始 \n");(!feof(fp)){p(hao,)==0)---------e,boo.kuc u);f(bo),1,fp);}}else if(xuan==3){printf("请输入 书编号( 个 ):");("%s",hao);printf(" 号书名编号 始(!feof(fp)){p(hao,boo.num)==0)---------u);f(bo),1,fp);}}else{printf("输入 正 !");");r n;}printf("\n查询 书!");");}void del()//书{FILE *p;ji jie;int j=0;char num[10];bo boo,booq;int xu;char or;char cha[10];printf("\n书 书编号 !\n 调 书查询 查询 要 书编号Y/N\n");a r();("%c",&or);if(or=='Y'||or=='y'){find();d(fp);}printf("\n请输入 要书 编号 输入 编号 任 :");("%s",cha);f(ji),1,fpj);(!feof(fpj)){p(jie.bnum,cha)==0){printf("\n 书 人 !\n正 ");");n;}f(ji),1,fpj);printf("\n\n1- 书2- 书\n\n");printf("请 择 型:");("%d",&xuan);f(bo),1,fp);("d:1.txt","wb+");(!feof(fp)){j++;p(boo.num,cha)==0){if(xuan==2){printf("\n\n1-书名2-编号3-4-5-6-7-\n\n");printf("请 择要 项目:");("%d",&xu);if(xu==1){printf(" 要把%s :",);("%s",);}else if(xu==2){do{i=1;printf(" 要把%s :",boo.num);("%s",num);d(fp);f(bo),1,fp);(!feof(fp)){p(booq.num,num)==0){printf("\n该编号 请 输入\n\n");i=0;;}f(bo),1,fp);}(i==0);d(fp);for(i=0;i<j;i++){f(bo),1,fp);y(boo.num,num);}}else if(xu==3){printf(" 要把%s :",boo.writer);r);}else if(xu==4){printf(" 要把%.2f :",boo.price););}else if(xu==5){printf(" 要把%s :",boo.press););}else if(xu==6){printf(" 要把%s :",boo.leibie);e);}else if(xu==7){printf(" 要把%d :",&boo.kucun););}f(bo),1,p);}}elsef(bo),1,p);f(bo),1,fp);}e(p);("d:1.txt","rb+");e(fp);("d:\\book.txt","wb+");f(bo),1,p);(!feof(p)){f(bo),1,fp);f(bo),1,p);}fcl e(fp);printf("回 主菜 ");");}void lend()// 书{bo boo;FILE *p;st stu;ji jie;int j=0;char or,num[10],xnum[10];printf("\n 书书编号 !\n 调 书查询 查询 要 书编号Y/N \n");a r();("%c",&or);if(or=='Y'||or=='y')find();printf("\n请输入 要书编号:");("%s",num);f(bo),1,fp);(!feof(fp)){p(num,boo.num)==0){j=1;;}f(bo),1,fp);}if(j==0){printf("\n书 该书正 \n");");n;}printf("\n 要 书 :\n");printf("书名编号 始 \n");--------,boo.u);u){printf("\n该 书!正\n");");n;}printf("\n请输入 学号:");("%s",xnum);j=0;f(ji),1,fpj);(!feof(fpj)){p(jie.p(jie.snum,xnum)==0)){j=1;;}f(ji),1,fpj);}if(j==1){printf("\n该书正 \n");");n;}f(st),1,fps);j=0;(!feof(fps)){if(strc p(xnum,stu.num)==0){j=1;;}if(j==0){printf("\n 一 书 方 理请输入 姓名:");("%s",);y(stu.num,xnum);stu.jie=1;(fps,0,2);f(st),1,fps);}else{if(stu.jie==5){//制 个学生书printf("\n5书 \n");");n;}("d:\\jie.txt","wb+");d(fps);f(st),1,fps);(!feof(fps)){p(xnum,stu.num)==0)stu.jie++;f(st),1,p);f(st),1,fps);}e(p);e(fps);("d:\\jie.txt","rb+");("d:n t.txt","wb+");f(st),1,p);(!feof(p)){e(&stu f(st),1,fps);f(st),1,p);}}y(jie.bnum,num);y(jie.snum,xnum);(fpj,0,2);f(ji),1,fpj);d(fp);("d:\\jie.txt","wb+");f(bo),1,fp);(!feof(fp)){p(num,boo.num)==0)u++;f(bo),1,p);e(p);("d:\\jie.txt","rb+");e(fp);("d:\\book.txt","wb+");f(bo),1,p);(!feof(p)){f(bo),1,fp);f(bo),1,p);}printf("\n!回 主菜 ");");}void huan(){//归还 书FILE *p;bo boo;ji jie;st stu;int j=0;char snum[10],bnum[10];i=0;printf("\n请输入 学号:");sca("%s",snum);printf("\n书\n");f(ji),1,fpj);printf("书名编号 始 \n");(!feof(fpj)){p(jie.snum,snum)==0){f(bo),1,fp);(!feof(fp)){p(jie.bnum,boo.num)==0){--------u);j=1;}f(bo),1,fp);}}(&f(ji),1,fpj);}if(j==0){printf("\n任 书!\n\n正 ");");n;}d(fp);d(fpj);printf("\n请输入 归还 书编号:");("%s",bnum);fread(&jie,sizeof(jie),1,fpj);//jiey ue.txt("d:\\jie.txt","wb+");(!feof(fpj)){p(jie.snum,snum)==0)) i=1;elsef(jie),1,p);f(jie),1,fpj);}if(i==0){printf("\n该书\n正 ");");n;}e(p);e(fpj);("d:\\jie.txt","rb+");("d:e.txt","wb+");f(ji),1,p);(!feof(p)){f(ji),1,fpj);f(ji),1,p);}fclose(p);//book.txt("d:\\jie.txt","wb+");f(bo),1,fp);(!feof(fp)){p(bnum,boo.num)==0)u--;f(bo),1,p);f(bo),1,fp);}e(p);("d:\\jie.txt","rb+");e(fp);("d:\\book.txt","wb+");f(bo),1,p);(!feof(p)){f(bo),1,fp);f(bo),1,p);}fclose(p);//stud ent.txt("d:\\jie.txt","wb+");d(fps);fre f(st),1,fps);(!feof(fps)){p(snum,stu.num)==0)stu.jie--;f(st),1,p);f(st),1,fps);}e(p);e(fps);("d:\\jie.txt","rb+");("d:n t.txt","wb+");f(st),1,p);(!feof(p)){f(st),1,fps);f(st),1,p);}printf("\n归还 !回 主菜 ");");}void cha(){// 查询char num[10];bo boo;ji jie;printf("\n请输入 学号:");("%s",num);f(ji),1,fpj);printf("书名编号 始 \n");(!feof(fpj)){p(jie.snum,num)==0){f(bo),1,fp);(!feof(fp)){p(jie.bnum,boo.num)==0)--------u);f(bo),1,fp);}}f(ji),1,fpj);}printf("\n查询 !回 主菜 ");");}main(){("d:\\book.txt","rb+"))==NULL){printf("d 目 书book.txt文件\n请 择1--手动导入!2--创 文件\n");("%d",&xuan);h(xuan){("d:\\book.txt","wb+"))!=NULL)printf("创 \n\n");;case 1:printf("请把名 bo o k.txt 文件复制 d 目 \n\n");}}("d:e.txt","rb+"))==NULL){printf("d 目jie y ue.txt文件\n请 择1--手动导入!2--创 文件\n");("%d",&xuan);swi h(xuan){("d:e.txt","wb+"))!=NULL)printf("创 \n\n");;case 1:printf("请把名 ji eyue.txt 文件复制 d 目 \n\n");}}("d:n t.txt","rb+"))==NULL){printf("d 目 学生stu dent.txt文件\n请 择1--手动导入!2--创 文件\n");("%d",&xuan);h(xuan){("d:n t.txt","wb+"))!=NULL)printf("创 \n\n");;case 1:printf("请把名 st udent.txt 文件复制 d 目 \n\n");}}menu();printf("\n :");("%d",&xuan);(xuan==1||xuan==2||xuan==3||xuan==4||xuan==5||xuan==6||xuan==7){("d:\\book.txt","rb+");("d:n t.txt","rb+");("d:e.txt","rb+");h(xuan){case 0;;;;;;;;}e(fp);e(fpj);e(fps);menu();printf("\n :");("%d",&xuan);}}21。