收藏 分享(赏)

C语言程序设计实践报告.doc

上传人:dzzj200808 文档编号:2689668 上传时间:2018-09-25 格式:DOC 页数:12 大小:222.50KB
下载 相关 举报
C语言程序设计实践报告.doc_第1页
第1页 / 共12页
C语言程序设计实践报告.doc_第2页
第2页 / 共12页
C语言程序设计实践报告.doc_第3页
第3页 / 共12页
C语言程序设计实践报告.doc_第4页
第4页 / 共12页
C语言程序设计实践报告.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、C 语言程序设计实践报告图书管理系统中南林业科技大学 职业技术学院 07 计二班谢海鹏写在前面通过长期的学习,我认为要学好 C 语言程序这门课程,不仅要认真阅读和巩固课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是要想作为一名创新型大学生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。设计之前作的需要分析:系统要求:欢 迎界面、主菜单、系统管理功能、图书信息管理、 读者信息管理、借阅功能模块、系统帮助信息其中系统管理功能包括系统管理员添加、删除、修改信息以及用管理员身份登录系统等功能。图书信息管理包括新增图书 、修改图书、删除图书、 图书查阅 等功能,而 查阅又包

2、括精确查询和模糊查询。读者信息管理包括注册读者、修改信息、删除读者、 读者 查询等功能,同样查询功能也包括精确查询和模糊查询 。借阅功能模块包括借书功能、还书功能、查询已借图书、查询过期未还图书,其中借书还书功能可以按图书编号、 图书名称、借书证号等信息进行操作。由于时间和自己的知识有限,未能完成上述所有功能。特 别是按多种方式查找信息的功能难以实现,希望各位给出批评和意见。系统简单自评:采用函数模块化系统功能,设计功能较为完善,在信息显示格式上做了很好的规范,如 DOS 中经典的分屏显示,界面 设计友好,丰富的提示信息,操作容易上手。本系 统采用 C 语言链表存储结构,运行 时不必开辟过多在

3、内存空间,从而达到了占用内存少的优点。本系统不完全是自己完成,本人通过上网获取了大量的相关资料,并选择了其中一个 简单 的系统作为基本框架, 经过本人几周时间的日夜奋战,最后编出如下图书管理系统。希望有 C 语言爱好者来完善我的这个系统,也希望同大学共同学习与交流。本系统在程序代码上编写规范,层次分明。系统运行环境:MS-DOS/UCDOS、 Windows 2000/XP/2003/Vista。最佳运行环境:MS-DOS/UCDOS联系作者:QQ: 87200291 68838991E-mail: Blog: MSN: 注:本人有界面显示及系统提示信息为中文的程序代码,本英文版是本人借助G

4、oogle 在线翻译翻译而来,如有需要中文的,请联系我。本代码直接拷贝到 Turbo C 中即可运行。目录写在前面 /*引用头文件与预处理*/ /*定义书籍与学生结构体*/ /*定义界面显示函数*/ /* 函数功能:初始化图形环境 /* 函数功能:显示帮助信息 /* 函数功能:欢迎界面 /* 函数功能:主菜单 /* 函数功能:退出界面 /* 函数功能:格式化输出信息 /*定义输入数据,检查数据有效性的函数*/ /* 函数功能: 输入字符串,只能输入规定的长度 /* 函数功能: 输入书籍价格,要求输入一位小数 /* 函数功能 :输入字符串,可以输入小于等规定的长度的字符串 /* 函数功能:通过数

5、组得到一个整形数据 /* 函数功能:通过数组得到一个学号 /*定义学生和书籍链表操作函数*/* 函数功能:查看回收站里的学生和书籍信息 /* 函数功能:输出学生链表中的信息 /* 函数功能:判断学号是否存在 /* 函数功能:查看一个学生信息 /* 函数功能:学生借书 /* 函数功能:学生还书 /* 函数功能:查看书籍编号是否存在和此书数目是否大于 0,如果两者都成立,则返回 1,证明可以借出 /* 函数功能:创建书籍链表 /* 函数功能:输出书籍链表中的书籍信息 /* 函数功能: 添加书籍信息到链表 -/* 函数功能:查找某一本书 /* 函数功能:修改信息(支持一次修改多个信息) /*定义回收

6、站操作函数*/ /* 函数功能:把书籍列表中的书籍放入回收站(一次可最多将 10 本书放入回收站) /* 函数功能:把学生列表中的学生信息放入回收站(一次可最多将 10 条信息放入回收站)/* 函数功能: 把回收站中的书籍还原到书籍链表( 一次只能还原一本) /* 函数功能: 把回收站中的学生还原到学生链表( 一次只能还原一位) /* 函数功能:一次性还原所有回收站中的书籍/* 函数功能:一次性还原所有回收站中的学生/* 函数功能:一次性删除回收站中的所有需要删除的学生信息/* 函数功能:一次性删除回收站中的所有需要删除的书籍信息/* 函数功能:查看回收站里的书籍 /* 函数功能:查看回收站里

7、的学生 /*定义文件操作函数*/ /* 函数功能:读取文件至学生链表/* 函数功能:读取文件至书籍链表 /* 函数功能:保存信息至书籍数据文件 /* 函数功能:保存信息至学生数据文件/*定义初始化系统环境函数*/ /* 函数功能:初始化书籍链表 /* 函数功能:初始化学生链表 /* 函数功能:使用磁盘上的数据文件初始化书籍链表/* 函数功能:使用磁盘上的数据文件初始化学生链表 /*系统入口,主函数*/ /* 函数功能:主函数/* 选择菜单操作项 系统运行截图 由于程序代码太长,不能在此博客上发布全部代码,所以只在此提供部分代码。需源代码共同学习的可以联系我。程序部分代码/*引用头文件与预处理*

8、/#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

9、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 *n

10、ext; /*指向下一位同学的指针*/Stu;/*定义界面显示函数*/* 函数功能:初始化图形环境*/void initgr(void)int gd=DETECT,gm;registerbgidriver(EGAVGA_driver); /*调用不需要驱动程序就能独立运行的可执行图形程序,避免 BGI Error: Graphics not initialized 错误.*/initgraph(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;jk)put

11、pixel(x+i*8+k,y+j,color);/* 函数功能:显示帮助信息*/int help() /*定义显示系统功能函数*/int i;char *advices=“The system functions as follows:“,“(1).Add|Change|delete books“,“(3).Built-in functions of the Recycle Bin;“,“(4).You can cut books“,“(5).In the Rcycle Bin you can delete them physically;“,“(6).Create a database o

12、f 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“);dela

13、y(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

14、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“,“ntt1

15、7.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;me26);return (hh);/* 函数功能:退出界面返回值:0*/int welcomback()int i;clrscr();printf(“nnnnnttt

16、Thanks for your using! nnntttMade by:HilarynntttQQ:87200291nntttBlog:“);printf(“nntttClass:Computer science printf(“nnntExiting the system.“);delay(110000);for(i=0;i9)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 inp

17、uted 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“

18、,p);l=strlen(p);for(i=0;i9|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(lco

19、unt|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

20、);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=in

21、itstudat(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; /*查看所有图书信息*/ca

22、se 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; /*恢复所以已注销学生*/cas

23、e 18:recoverbox_to_shelf(head);break; /*恢复已删图书*/case 19:recoverall_to_shelf(head);break; /*恢复所有已删图书*/case 20:head=empty_book_recoverbox(head);shead=empty_stu_recoverbox(shead);break;/*清空回收站*/*学生模块*/case 8:shead=s_init(shead);break; /*初始化学生链表*/case 10:s_search(shead);break; /*查看某个学生信息*/case 9:shead=s

24、_insert(shead);break; /*添加学生*/case 12:s_borrow(head,shead);break; /*学生借书*/case 11:s_print(shead);break; /*查看学生链表*/case 13:b_back(head,shead);break; /*学生还书*/case 14:stulist_to_recoverbox(shead);break; /*注销学生*/*文件操作模块*/case 21:head=datafile_to_booklist();break; /*读取文件至书籍链表*/case 22:booklist_to_datafil

25、e(head);break; /*保存书籍链表至文件*/case 23:shead=datafile_to_stulist();break; /*读取文件至学生链表*/case 24:stulist_to_datafile(shead);break; /*保存书籍链表至文件*/*退出系统*/case 25:printf(“nnntSave book list and student lish to data file?ntPress any key to skip, Press y or Y to continue!“);c=getch();if(c=y|c=Y) /*退出系统时提示是否保存数据到文件*/booklist_to_datafile(head);stulist_to_datafile(shead);welcomback();exit(0);系统运行截图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报