文档章节

C语言课程设计:图书管理系统_分享下载

tojsp_com
 tojsp_com
发布于 2010/08/25 12:51
字数 1223
阅读 1380
收藏 9
Dat

需要文件的请加企鹅号,  二四一五7072, Ado,由于时间原因,不是经常登录此账号。

        这个是一个课程设计后的成果,在大二时候学习C语言后做的第一个大程序,总计900行代码,有注释,提供下载,c语言课程设计图书管理系统,找不到的来这下载吧。
 
C代码
  1. /*************************  
  2. * 运行环境:vc6.0  
  3. *************************/  
  4.   
  5. #include <stdio.h> /*头文件名*/   
  6. #include <string.h>   
  7. #include <stdlib.h>   
  8. #define Max 3 /*定义最大借书权限(可更改)*/   
  9.   
  10. typedef struct book /*图书类型*/  
  11. {   
  12. char book_num[10];    
  13. char book_name[20];   
  14. int book_kc;   
  15. int book_xc;   
  16. struct book *next;   
  17. }BK;   
  18.   
  19. typedef struct borrow /*借书数目类型*/  
  20. {   
  21. char borrow_book_num[10];   
  22. }BO;   
  23.   
  24. typedef struct reader /*读者类型*/  
  25. {   
  26. char reader_num[10];   
  27. char reader_name[10];   
  28. int right;   
  29. BO borrow[Max]; /*嵌套借书数目类型*/  
  30. struct reader * next;   
  31. }RD;   
  32.   
  33. BK *h_book; /*图书指针*/  
  34. RD *h_reader; /*读者指针*/  
  35.   
  36. int Menu(); /*主菜单*/  
  37. void Menu_select(); /*主菜单选择函数*/  
  38. void Init(); /*初始化函数*/  
  39. void Init_reader(); /*初始化读者*/  
  40. void Init_book(); /*初始化图书*/  
  41. void Insert_New_Book(); /*增加新书*/  
  42. void Insert_New_Reader(); /*增加新读者*/  
  43. void del_old_book(); /*删除旧图书*/  
  44. void del_old_reader(); /*删除旧读者(就是已经不存在或毕业的同学)*/  
  45. void book_not_enough(); /*库存不足信息函数*/  
  46. int Find(); /*查找函数*/  
  47. void Find_Select(); /*查找选择菜单*/  
  48. void Find_Reader(); /*查找读者*/  
  49. void Find_Book(); /*查找图书*/    
  50. void Borrow_Book(); /*借书函数*/  
  51. void Return_Book(); /*还书函数*/  
  52. void about(); /*"关于系统的说明"函数*/  
  53. int Print(); /*打印函数*/  
  54. void Print_Select(); /*打印选择函数*/  
  55. void Print_book(); /*打印图书信息*/  
  56. void Print_reader(); /*打印读者信息*/  
  57. void Save(); /*保存信息函数*/  
  58. void Save_Reader(); /*保存读者信息*/  
  59. void Save_Book(); /*保存图书信息*/    
  60. void Load(); /*加载信息函数*/  
  61. void Load_Reader(); /*加载读者信息*/  
  62. void Load_Book(); /*加载图书信息*/  
  63.   
  64. int Menu()    
  65. { int sn;   
  66. printf("\n\t\t图书管理系统主菜单\n");   
  67. printf("=================================================\n");   
  68. printf("*\t0----退出系统 6----关于系统 \t*\n");   
  69. printf("*\t1----新书入库 7----旧书出库 \t*\n");   
  70. printf("*\t2----增新读者 8----删旧读者 \t*\n");   
  71. printf("*\t3----图书查询 9----输出全部信息\t*\n");   
  72. printf("*\t4----借书登记 10----库存不足图书\t*\n");   
  73. printf("*\t5----还书管理 11----保存当前信息\t*\n");   
  74. printf("=================================================\n");   
  75. printf("请选择相应代码:"); /*代码选择模式(下同)*/  
  76. for(;;)    
  77. { scanf("%d",&sn);    
  78. fflush(stdin);    
  79. if(sn<0||sn>11)   
  80. printf("\n错误!请重新输入:");   
  81. else break;   
  82. }   
  83. return sn;    
  84. }   
  85.   
  86. void Menu_select()   
  87. {   
  88. for(;;) /*循环调用模式,保证能进行重复操作(下同)*/  
  89. {   
  90. switch(Menu())   
  91. { case 0:   
  92. system("cls");   
  93. Save();   
  94. printf("\n\n\t文件保存成功!\n");    
  95. printf("\n\n\tGoodBye!\n");    
  96. getch();    
  97. exit(0);   
  98. case 1:Insert_New_Book();break; /*功能调用*/  
  99. case 2:Insert_New_Reader();break;   
  100. case 3:Find_Select();break;   
  101. case 4:Borrow_Book();break;   
  102. case 5:Return_Book();break;   
  103. case 6:about();break;   
  104. case 7:del_old_book();break;   
  105. case 8:del_old_reader();break;   
  106. case 9:Print_Select();break;   
  107. case 10:book_not_enough();break;   
  108. case 11:Save(); Load();   
  109. printf("\n文件保存成功!按任意键进行下步操作....");   
  110. getch(); system("cls");break;   
  111. default:printf("\n错误!");exit(0);   
  112. }   
  113. }   
  114. }   
  115.   
  116.   
  117. void Init() /*初始化*/  
  118. {    
  119. Init_reader();   
  120. Init_book();   
  121. }   
  122.   
  123. void Init_reader() /*初始化读者信息(从键盘输入一组数据)*/  
  124. {   
  125. RD *p0;   
  126. int i;   
  127. printf("\n读者初始化开始,请输入读者信息..\n包括编号.姓名..\n");   
  128. p0=(RD *)malloc(sizeof(RD));   
  129. h_reader=p0;   
  130. printf("\n请输入读者的信息:\n");   
  131. printf("ReaderNo.:"); /*输入读者编号(唯一)*/  
  132. scanf("%s",p0->reader_num);   
  133. printf("ReaderName:"); /*输入读者姓名(不唯一)*/  
  134. scanf("%s",p0->reader_name);   
  135. p0->right=0;   
  136. for(i=0;i<Max;i++)   
  137. strcpy(p0->borrow[i].borrow_book_num,"0");    
  138. /*所借图书直接置为0(即没有借书)*/  
  139. p0->next=NULL;   
  140. printf("\n读者信息初始化完毕!按任意键继续下一步操作..\n");    
  141. /*头接点建立完毕*/  
  142. getch();   
  143. system("cls");   
  144. }   
  145.   
  146. void Init_book() /*初始化图书信息(从键盘输入一组数据)*/  
  147. {   
  148. BK *p0;   
  149. printf("\n图书初始化开始,请输入图书信息..\n包括编号.书名.数量..\n");   
  150. p0=(BK *)malloc(sizeof(BK));   
  151. h_book=p0;   
  152. printf("\n请输入图书信息:\n");   
  153. printf("BookNo.:"); /*输入图书编号(唯一)*/  
  154. scanf("%s",p0->book_num);   
  155. printf("BookName:"); /*输入图书名称(不唯一)*/  
  156. scanf("%s",p0->book_name);   
  157. printf("Number:"); /*输入图书数量*/  
  158. scanf("%d",&p0->book_kc);   
  159. p0->book_xc=p0->book_kc; /*开始时图书现存量和库存量相等*/  
  160. p0->next=NULL;   
  161. printf("\n图书信息初始化完毕!按任意键继续下一步操作..\n");   
  162. getch();   
  163. system("cls");   
  164. }   
  165.   
  166. ................   
  167.   
  168. void main()    
  169. {   
  170. FILE *fp_book,*fp_reader;   
  171. if((fp_book=fopen("Book.dat","rb"))==NULL||(fp_reader=fopen("Reader.dat","rb"))==NULL)   
  172. {   
  173. about(); /*第一次启动系统,则进行初始化,否则进行加载*/  
  174. Init();   
  175. }   
  176. else  
  177. Load();   
  178.   
  179. Menu_select(); /*调用主菜单*/  
  180. }  

本程序绝对可以运行,此程序在代码总计900行,一程序设计大赛中得奖。如有需要原程序学习的朋友,可以留下你的邮箱,我会在第一时间将程序发到你邮箱(包括可执行文件)

© 著作权归作者所有

tojsp_com
粉丝 8
博文 14
码字总数 10888
作品 0
深圳
私信 提问
加载中

评论(24)

张遇安
张遇安
学长,我现在大一,我想学习一下,求分享1354833841@qq.com
梁立栋
475289883@qq.com
w
web_app
好多年了,还在吗,1569929568@qq.com
韩师爷
好多年了,不知道还找不找得到……
如果还在,感谢分享
821313314@qq.com
元哥很好
zqy19941022@163.com
有点弱
大神师傅,发下学习402372481@qq.com
iflee
iflee
740977620@qq.com 学习一下,谢谢
高岗
gg5673073@163.com
陌上阳明
学长,帮我发一份吧,现在大一很迷茫,532052921@qq.com,谢谢^_^
J
Junin
我想学习下,多谢分享:243558292@qq.com
C语言图书管理借阅系统——ncurses库的使用

一、前言 作为一只大四狗,最近还跟着大二同学修了一门课(当然不是之前没通过啦),课程是高级语言课程设计,高级语言指的是C语言 :),内容是做一个XX管理系统,我选择了图书管理系统,先介...

yangbodong22011
2017/12/28
0
0
C语言编程学习项目实战:图书管理系统

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/06/04
0
0
精品C语言学习资料-教你成为编程高手

亲爱的Down友: 您好!51CTO下载中心为梦想增值,诚邀您的关注! 51CTO下载中心致力于让down友分享技术幵让技术变现,让广大技术爱好者便捷、实惠 的获取优质学习资源。 为了方便大家的学习,...

51CTO下载
2013/12/13
0
0
自学0基础学C语言:C语言视频教程资料下载

C语言是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。作为计算机编程的基础语言,长期以来它一直是编程爱好者追捧而又比较难学的语言。C语言是一种计算机程序设计语言,它既...

一定听你
2017/06/07
0
0
求图书管理系统的c语言代码

因为在看一本叫21天学通C语言的书 最后一章的内容是图书管理系统,但是书中给的代码根本就编不出来,自己此时很想成功编出这个代码 求高手

君乐宝
2011/10/28
557
0

没有更多内容

加载失败,请刷新页面

加载更多

Knowage 6.2安装部署

注意:需要正确配置JAVA_HOME和JRE_HOME还有catalina_home,否则启动的时候tomcat一闪而过,想要获得报错信息,可以打开cmd,在dos命令行运行开始命令 官网:https://www.knowage-suite.com/s...

阿伦哥-
27分钟前
5
0
c++11 左值引用和右值引用

#include <iostream>using namespace std;void Print(string& s){ cout << s;}int main(){ string s="abc"; Print(s); // OK Print("abc"); // parse error......

SibylY
29分钟前
5
0
浅谈Facade外观模式

一、前言 外观模式是一种非常简单的模式,简单到我们经常都会使用,比如对于类A和B,如果两者需要交互,经过一定的处理过程才能实现某一个具体的功能,那么我们可以将这个处理的过程定义为一...

青衣霓裳
29分钟前
5
0
AnalyticDB for PostgreSQL 6.0 新特性介绍

阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。ADB PG通过行存储、列存...

Mr_zebra
31分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部