




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计实践报告图书管理系统中南林业科技大学 职业技术学院07计二班谢海鹏写在前面通过长期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读和巩固课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是要想作为一名创新型大学生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。设计之前作的需要分析:系统要求:欢迎界面、主菜单、系统管理功能、图书信息管理、读者信息管理、借阅功能模块、系统帮助信息其中系统管理功能包括系统管理员添加、删除、修改信息以及用管理员身份登录系统等功能。图书信息管理包括新增图书、修改图书、删除图书、图书查阅等功能,而查阅又包括精确查询和模糊查询。读者信息管理包括注册读者、修改信息、删除读者、读者查询等功能,同样查询功能也包括精确查询和模糊查询。借阅功能模块包括借书功能、还书功能、查询已借图书、查询过期未还图书,其中借书还书功能可以按图书编号、图书名称、借书证号等信息进行操作。由于时间和自己的知识有限,未能完成上述所有功能。特别是按多种方式查找信息的功能难以实现,希望各位给出批评和意见。系统简单自评:采用函数模块化系统功能,设计功能较为完善,在信息显示格式上做了很好的规范,如DOS中经典的分屏显示,界面设计友好,丰富的提示信息,操作容易上手。本系统采用C语言链表存储结构,运行时不必开辟过多在内存空间,从而达到了占用内存少的优点。本系统不完全是自己完成,本人通过上网获取了大量的相关资料,并选择了其中一个简单的系统作为基本框架,经过本人几周时间的日夜奋战,最后编出如下图书管理系统。希望有C语言爱好者来完善我的这个系统,也希望同大学共同学习与交流。本系统在程序代码上编写规范,层次分明。系统运行环境:MS-DOS/UCDOS、Windows 2000/XP/2003/Vista。最佳运行环境:MS-DOS/UCDOS联系作者:QQ: 87200291 68838991E-mail: Blog: MSN: 注:本人有界面显示及系统提示信息为中文的程序代码,本英文版是本人借助Google在线翻译翻译而来,如有需要中文的,请联系我。本代码直接拷贝到Turbo C中即可运行。目录写在前面/*引用头文件与预处理*/*定义书籍与学生结构体*/*定义界面显示函数*/*函数功能:初始化图形环境/*函数功能:显示帮助信息/*函数功能:欢迎界面/*函数功能:主菜单/*函数功能:退出界面/*函数功能:格式化输出信息/*定义输入数据,检查数据有效性的函数*/*函数功能:输入字符串,只能输入规定的长度/*函数功能:输入书籍价格,要求输入一位小数/*函数功能:输入字符串,可以输入小于等规定的长度的字符串/*函数功能:通过数组得到一个整形数据/*函数功能:通过数组得到一个学号/*定义学生和书籍链表操作函数*/*函数功能:查看回收站里的学生和书籍信息/*函数功能:输出学生链表中的信息/*函数功能:判断学号是否存在/*函数功能:查看一个学生信息/*函数功能:学生借书/*函数功能:学生还书/*函数功能:查看书籍编号是否存在和此书数目是否大于0,如果两者都成立,则返回1,证明可以借出/*函数功能:创建书籍链表/*函数功能:输出书籍链表中的书籍信息/*函数功能:添加书籍信息到链表-/*函数功能:查找某一本书/*函数功能:修改信息(支持一次修改多个信息)/*定义回收站操作函数*/*函数功能:把书籍列表中的书籍放入回收站(一次可最多将10本书放入回收站)/*函数功能:把学生列表中的学生信息放入回收站(一次可最多将10条信息放入回收站)/*函数功能:把回收站中的书籍还原到书籍链表(一次只能还原一本)/*函数功能:把回收站中的学生还原到学生链表(一次只能还原一位)/*函数功能:一次性还原所有回收站中的书籍/*函数功能:一次性还原所有回收站中的学生/*函数功能:一次性删除回收站中的所有需要删除的学生信息/*函数功能:一次性删除回收站中的所有需要删除的书籍信息/*函数功能:查看回收站里的书籍/*函数功能:查看回收站里的学生/*定义文件操作函数*/*函数功能:读取文件至学生链表/*函数功能:读取文件至书籍链表/*函数功能:保存信息至书籍数据文件/*函数功能:保存信息至学生数据文件/*定义初始化系统环境函数*/*函数功能:初始化书籍链表/*函数功能:初始化学生链表/*函数功能:使用磁盘上的数据文件初始化书籍链表/*函数功能:使用磁盘上的数据文件初始化学生链表/*系统入口,主函数*/*函数功能:主函数/*选择菜单操作项系统运行截图由于程序代码太长,不能在此博客上发布全部代码,所以只在此提供部分代码。需源代码共同学习的可以联系我。程序部分代码/*引用头文件与预处理*/#include stdio.h/*引用头文件*/#include dos.h#include graphics.h#define closegr closegraph#define BI 6/*定义结构体成员长度*/#define BN 21#define BA 13#define BP 6#define BU 19#define SN 6#define SC 9#define SM 5/*定义书籍与学生结构体*/typedef struct book/*定义书籍结构体数据类型*/int del;/*删除标记,0表示删除*/char idBI;/*编号*/char nameBN;/*名称*/char authorBA;/*作者*/char priceBP;/*价格*/char publisherBU;/*出版社*/int amount;/*库存*/struct book *next;/*指向下一本书的指针*/Book;typedef struct student/*定义学生结构体数据类型*/int del; /*删除标记,0表示删除*/char stunumSN;/*学号*/char codeSC;/*借书证号*/char bookidSMBI;/*存储已借图书ID号,最多可借SM本图书*/struct student *next;/*指向下一位同学的指针*/Stu;/*定义界面显示函数*/*函数功能:初始化图形环境*/void initgr(void)int gd=DETECT,gm;registerbgidriver(EGAVGA_driver);/*调用不需要驱动程序就能独立运行的可执行图形程序,避免BGI Error: Graphics not initialized错误.*/initgraph(&gd,&gm,.bgi);void drawmat(char *mat,int matsize,int x,int y,int color)int i,j,k,n;n=(matsize-1)/8+1;for(j=0;jmatsize;j+)for(i=0;in;i+)for(k=0;kk)putpixel(x+i*8+k,y+j,color);/*函数功能:显示帮助信息*/int help()/*定义显示系统功能函数*/int i;char *advices=The system functions as follows:,(1).Add|Change|delete books&students;,(3).Built-in functions of the Recycle Bin;,(4).You can cut books&students into Recycle Bin;,(5).In the Rcycle Bin you can delete them physically;,(6).Create a database of students;,(7).register|borrow|return|View their loan information;,(8).File operations, you can save and get information by a data file;,(9).Welcome interface;,(10).Exit from the system;clrscr();textcolor(YELLOW);window(5,2,102,119);gotoxy(38,4);cprintf(Help);for(i=0;i);for(i=0;i);delay(3000);printf(nnntLoading successful!);delay(1350000);printf(nnnnnnntEnter in);delay(1350000);getch();return 0;/*函数功能:主菜单返回值:整型值*/int menu()int hh;int me;char s3;char *menu=n Book Module: 1.Init book listtStudent: 8.Init student list,ntt 2.Creat book listtt 9.Add student,ntt 3.Search for a booktt10.Search for a student,ntt 4.Display all bookstt11.Display all students,ntt 5.Add bookttt12.Borrow book,ntt 6.Modify bookttt13.Return book,ntt 7.Delete bookttt14.Delete studentn,n Recycle Bin:15.Look over Recycle Bin,ntt16.Restore studentst File:21.Get book from data file,ntt17.Restore all studentstt22.Save book to data file,ntt18.Restore bookstt23.Get student from data file,ntt19.Restore all bookstt24.Save student to data file,ntt20.Empty Recycle Bintt25.Exit the system,;for(me=0;me13;me+)printf(menume);doprintf(nnttPlease select operation (1-25):);scanf(%s,s);hh=atol(s);while(hh26);return (hh);/*函数功能:退出界面返回值:0*/int welcomback()int i;clrscr();printf(nnnnntttThanks for your using! nnntttMade by:HilarynntttQQ:87200291nntttBlog:);printf(nntttClass:Computer science & technology Class 2nntttStudent Nubmer:20074858);printf(nnntExiting the system.);delay(110000);for(i=0;i42;i+)printf(.);delay(11000);printf(nnnn);return 0;/*函数功能:格式化输出信息返回值:整型值0*/int printingoodway(char bidBI,char bnameBN,char bauthorBA,char bpriceBP,char bpublisherBU,int bamount)printf(|%-8s|%-20s|%-12s|%7s|%-18s|%-7d|n,bid,bname,bauthor,bprice,bpublisher,bamount);printf(|-|-|-|-|-|-|n);return 0;/*定义输入数据,检查数据有效性的函数*/*函数功能:输入字符串,只能输入规定的长度参数说明:pro:提示用户要输入的信息s:保存用户输入的字符串count:用户输入字符串的长度,防止溢出返回值:整型值*/int inputs(char *pro,char *s,int count)char p255;int f,i;dof=0;printf(pro);printf(%d byte):,count);scanf(%s,p);for(i=0;istrlen(p);i+)if(pi9)f=1;if(f)printf(nSorry! Your input is not a number! Please try again!n);if(strlen(p)!=count)printf(nSorry! The information you inputed is not legitimate! Please try again!n);while(strlen(p)!=count|f);strcpy(s,p);return 0;/*函数功能:输入书籍价格,要求输入一位小数参数说明:pro:提示用户要输入的信息s:保存用户输入的字符串count:用户输入字符串的长度,防止溢出返回值:整型值*/int inputsp(char *pro,char *s,int count)char p255;int f,i,l,lf;dof=0;lf=0;printf(pro);printf(%d byte):,count);scanf(%s,p);l=strlen(p);for(i=0;il;i+)if(pi9|pi=47)f=1;if(pl-2!=.)lf=1;if(lf)printf(nSorry! Please enter a decimal, for example:25.5n);if(f)printf(nSorry! Your input is not a number! Please try again!n);if(strlen(p)count)printf(nSorry! The information you inputed is not legitimate! Please try again!n);while(lcount|f|lf);strcpy(s,p);return 0;/*系统入口,主函数*/*函数功能:主函数返回值:无*/main()/*定义汉字显示字模,此字模由汉字字模点阵数据批量生成工具生成*/char c;Stu *shead;Book *head;long int numm;char bbookidBI;head=NULL;shead=NULL;initgr();delay(180000);drawmat(lin,64,66,200,1);delay(20000);drawmat(da,64,129,200,2);delay(20000);drawmat(tu,64,193,200,3);delay(20000);drawmat(shu,64,257,200,4);delay(20000);drawmat(guan,64,321,200,5);delay(20000);drawmat(li,64,385,200,6);delay(20000);drawmat(xi,64,449,200,7);delay(20000);drawmat(tong,64,512,200,8);getch();closegr();welcome();/*欢迎界面*/help();/*使用说明界面*/head=initbookdat(head);/*进入系统时初始化书籍链表*/shead=initstudat(shead);/*进入系统时初始化学生链表*/printf(nntPlease press any key to show main menu.);getch();/*选择菜单操作项*/for(;)clrscr();switch(menu()/*书籍模块*/case 1:head=init(head);break;/*初始化书籍链表*/case 2:head=create();break;/*创建图书链表*/case 3:b_search(head);break;/*查找某一本书*/case 4:print(head);break;/*查看所有图书信息*/case 5:head=insert(head);break;/*添加图书记录*/case 6:modify(head);break;/*修改图书记录*/case 7:shelf_to_recoverbox(head);break;/*删除图书记录*/*回收站模块*/case 15:see_recoverbox(head,shead);break;/*查看回收站*/case 16:recoverbox_to_stulist(shead);break;/*恢复注销学生*/case 17:recoverall_to_stulist(shead);break;/*恢复所以已注销学生*/case 18:recoverbox_to_shelf(head);break;/*恢复已删图书*/case 19:recoverall_to_shelf(head);break;/*恢复所有已删图书*/case 20:head=empty_book_recoverbox(head);shead=empty_stu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 30578-2025常压储罐基于风险的检验及评价
- 桥梁知识培训日程安排课件
- 2025年电子商务网站开发工程师招聘模拟题集
- 2025年行车安全法规测试题集
- 2025年初级舞蹈教师职业认证考试模拟题
- 2025年政府事务协调与管理能力提升题集
- 桑蚕丝面料知识培训
- 2026届福建龙海市第二中学高一化学第一学期期末复习检测试题含解析
- 2025年网络游戏公司运营总监竞聘面试技巧与常见问题解答
- 2025年注册验船师资格考试(A级船舶检验专业基础环境与人员保护)全真冲刺试题及答案一
- 湖北省圆创高中名校联盟2026届高三第一次联合测评 语文试卷(含答案)
- 医务人员职业道德准则理论试题
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 非标设备检验标准
- 皖2015s209 混凝土砌块式排水检查井
- 外墙涂料工程技术标书
- 教学课件-信号智能电源屏(鼎汉)的简介与维护
- CML慢性髓系白血病医学教学课件
- 临床实习带教工作总结
- 老年营养不良
- 【公开课】社区教案
评论
0/150
提交评论