精华内容
下载资源
问答
  • VC图书销售管理系统

    2013-12-25 23:41:44
    VC++实现图书销售管理系统,含SQL Sever08数据库的备份还原功能,超赞
  • VC 图书管理进销存系统,MSSQL数据库,源码文档中包括数据字典,在登陆密码表中插入新记录,登陆用户名为员工代号,初始密码为888888;编译总系统的时候要把分系统的DLL文件拷贝到主程序的目录下,如果您使用默认的...
  • 摘要:VC/C++源码,数据库应用,图书管理 图书管理系统源码,VC+Access,包括图书借阅管理,程序使用Access数据库,主要是三大模块的功能:一是图书基本资料维护,二是图书的日常维护管理,三是查询管理图书信息。...
  • 基于VC6.0 的MFC框架开发的图书管理系统,可进行图书借阅管理,图书入库出库等功能
  • VC6.0图书管理系统(课设)开源欢迎讨论-附件资源
  • VC6.0做的图书管理系统,使用输入输出,输出基本表格,基本录入图书信息。
  • 比较简单的图书管理系统的源代码,可以在vc6.0中运行。
  • vc编写的图书管理系统,系统结构清晰 可随需要添加页面功能 使用方便 用简单数据库记录登陆人资料
  • 图书管理系统 二、课程设计内容及要求 (1)、设计一个图书管理系统,能够实现用户信息管理,图书信息的录入、查询、删除等功能。 (2)、实现用户管理,系统具有用户注册功能。管理员的账号和密码由系统指定,...
    • 一、课程设计题目

    图书管理系统

    • 二、课程设计内容及要求

    (1)、设计一个图书管理系统,能够实现用户信息管理,图书信息的录入、查询、删除等功能。

    (2)、实现用户管理,系统具有用户注册功能。管理员的账号和密码由系统指定,登录后可进行修改。一般用户注册后才能登录使用系统。管理员具有录入、查询、删除图书信息及一般用户的功能。一般用户只有图书查询功能。

    (3)、登录功能,只有注册了的用户才能进入系统,没有注册的则有提示信息出现。

    (4)、图书管理功能,管理员能够录入、查询、删除图书信息。

    (5)、图书查询功能,管理员及一般用户能够通过图书的基本信息,如图书作者、书名、出版社、出版日期等等,进行查询。

    • 三、设计内容及设计思路

    使用mfc设计

    • 1.   先分成登陆界面管理员读者三个模块,在vc 6.0中绘制所有的窗口;

      2.   实现最基本的按钮功能,如跳转,销毁窗口;

      3.   编程实现登陆界面的功能,实现方法是在设置好的文件txt中读取数据,与Edit进行比较,如匹配就打开新窗口;

      4.   编程实现管理员模块,先写管理员的图书管理功能。录入数据:用read读txt中的数据,录入进一个类公有数组。查找:把Edit和数组中的数据进行比较。删除:把Edit和数组匹配,如果不匹配则重新写写入文件,如果匹配,则此元素不重新写入文件。所有图书:调用控件弹出窗口呈现书单。

      5.   编程实现读者模块。里面的功能实现方式与管理员类似。

      6.   添加一些细节,比如忘记密码,找回密码;

    • 四、课程设计实验结果
    •  

    这个实现的办法其实超级简单,主要是不停地用文件流读文件,但是因为功能如果有新意的地方就是对Format的控件的使用,建议大家可以思考一下怎么传递消息,或者使用控件(TabCtrl之类的) 增加新意。记住:点击所有图书按钮和所有读者按钮前都先要点击录入数据按钮

    源代码网盘下载链接:

    链接:https://pan.baidu.com/s/1UWEaDquglhquhudAoDNqkQ 
    提取码:odjk 

    ps:纯mfc实现的,无任何插件,VC6.0打开;标注转载是因为有一部分参考课设老师曹老师写的,十分感谢他。

    展开全文
  • VC实现一个简单的图书管理系统,基于借书,还书,基础资料管理等功能。
  • vc+sql数据库程序(图书管理系统vc+sql数据库程序(图书管理系统vc+sql数据库程序(图书管理系统
  • VC SQL版图书出租借阅管理系统,是为地质大学图书馆写的系统,当然只是练手的,或许还有很多功能有待完善。目前为止,这套图片借阅系统可实现借阅登记、借阅管理、还书登记、图书资料维护、员工人员管理等等。所使用...
  • VC6.0+ACCESS图书管理系统源代码

    热门讨论 2011-07-24 10:49:28
    数据库作业,ACCESS+VC6.0。 登陆账号密码在ACCESS数据中,打开数据库就能看到,没密码。只能再WIN7运行,因为时间格式的问题。。
  • 绝对原创!这是自己做的课程设计项目,用VC中的MFC做的,数据库是Access,其中包含数据的链接方式说明。不足之处是有部分功能未能实现。文件包含全部源代码!
  • 学校图书管理系统

    2012-11-21 08:53:25
    学校图书管理系统 vc c++
  • 【实例简介】mfc 图书管理系统 数据库 SQLServer 源码 直接可以用的 用VC6.0开发的【实例截图】【核心代码】图书管理系统└── 06├── Database│ ├── BookManage_Data.MDF│ └── BookManage_Log.LDF├──...

    【实例简介】

    mfc 图书管理系统 数据库 SQLServer 源码 直接可以用的 用VC6.0开发的

    【实例截图】

    【核心代码】

    图书管理系统

    └── 06

    ├── Database

    │   ├── BookManage_Data.MDF

    │   └── BookManage_Log.LDF

    ├── readme.doc

    └── 源程序

    ├── bbb.aps

    ├── bbb.clw

    ├── bbb.cpp

    ├── bbbDlg.cpp

    ├── bbbDlg.cpp.bak

    ├── bbbDlg.h

    ├── bbb.dsp

    ├── bbb.dsw

    ├── bbb.h

    ├── bbb.ncb

    ├── bbb.opt

    ├── bbb.plg

    ├── bbb.rc

    ├── bbb.rc.bak

    ├── CustomGrid.cpp

    ├── CustomGrid.h

    ├── D.cpp

    ├── Debug

    │   ├── bbb.bsc

    │   ├── bbbDlg.obj

    │   ├── bbbDlg.sbr

    │   ├── bbb.exe

    │   ├── bbb.ilk

    │   ├── bbb.obj

    │   ├── bbb.pch

    │   ├── bbb.pdb

    │   ├── bbb.res

    │   ├── bbb.sbr

    │   ├── CustomGrid.obj

    │   ├── DlgBaseInfoM.obj

    │   ├── DlgBaseInfoM.sbr

    │   ├── DlgBookAdjust2.obj

    │   ├── DlgBookAdjust2.sbr

    │   ├── DlgBookAdjustPrice2.obj

    │   ├── DlgBookAdjustPrice2.sbr

    │   ├── DlgBookInfo1.obj

    │   ├── DlgBookInfo1.sbr

    │   ├── DlgBookInput2.obj

    │   ├── DlgBookInput2.sbr

    │   ├── DlgBookKinds1.obj

    │   ├── DlgBookKinds1.sbr

    │   ├── DlgBookPrice2.obj

    │   ├── DlgBookPrice2.sbr

    │   ├── DlgBookSale2.obj

    │   ├── DlgBookSale2.sbr

    │   ├── DlgConfigM.obj

    │   ├── DlgConfigM.sbr

    │   ├── DlgDeskInfo1.obj

    │   ├── DlgDeskInfo1.sbr

    │   ├── DlgInputBack2.obj

    │   ├── DlgInputBack2.sbr

    │   ├── DlgInputBackQuery3.obj

    │   ├── DlgInputBackQuery3.sbr

    │   ├── DlgInputQuery31.obj

    │   ├── DlgInputQuery3.obj

    │   ├── DlgInputQuery3.sbr

    │   ├── DlgLogin.obj

    │   ├── DlgLogin.sbr

    │   ├── DlgOperator1.obj

    │   ├── DlgOperator1.sbr

    │   ├── DlgProviderInfo1.obj

    │   ├── DlgProviderInfo1.sbr

    │   ├── DlgQueryM.obj

    │   ├── DlgQueryM.sbr

    │   ├── DlgSaleBack2.obj

    │   ├── DlgSaleBack2.sbr

    │   ├── DlgSaleBackQuery3.obj

    │   ├── DlgSaleBackQuery3.sbr

    │   ├── DlgSaleQuery3.obj

    │   ├── DlgSaleQuery3.sbr

    │   ├── DlgStoreInfo1.obj

    │   ├── DlgStoreInfo1.sbr

    │   ├── DlgStoreInfoM.obj

    │   ├── DlgStoreInfoM.sbr

    │   ├── KeyEdit.obj

    │   ├── Login.ini

    │   ├── msado15.tlh

    │   ├── msado15.tli

    │   ├── MyCoolMenu.obj

    │   ├── MyCoolMenu.sbr

    │   ├── PrintDoc.obj

    │   ├── PrintFram.obj

    │   ├── PrintView.obj

    │   ├── Report.obj

    │   ├── StdAfx.obj

    │   ├── StdAfx.sbr

    │   ├── TabSheet.obj

    │   ├── TabSheet.sbr

    │   ├── vc60.idb

    │   └── vc60.pdb

    ├── DlgBookAdjust2.cpp

    ├── DlgBookAdjust2.h

    ├── DlgBookAdjustPrice2.cpp

    ├── DlgBookAdjustPrice2.h

    ├── DlgBookInfo1.cpp

    ├── DlgBookInfo1.h

    ├── DlgBookInput2.cpp

    ├── DlgBookInput2.h

    ├── DlgBookKinds1.cpp

    ├── DlgBookKinds1.h

    ├── DlgBookPrice2.cpp

    ├── DlgBookPrice2.h

    ├── DlgBookSale2.cpp

    ├── DlgBookSale2.h

    ├── DlgConfigM.cpp

    ├── DlgConfigM.h

    ├── DlgDeskInfo1.cpp

    ├── DlgDeskInfo1.h

    ├── DlgInputBack2.cpp

    ├── DlgInputBack2.h

    ├── DlgInputBackQuery3.cpp

    ├── DlgInputBackQuery3.h

    ├── DlgInputQuery3.cpp

    ├── DlgInputQuery3.h

    ├── DlgLogin.cpp

    ├── DlgLogin.h

    ├── DlgOperator1.cpp

    ├── DlgOperator1.h

    ├── DlgProviderInfo1.cpp

    ├── DlgProviderInfo1.h

    ├── DlgSaleBack2.cpp

    ├── DlgSaleBack2.h

    ├── DlgSaleBackQuery3.cpp

    ├── DlgSaleBackQuery3.h

    ├── DlgSaleQuery3.cpp

    ├── DlgSaleQuery3.h

    ├── DlgStoreInfo1.cpp

    ├── DlgStoreInfo1.h

    ├── KeyEdit.cpp

    ├── KeyEdit.h

    ├── msado15.tlh

    ├── msado15.tli

    ├── mssccprj.scc

    ├── MyCoolMenu.cpp

    ├── MyCoolMenu.h

    ├── PrintDoc.cpp

    ├── PrintDoc.h

    ├── PrintFram.cpp

    ├── PrintFram.h

    ├── PrintView.cpp

    ├── PrintView.h

    ├── pub.h

    ├── ReadMe.txt

    ├── Release

    │   ├── bbb.bsc

    │   ├── bbbDlg.obj

    │   ├── bbbDlg.sbr

    │   ├── bbb.exe

    │   ├── bbb.obj

    │   ├── bbb.pch

    │   ├── bbb.res

    │   ├── bbb.sbr

    │   ├── CustomGrid.obj

    │   ├── CustomGrid.sbr

    │   ├── DlgBaseInfoM.obj

    │   ├── DlgBaseInfoM.sbr

    │   ├── DlgBookAdjust2.obj

    │   ├── DlgBookAdjust2.sbr

    │   ├── DlgBookAdjustPrice2.obj

    │   ├── DlgBookAdjustPrice2.sbr

    │   ├── DlgBookInfo1.obj

    │   ├── DlgBookInfo1.sbr

    │   ├── DlgBookInput2.obj

    │   ├── DlgBookInput2.sbr

    │   ├── DlgBookKinds1.obj

    │   ├── DlgBookKinds1.sbr

    │   ├── DlgBookPrice2.obj

    │   ├── DlgBookPrice2.sbr

    │   ├── DlgBookSale2.obj

    │   ├── DlgBookSale2.sbr

    │   ├── DlgConfigM.obj

    │   ├── DlgConfigM.sbr

    │   ├── DlgDeskInfo1.obj

    │   ├── DlgDeskInfo1.sbr

    │   ├── DlgInputBack2.obj

    │   ├── DlgInputBack2.sbr

    │   ├── DlgInputBackQuery3.obj

    │   ├── DlgInputBackQuery3.sbr

    │   ├── DlgInputQuery3.obj

    │   ├── DlgInputQuery3.sbr

    │   ├── DlgLogin.obj

    │   ├── DlgLogin.sbr

    │   ├── DlgOperator1.obj

    │   ├── DlgOperator1.sbr

    │   ├── DlgProviderInfo1.obj

    │   ├── DlgProviderInfo1.sbr

    │   ├── DlgQueryM.obj

    │   ├── DlgQueryM.sbr

    │   ├── DlgSaleBack2.obj

    │   ├── DlgSaleBack2.sbr

    │   ├── DlgSaleBackQuery3.obj

    │   ├── DlgSaleBackQuery3.sbr

    │   ├── DlgSaleQuery3.obj

    │   ├── DlgSaleQuery3.sbr

    │   ├── DlgStoreInfo1.obj

    │   ├── DlgStoreInfo1.sbr

    │   ├── DlgStoreInfoM.obj

    │   ├── DlgStoreInfoM.sbr

    │   ├── KeyEdit.obj

    │   ├── KeyEdit.sbr

    │   ├── Login.ini

    │   ├── msado15.tlh

    │   ├── msado15.tli

    │   ├── MyCoolMenu.obj

    │   ├── MyCoolMenu.sbr

    │   ├── PrintDoc.obj

    │   ├── PrintDoc.sbr

    │   ├── PrintFram.obj

    │   ├── PrintFram.sbr

    │   ├── PrintView.obj

    │   ├── PrintView.sbr

    │   ├── Report.obj

    │   ├── Report.sbr

    │   ├── StdAfx.obj

    │   ├── StdAfx.sbr

    │   ├── TabSheet.obj

    │   ├── TabSheet.sbr

    │   └── vc60.idb

    ├── Report.cpp

    ├── Report.h

    ├── res

    │   ├── 1-1-1.bmp

    │   ├── 1-1-2.bmp

    │   ├── 1-1-3.bmp

    │   ├── 1-1-4.bmp

    │   ├── 1-4.bmp

    │   ├── 1.bmp

    │   ├── 2.bmp

    │   ├── 3.bmp

    │   ├── 4.bmp

    │   ├── a1.bmp

    │   ├── aaa.bmp

    │   ├── aa.bmp

    │   ├── a.bmp

    │   ├── ADD.ICO

    │   ├── b1.bmp

    │   ├── BaseInfo.ico

    │   ├── bbb.ico

    │   ├── bb.bmp

    │   ├── bbb.rc2

    │   ├── b.bmp

    │   ├── b.bmp 副本 拷贝.bmp

    │   ├── bj.bmp

    │   ├── c1.bmp

    │   ├── clipboard02.ico

    │   ├── d1.bmp

    │   ├── DEL.ICO

    │   ├── DE图书管理系统主界面2.bmp

    │   ├── end.ico

    │   ├── FindInfo.ico

    │   ├── first.ico

    │   ├── folder users.ico

    │   ├── icon14.ico

    │   ├── icon2.ico

    │   ├── InputStore.ico

    │   ├── Left6_32x32x256.ico

    │   ├── mainfram.bmp

    │   ├── MessageMode.ico

    │   ├── MODFY.ico

    │   ├── MsgNoRead.ico

    │   ├── QUERY.ICO

    │   ├── Recycle.ico

    │   ├── Recycle Red.ico

    │   ├── Right6_32x32x256.ico

    │   ├── Shut Down.ico

    │   ├── Thumbs.db

    │   ├── toolbar1.bmp

    │   ├── toolbar2.bmp

    │   ├── 图片2.bmp

    │   ├── 按钮-1 拷贝.bmp

    │   ├── 按钮-2 拷贝.bmp

    │   ├── 按钮-3 拷贝.bmp

    │   ├── 按钮-4 拷贝.bmp

    │   └── 资产设备管理系统主界面.bmp

    ├── resource.h

    ├── resource.hm

    ├── SkinPlusPlus.h

    ├── StdAfx.cpp

    ├── StdAfx.h

    ├── TabSheet.cpp

    ├── TabSheet.h

    └── vssver.scc

    6 directories, 282 files

    展开全文
  • 图书管理系统论文

    2014-12-05 17:01:43
    运用vc进行设计编程的图书管理系统文档。
  • (1) 可以实现图书的登记、借阅和赔偿的管理。  (2) 可以实现对图书的各种信息的查询,包括逐个浏览,以及对图书信息的增加、删除和编辑操作。另外,可以根据输入的信息来检索某个图书的信息。  (3) 可以实现对...
  • 内容索引:VC/C++源码,数据库应用,图书管理系统源码 一个早期开发的VC++图书管理系统完整版,大致测试了一下,运行正常,需要的DLL文件源码爱好者已整合进压缩包。这个图书系统可以完成用户资料管理,图书资料管理,...
  • 图书管理系统经典源码大全资源目录:【】29【】53图书管理系统源码(ExtJs struts2 hibernate spring)【】59Extjs struts2 hibernate做的一个简单的图书管理系统(源代码)【】701234用VC 6.0写的图书管理系统源码...
  • C语言课程设计-图书管理系统

    万次阅读 多人点赞 2018-03-27 22:05:41
    实训项目名称:图书管理系统的设计与实现 1.实训目的 开发一个小型的图书管理应用软件,使用该软件可以实现图书信息的登记、浏览、借书、还书、删除和更新等操作。通过该系统的实现可以了解C++连接数据库的原理和...

    实训项目名称:图书管理系统的设计与实现

    1.实训目的

    开发一个小型的图书管理应用软件,使用该软件可以实现图书信息的登记、浏览、借书、还书、删除和更新等操作。通过该系统的实现可以了解C++连接数据库的原理和技术,掌握VC界面的设计方法。

    2.实训要求

    (1)选择适当的程序开发语言(建议用C或C++)和数据库系统,完成实训内容。

    (2)程序能够正常运行,运算结果正确,满足设计要求。

    3.功能描述

    该图书管理系统主要包含以下基本功能:

    (1)图书基本信息:书号ISBN,书名,出版社,出版日期,作者,价格等。

    (2)图书类别信息:可分为科学技术、语言文学、政治经济、历史地理、意识形态和艺术等类别,每个类别有不同的类别代码。

    (3)图书出售信息:图书出售日期、出售价格、出售数量。

    4.总体设计

     

    图书管理系统主要由图书信息、借阅系统和退出系统组成,如图所示。各模块功能如下:

    1. 建立菜单界面。进入功能必须打开菜单,然后用户根据菜单选择相应的操作方式,

     

    “图书信息”模块包含对图书的操作,增加图书、删除图书以及图书查询、库存浏览等功能,“增加图书”功能中需要依次输入书号、书名、作者、出版社、类别、进库量、单价,“图书查询”功能是按书名、书号、作者、图书分类查询,只要输入其中任一条件即可查询。


    2.“图书借阅”模块由借书登记、还书登记和借阅情况模块构成,在“借书登记”中管理员对借出的图书进行登记,需要进行对证号、姓名、归还日期、借书书名进行登记,图书库中

    这本书的库存减少,而读者在归还图书的图书库中这本书库存增加。图书管理借阅系统相当于图书管理人员日常的管理工作,即图书借阅、归还等登记工作。

     

    3.退出系统。

    5. 程序实现及相关描述

    
    struct library { //图书馆结构体
    	int xcl;//库存
    
    	float price;//单价
    
    	char name[20],author[20],chuban[20],kind[20],shuhao[20];
    
    	struct library *next;
    
    };
    
    struct reader { //读者结构体
    
    	int zhenghao;
    
    	char mingzi[20],riqi[20],zname[20];
    
    	struct reader *next;
    
    };
    
    void mainmenu()//主菜单
    
    {
    	system ("cls");
    
    	printf("**************************************************");
    
    	printf("\n\n 1.图书信息\n\n");
    
    	printf("\n\n 2.借阅系统\n\n");
    
    	printf("\n\n 3.退出系统\n\n");
    
    	printf("\n\n 请按键选择,回车确定\n");
    
    	printf("*************************************************\n");
    
    	return ;
    
    }
    
    void menu1() //显示图书馆信息菜单
    
    {
    	system ("cls");
    
    	printf("****************************************************");
    
    	printf("\n 1.增加图书\n\n");
    
    	printf("\n 2.删除图书\n\n");
    
    	printf("\n 3.图书查询\n\n");
    
    	printf("\n 4.库存浏览\n\n");
    
    	printf("\n 5.返回上一层\n\n");
    
    	printf("\n 请按键选择,回车确定\n");
    
    	printf("***************************************************\n");
    
    	return ;
    
    }
    
    void menu2() //显示查询菜单
    
    {
    	system ("cls");
    
    	printf("请输入书号,书名,作者或类别查询:\n");
    
    	printf("类别(科学技术 语言文学 政治经济 历史地理 意识形态 艺术)\n\n");
    
    	return ;
    
    }
    
    void main1()//main1函数
    
    {
    	void tsgxx();//声明
    
    	void jieshuxitong();//声明
    
    	char choose;
    
    	mainmenu();
    
    	scanf("%c",&choose);
    
    	switch(choose)//功能函数选择
    
    	{
    		case '1':
    
    			????tsgxx();
    
    			break;
    
    		case '2':
    
    			????jieshuxitong();
    
    			break;
    
    		case '3':
    
    			????system ("cls");
    
    			getch();
    
    			exit(0);
    
    			system ("cls");
    
    			break;
    
    	}
    }
    
    void tsgxx()//图书馆信息函数
    
    {
    	void tsjinku();
    
    	void shanchu();
    
    	void chaxunts();
    
    	void xianshikucun();//函数声明
    
    	char choose;
    
    	menu1();
    
    	scanf("%c",&choose);
    
    	scanf("%c",&choose);
    
    	for (;;)
    
    		switch(choose)
    
    		{
    			case '1':
    
    				????tsjinku();
    
    				????break;
    
    			case '2':
    
    				????shanchu();
    
    				????break;
    
    			case '3':
    
    				????chaxunts();
    
    				????break;
    
    			case '4':
    
    				????xianshikucun();
    
    				????break;
    
    			case '5':
    
    				????main1();
    
    				????break;
    
    		}
    }
    
    int tjzs()//统计文本个数函数
    
    {
    	FILE *fp;
    
    	int txcl=0,n;
    
    	float tprice=0;
    
    	char tname[20]= {'\0'},tauthor[20]= {'\0'},tchuban[20]= {'\0'},tkind[20]= {'\0'},tshuhao[20]= {'\0'};
    
    	fp=fopen("library.txt","r");//打开文件
    
    	for (n=0; !feof(fp); n++) //逐个读文件
    
    		fscanf(fp,"%s%s%s%s%s%d%f",tshuhao,tname,tauthor,tchuban,tkind,&txcl,&tprice);
    
    	n--;
    
    	fclose(fp);//关闭文件
    
    	return (n);//返回个数
    
    }
    
    int tjdzzs()//统计文本个数函数
    
    {
    	FILE *fp;
    
    	int zhenghao=0,n;
    
    	char mingzi[20]= {'\0'},riqi[20]= {'\0'},zname[20]= {'\0'};
    
    	fp=fopen("reader.txt","r");//打开文件
    
    	for (n=0; !feof(fp); n++) //逐个读文件
    
    		fscanf(fp,"%d%s%s%s ",&zhenghao,&mingzi,&riqi,&zname);
    
    	fclose(fp);//关闭文件
    
    	return (n);//返回个数
    
    }
    
    void tsjinku()//图书进库函数
    
    {
    	FILE *fp;
    
    	int xcl=0,n=0;
    
    	float price=0;
    
    	char name[20]= {'\0'},author[20]= {'\0'},kind[20]= {'\0'},chuban[20]= {'\0'},shuhao[20]= {'\0'};
    
    	char hitkey;
    
    	system ("cls");
    
    	if ((fp=fopen("library.txt","r"))==NULL)//打开图书馆文件,不存在此文件则新建
    
    	{
    		fp=fopen("library.txt","w");
    
    		fclose(fp);
    
    	}
    
    	fp=fopen("library.txt","a");
    
    	printf("\n请按以下格式输入图书信息:\n书号 书名 作者 出版社 类别 进库量 单价");
    
    	printf("\n(类别(科学技术 语言文学 政治经济 历史地理 意识形态 艺术))\n");
    
    	for (; hitkey!=27;) //循环输入
    
    	{
    		if (n!=0)
    
    			printf("请输入:");
    
    		scanf("%s%s%s%s%s%d%f",shuhao,name,author,chuban,kind,&xcl,&price);
    
    		fprintf(fp,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",shuhao,name,author,chuban,kind,xcl,price);
    
    		printf("继续输入请按回车,结束输入请按Esc\n");
    
    		n++;
    
    		hitkey=getch();
    
    		for (; hitkey!=13&&hitkey!=27;)
    
    			hitkey=getch();
    
    	}
    
    	fclose(fp);
    
    	printf("\n保存成功,按任意键返回上一层!");
    
    	getch();
    
    	tsgxx();//返回上一层
    
    }
    
    void shanchu()//删除图书信息
    
    {
    	struct library *head=NULL;
    
    	struct library *p,*p1,*p2;
    
    	int txcl=0,n=0,j,i;
    
    	float tprice=0;
    
    	char tname[20]= {'\0'},tauthor[20]= {'\0'},tchuban[20]= {'\0'},tkind[20]= {'\0'},ttname[20]= {'\0'},tshuhao[20]= {'\0'};
    
    	char hitkey;
    
    	FILE *fp;
    
    	if ((fp=fopen("library.txt","r"))==NULL)//打开文件
    
    	{
    		system ("cls");
    
    		printf("\n记录文件不存在!按任意键返回");
    
    		getch();
    
    		tsgxx();
    
    	}
    
    	else
    
    	{
    		system ("cls");
    
    		printf("\n请输入你要删除的书名:");//输入删除图书书名
    
    		scanf("%s",&ttname);
    
    		printf("\n确认删除请回车,取消请按Esc\n");
    
    		hitkey=getch();
    
    		for(; hitkey!=13&&hitkey!=27;)
    
    			hitkey=getch();
    
    		if (hitkey==27)
    
    			tsgxx();
    
    		fp=fopen("library.txt","r");
    
    		for (j=0; !feof(fp);) //读文件夹信息,统计个数
    
    		{
    			j++;
    
    			fscanf(fp,"%s%s%s%s%s%d%f",tshuhao,tname,tauthor,tchuban,tkind,&txcl,&tprice);
    		}
    
    		fclose(fp);
    
    		fp=fopen("library.txt","r");
    
    		for (i=1; i<j; i++)
    
    		{
    			fscanf(fp,"%s%s%s%s%s%d%f",tshuhao,tname,tauthor,tchuban,tkind,&txcl,&tprice);
    
    			if (strcmp(ttname,tname))//比较名字,将不同名字的信息复制到链表
    
    			{
    				n++;
    
    				if (n==1)//建立链表
    
    				{
    					p1=p2=(struct library*)malloc(LEN);
    
    					head=p1;
    				}
    
    				else
    
    				{
    					p2->next=p1;
    
    					p2=p1;
    
    					p1=(struct library*)malloc(LEN);//新建链表
    
    				}
    
    				strcpy(p1->shuhao,tshuhao);//复制书号
    
    				strcpy(p1->name,tname);//复制书名
    
    				strcpy(p1->author,tauthor);//复制作者名字
    
    				strcpy(p1->chuban,tchuban);//复制出版社
    
    				strcpy(p1->kind,tkind);//复制类别
    
    				p1->xcl=txcl;//复制个数
    
    				p1->price=tprice;//复制单价
    
    			}
    		}
    
    		if (n==0)
    
    		{
    			head=NULL;
    		}
    
    		else
    
    		{
    
    			p2->next=p1;
    
    			p1->next=NULL;
    
    			fclose(fp);
    
    		}
    	}
    
    	fp=fopen("library.txt","w");//清空文件
    
    	fclose(fp);
    
    	fp=fopen("library.txt","a");//追加文件
    
    	p=head;
    
    	for (; p!=NULL;) //把链表内容覆盖到文件
    
    	{
    
    		fprintf(fp,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",p->shuhao,p->name,p->author,p->chuban,p->kind,p->xcl,p->price);
    
    		p=p->next;
    
    	}
    
    	fclose(fp);//关闭文件
    
    	system ("cls");
    
    	printf("\n删除成功 \n按任意键返回上一层\n");
    
    	getch();//返回上一层
    
    	tsgxx();
    
    }
    
    void chaxunts()//查询函数
    
    {
    
    	FILE *fp;
    
    	char choose;
    
    	int txcl=0,n=0,k=0,i,l;
    
    	float tprice=0;
    
    	char tname[20]= {'\0'},tauthor[20]= {'\0'},chazhao[20]= {'\0'},tchuban[20]= {'\0'},
    
    	                                    tshuhao[20]= {'\0'},tkind[20]= {'\0'};
    
    	if ((fp=fopen("library.txt","r"))==NULL)//打开文件
    
    	{
    		system ("cls");
    
    		printf("\n记录文件不存在!按任意键返回");
    
    		getch();
    
    		tsgxx();
    
    	}
    
    	l=tjzs();//获得文件个数
    
    	menu2();//调用菜单函数
    
    	scanf("%s",chazhao);
    
    	system ("cls");
    
    	for (i=0; i<l; i++)
    
    	{
    		fscanf(fp,"%s%s%s%s%s%d%f",tshuhao,tname,tauthor,tchuban,tkind,&txcl,&tprice);//读文件信息
    
    		if(!strcmp(chazhao,tshuhao)||!strcmp(chazhao,tname)||!strcmp(chazhao,tauthor)||!strcmp(chazhao,tkind))//输出查询信息
    
    		{
    			if (k==0)
    
    			{
    
    				printf("查询结果:\n\n");
    
    				printf("书号\t书名\t作者\t\t出版社\t\t类别\t\t现存量\t单价\n");
    
    			}
    
    			printf("%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",tshuhao,tname,tauthor,tchuban,tkind,txcl,tprice);
    
    			k++;
    
    		}
    	}
    
    	if (k==0)//文件夹为空则输出无记录
    
    	{
    		system ("cls");
    
    		printf("\n无符合记录!\n");
    
    		getch();
    
    		tsgxx();
    
    	}
    
    	fclose(fp);
    
    	getch();//返回
    
    	tsgxx();
    
    }
    
    void xianshikucun()//现实库存信息
    
    {
    
    	FILE *fp;
    
    	int xcl=0,n=0,i=0,j=0;
    
    	float price=0;
    
    	char name[20]= {'\0'},author[20]= {'\0'},kind[20]= {'\0'},chuban[20]= {'\0'},shuhao[20]= {'\0'};
    
    	if ((fp=fopen("library.txt","r"))==NULL)//打开文件夹
    
    	{
    
    		system ("cls");
    
    		printf("\n记录文件不存在!");
    
    	}
    
    	n= tjzs();
    
    	if (n==0)
    
    	{
    		system ("cls");
    
    		printf("\n无任何记录!");
    
    	}
    
    	fp=fopen("library.txt","r");//打开只读文件
    
    	system ("cls");
    
    	printf("书号\t书名\t作者\t\t出版社\t\t类别\t\t库存量\t单价\n");
    
    	for (i=0; i<n; i++) //输出信息
    
    	{
    
    		fscanf(fp,"%s%s%s%s%s%d%f",shuhao,name,author,chuban,kind,&xcl,&price);
    
    		printf("%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",shuhao,name,author,chuban,kind,xcl,price);
    
    	}
    
    	fclose(fp);
    
    	printf("\n按任意键返回\n");
    
    	getch();//返回
    
    	tsgxx();
    
    }
    
    void menu3() //显示借书系统主菜单
    
    {
    	system ("cls");
    
    	printf("*****************************************************");
    
    	printf("\n\n 1.借书登记\n\n");
    
    	printf("\n\n 2.还书登记\n\n");
    
    	printf("\n\n 3.借阅情况查看\n\n");
    
    	printf("\n\n 4.返回上一层\n\n");
    
    	printf("\n\n 请按键选择,回车确定\n");
    
    	printf("****************************************************");
    
    	return ;
    
    }
    
    void jieshuxitong()//借书系统函数
    
    {
    	void jieshu();
    
    	void huanshu();
    
    	void duzheyilang();//函数声明
    
    	char choose;
    
    	menu3();
    
    	scanf("%c",&choose);
    
    	scanf("%c",&choose);//选择功能
    
    	for (;;)
    
    		switch(choose)//调用函数
    
    		{
    			case '1':
    				jieshu();
    				break;
    
    			case '2':
    				huanshu();
    				break;
    
    			case '3':
    				duzheyilang();
    				break;
    
    			case '4':
    				main1();
    				break;
    
    		}
    }
    
    void jieshu()//借书函数
    
    {
    
    	FILE *fp,*fp3;
    
    	struct library *head=NULL;
    
    	struct library *p,*p1,*p2;
    
    	int txcl=0,i,loop,zhenghao=0,n=0,k=0,t=0,flag=0;
    
    	float tprice=0;
    
    	char tname[20]= {'\0'},tauthor[20]= {'\0'},tchuban[20]= {'\0'},tkind[20]= {'\0'},tshuhao[20]= {'\0'},
    
    	                                    ttname[20]= {'\0'},mingzi[20]= {'\0'},riqi[20]= {'\0'},zname[20]= {'\0'};
    
    	char hitkey=0;
    
    	system ("cls");
    
    	{
    
    		if ((fp=fopen("library.txt","r"))==NULL)//打开图书馆文件
    
    		{
    
    			system ("cls");
    
    			printf("\n 图书馆无库存!按任意键退出!");
    
    			getch();
    
    			exit (0);
    
    		}
    
    		else {
    			{
    
    				printf("\n请输入借阅书名:\n请输入:");//输入书名
    
    				scanf("%s",zname);
    
    				k= tjzs();//统计图书馆文件个数
    
    				for (i=0; i<k; i++) //读入图书馆信息,存储到链表
    
    				{
    
    					fscanf(fp,"%s%s%s%s%s%d%f",tshuhao,tname,tauthor,tchuban,tkind,&txcl,&tprice);
    
    					n++;
    
    					if (n==1)
    
    					{
    						p1=p2=(struct library*)malloc(LEN);
    
    						head=p1;
    
    					}
    
    					else
    
    					{
    						p2->next=p1;
    
    						p2=p1;
    
    						p1=(struct library*)malloc(LEN);//新建链表
    
    					}
    
    					strcpy(p1->shuhao,tshuhao);//复制书号
    
    					strcpy(p1->name,tname);//复制书名
    
    					strcpy(p1->author,tauthor);//复制作者
    
    					strcpy(p1->chuban,tchuban);//复制出版社
    
    					strcpy(p1->kind,tkind);//复制类别
    
    					p1->xcl=txcl;//复制现存量
    
    					p1->price=tprice;//复制单价
    
    				}
    
    				if (n==0)
    
    					head=NULL;
    
    				else
    
    				{
    
    					p2->next=p1;
    
    					p1->next=NULL;
    
    					fclose(fp);
    
    				}
    			}
    		}
    
    		p=head;
    
    		for (; p!=NULL;) //读链表
    
    		{
    
    			if(!(strcmp(p->name,zname)))//名字相同
    
    			{
    				flag=1;//标记取1
    
    				loop=p->xcl;//现存量减1
    
    				(p->xcl)--;
    			}
    
    			p=p->next;
    
    		}
    
    		if(flag&&(loop>0))//存在借书书名且现存量大于0
    
    		{
    			fp=fopen("library.txt","w");
    
    			fclose(fp);
    
    			fp=fopen("library.txt","a");
    
    			p=head;
    
    			for (; p!=NULL;)
    
    			{
    
    				fprintf(fp,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",p->shuhao,p->name,p->author,p->chuban,p->kind,p->xcl,p->price);
    
    				p=p->next;
    
    			}
    
    			free(p);//把链表内容覆盖文件
    
    			fclose(fp);
    		}
    
    		if(flag&&(loop>0))//存在借书书名且现存量大于0
    
    		{{
    
    				if ((fp3=fopen("reader.txt","r"))==NULL)//建读者文件夹
    
    				{
    					fp3=fopen("reader.txt","w");//打开只读文件
    
    					fclose(fp3);
    
    				}
    
    				fp3=fopen("reader.txt","a");//以附加的方式打开文件
    
    			}
    
    			{{
    					if (n!=0)
    
    						printf("\n请按以下格式输入读者信息:\n 证号 姓名 归还日期 借书书名\n请输入:");//录入读者信息
    
    					scanf("%d %s %s %s",&zhenghao,&mingzi[20],&riqi[20],&zname[20]);
    
    					fprintf(fp3,"\n%-8d%-23s%-18s%-10s\n",zhenghao,&mingzi[20],&riqi[20],&zname[20]);
    
    					fp=fopen("library.txt","w");//删除图书馆文件信息
    
    					fclose(fp);
    
    					fp=fopen("library.txt","a");//重新追加信息
    
    					p=head;
    
    					for (; p!=NULL;) //把链表内容覆盖图书馆文件
    
    					{
    
    						fprintf(fp,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",p->shuhao,p->name,p->author,p->chuban,p->kind,p->xcl,p->price);
    
    						p=p->next;
    
    					}
    
    					fclose(fp);
    
    					fclose(fp3);
    
    					printf("成功!按任意键返回\n");
    
    					getch();//返回
    
    					jieshuxitong();//调用借阅系统
    
    				}
    			}
    
    			jieshuxitong();//调用借阅系统
    
    		}
    
    		else
    
    			printf("此书已被借完!按任意键返回!");//否则输出此书已被借完
    
    		getch();//返回
    
    		jieshuxitong();//调用借阅系统
    
    	}
    }
    
    void huanshu()//还书函数
    
    {
    	FILE *fp,*fp3;
    
    	struct reader *head=NULL;
    
    	struct reader *p,*p1,*p2;
    
    	struct library *lhead1=NULL;
    
    	struct library *zp1,*lp1,*lp2;
    
    	int txcl=0,i;
    
    	float tprice=0;
    
    	char?tname[20]= {'\0'},tauthor[20]= {'\0'},tkind[20]= {'\0'},
    
    	                                    tchuban[20]= {'\0'},ttname[20]= {'\0'},tshuhao[20]= {'\0'};
    
    	int ttzhenghao=0,tzhenghao=0,n=0,k=0,t=0,flag=0;
    
    	char tmingzi[20]= {'\0'},triqi[20]= {'\0'},tzname[20]= {'\0'},ttzname[20]= {'\0'};
    
    	char hitkey=0;
    
    	system ("cls");
    
    	{
    
    		if ((fp=fopen("reader.txt","r"))==NULL)//不存在读者文件,则输出不能还书
    
    		{
    
    			system ("cls");
    
    			printf("\n 不存在借书者!按任意键退出!");
    
    			getch();
    
    			exit (0);
    
    		}
    
    		else
    
    		{{
    
    				printf("\n请输入读者证号和书名:\n请输入:");
    
    				scanf("%d %s",&ttzhenghao,ttzname);//输入还书证号和书名
    
    				k=tjdzzs();//获取读者文件夹信息个数
    
    				for (i=0; i<k; i++) //读取读者文件夹信息
    
    				{
    
    					fscanf(fp,"%d%s%s%s\n ",&tzhenghao,tmingzi,triqi,tzname);
    
    					if((ttzhenghao==tzhenghao)&&!strcmp(ttzname,tzname))//如果证号书名存在,则标记为1
    
    						flag=1;
    
    				}
    
    				fclose(fp);
    
    				fp=fopen("reader.txt","r");//打开读者文件
    
    				if(flag)
    
    				{
    
    					for (i=0; i<k; i++) //将读者文件复制到链表
    
    					{
    
    						fscanf(fp,"%d%s%s%s\n ",&tzhenghao,tmingzi,triqi,tzname);//读取文件信息
    
    						if(!((ttzhenghao==tzhenghao)&&!strcmp(ttzname,tzname)))
    
    						{
    							n++;
    
    							if (n==1)
    
    							{
    								p1=p2=(struct reader*)malloc(LEN1);//新建链表
    
    								head=p1;
    
    							}
    
    							else
    
    							{
    								p2->next=p1;
    
    								p2=p1;
    
    								p1=(struct reader*)malloc(LEN1);//新建链表
    
    							}
    
    							p1->zhenghao=tzhenghao;//复制证号
    
    							strcpy(p1->mingzi,tmingzi);//复制读者名字
    
    							strcpy(p1->riqi,triqi);//复制日期
    
    							strcpy(p1->zname,tzname);//复制书名
    
    						}
    					}
    
    					if (n==0)
    
    						head=NULL;
    
    					else
    
    					{
    
    						p2->next=p1;
    
    						p1->next=NULL;
    
    						fclose(fp);
    
    					}
    
    					fp=fopen("reader.txt","w");//清空读者文件
    
    					fclose(fp);
    
    					fp=fopen("reader.txt","a");//追加信息
    
    					p=head;
    
    					for (; p!=NULL;) //把链表内容覆盖读者文件
    
    					{
    
    						fprintf(fp,"\n%-8d%-23s%-18s%-10s\n",p->zhenghao,p->mingzi,p->riqi,p->zname);
    
    						p=p->next;
    
    					}
    
    					free(p);
    
    					fclose(fp);
    
    				}
    			}
    		}
    	}
    
    	if(flag)//标记为1,即还书时
    
    	{{
    
    			{
    				printf("确认还书请按回车!");
    
    				for (; hitkey!=13&&hitkey!=27;)
    
    					hitkey=getch();
    
    				if (hitkey==13)
    
    					printf("成功!按任意键返回!");
    
    				n=0;
    				flag=0;
    
    				fp3=fopen("library.txt","r");//打开图书馆文件
    
    				k=tjzs();//获取图书馆文件个数
    
    				for (i=0; i<k; i++) //将图书馆文件复制到链表
    
    				{
    
    					fscanf(fp3,"%s%s%s%s%s%d%f",tshuhao,tname,tauthor,tchuban,tkind,&txcl,&tprice);//读取信息
    
    					n++;
    
    					if (n==1)
    
    					{
    						lp1=lp2=(struct library*)malloc(LEN);//新建链表
    
    						lhead1=lp1;
    
    					}
    
    					else
    
    					{
    						lp2->next=lp1;
    
    						lp2=lp1;
    
    						lp1=(struct library*)malloc(LEN);//新建链表
    
    					}
    
    					strcpy(lp1->shuhao,tshuhao);//复制书号
    
    					strcpy(lp1->name,tname);//复制书名
    
    					strcpy(lp1->author,tauthor);//复制作者
    
    					strcpy(lp1->chuban,tchuban);//复制出版社
    
    					strcpy(lp1->kind,tkind);//复制类别
    
    					lp1->xcl=txcl; //复制现存量
    
    					lp1->price=tprice;//复制单价
    
    				}
    
    				if (n==0)
    
    				{
    					lhead1=NULL;
    				}
    
    				else
    
    				{
    
    					lp2->next=lp1;
    
    					lp1->next=NULL;
    
    					fclose(fp3);
    
    				}
    			}
    		}
    
    		zp1=lhead1;
    
    		for (; zp1!=NULL;)
    
    		{
    
    			if(!(strcmp(zp1->name,ttzname)))//寻找书名相同
    
    				++(zp1->xcl);//现存量加1
    
    			zp1=zp1->next;
    
    		}
    
    		fp3=fopen("library.txt","w");//清空图书馆文件
    
    		fclose(fp);
    
    		fp3=fopen("library.txt","a");//追加信息
    
    		zp1=lhead1;
    
    		for (; zp1!=NULL;) //把链表内容覆盖图书馆文件
    
    		{
    
    			fprintf(fp3,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",
    
    			        ????????zp1->shuhao,zp1->name,zp1->author,zp1->chuban,zp1->kind,zp1->xcl,zp1->price);
    
    			zp1=zp1->next;
    
    		}
    
    		fclose(fp3);
    
    		getch();//返回
    
    		jieshuxitong();//调用借阅系统
    
    	}
    
    	else
    
    		printf("不存在此信息!按任意键返回!");
    
    	getch();//返回
    
    	jieshuxitong();//调用借阅系统
    
    }
    
    void duzheyilang()//显示借书情况函数
    
    {
    
    	FILE *fp;
    
    	int zhenghao=0,xcl=0,n=0,i=0,j=0;
    
    	char mingzi[20]= {'\0'},riqi[20]= {'\0'},zname[20]= {'\0'};
    
    	if ((fp=fopen("reader.txt","r"))==NULL)//打开读者文件夹
    
    	{
    
    		system ("cls");
    
    		printf("\n记录文件不存在!");
    
    	}
    
    	n=tjdzzs();
    
    	if (n==0)
    
    	{
    		system ("cls");
    
    		printf("\n无任何记录!");
    
    	}
    
    	fp=fopen("reader.txt","r");
    
    	system ("cls");
    
    	printf("\n证号\t读者姓名\t\t还书日期\t书名\n");
    
    	for (i=0; i<n; i++) //输出文件信息
    
    	{
    
    		fscanf(fp,"%d%s%s%s\n ",&zhenghao,mingzi,riqi,zname);
    
    		printf("\n%-8d%-23s%-18s%-10s\n", zhenghao,mingzi,riqi,zname);
    
    	}
    
    	fclose(fp);
    
    	printf("\n按任意键返回\n");
    
    	getch();//返回
    
    	jieshuxitong();//调用借阅系统
    
    }
    

    有需要的可以去https://download.csdn.net/download/chaokudeztt/11244824下载源码,C语言课程设计图书管理系统。

    展开全文
  • VC,MFC做的图书管理系统,有点问题,大家帮忙看一下吧,谢谢了 - 下载频道 - CSDN.NET 下面是msdn资源的链接地址,谢谢大家了, http://download.csdn.net/detail/rl529014/8869503
  • mfc 图书管理系统 数据库 SQLServer 源码 直接可以用的 用VC6.0开发的
  • 这是项目开发案例精粹>中的一个案例,有VC++6.0+Access,VC++6.0+Sql Server2000,VC++6.0+Sql Server2005 三个版本
  • 图书管理系统

    2013-06-28 18:56:46
    VC6写的课程设计,功能很齐全,有导航条,HTML离线帮助。系统用的是access数据库,可做课程设计参考,界面也十分漂亮。
  • 摘要随着信息技术在管理上越来越深入而广泛的应用管理信息系统的实施在技术上已 逐步成熟图书管理系统作为管理信息系统的一种 成为图书馆进行现代化图书管理和进行 信息服务的基础针对图书管理系统的特点对图书管理...
  • 这是VC项目开发全程实录配套光盘视频讲解,原光盘实在太大了,考虑到大家下载和使用方便,决定提取视频讲解,分开打包,敬请原谅。配套源码我已提供。原版图书条理、详尽,本人力荐购买!
  • 之前参照网上的资料用链表实现了图书管理系统,包括简单的增删改查功能以及借书还书功能,我是VC6.0下写的一个控制台程序,格式参照的网上的。在动手编码之前,你需要理清自己的思路。首先,需要确定图书馆里系统中...

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

vc图书管理系统