图书管理系统实训报告正文Word下载.doc
《图书管理系统实训报告正文Word下载.doc》由会员分享,可在线阅读,更多相关《图书管理系统实训报告正文Word下载.doc(36页珍藏版)》请在冰点文库上搜索。
![图书管理系统实训报告正文Word下载.doc](https://file1.bingdoc.com/fileroot1/2023-4/30/e1488531-d71a-40f5-82f2-ee817677fbb3/e1488531-d71a-40f5-82f2-ee817677fbb31.gif)
VC6.0简介
VisualC++6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。
VisualC++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000、WindowsXP和WindowsNT4.0。
所以实际中,更多的是以VisualC++6.0为平台。
VC6.0由以下三部分组成:
1、DeveloperStudio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,DeveloperStudio为VisualC++提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能。
我们也知道,DeveloperStudio并不是专门用于VC的,它也同样用于VB,VJ,VID等VisualStudio家族的其他同胞兄弟。
所以不能把DeveloperStudio当成VisualC++,它充其量只是VisualC++的一个壳子而已。
2、MFC。
从理论上来讲,MFC也不是专用于VisualC++,BorlandC++,C++Builder和SymantecC++同样可以处理MFC。
同时,用VisualC++编写代码也并不意味着一定要用MFC,只要愿意,用VisualC++来编写SDK程序,或者使用STL,ATL,一样没有限制。
不过,VisualC++本来就是为MFC打造的,VisualC++中的许多特征和语言扩展也是为MFC而设计的,所以用VisualC++而不用MFC就等于抛弃了VisualC++中很大的一部分功能。
但是,VisualC++也不等于MFC。
3、PlatformSDK。
这才是VisualC++和整个VisualStudio的精华和灵魂,虽然我们很少能直接接触到它。
大致说来,PlatformSDK是以MicrosoftC/C++编译器为核心(不是VisualC++,看清楚了),配合MASM,辅以其他一些工具和文档资料。
上面说到DeveloperStudio没有编译程序的功能,那么这项工作是由谁来完成的呢?
是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成VisualStudio的基石。
第三章图书管理系统的设计与实现
3.1系统的需求分析
3.1.1设计思想
随着现代社会信息量的不断增加,图书的种类及信息也越来越多,如何来管理庞大的图书信息成为一大难题,如何以一种便捷的管理方式加快图书流通信息的反馈速度,提高工作效率,已经成为学校图书馆管理的关键问题。
信息技术的飞速发展给图书馆的管理带来了全新的变革,采用图书管理系统对图书馆的运作进行全程管理,不仅是图书馆摆脱了以往人工管理产生的一系列问题,而且让图书馆提高了管理效率,减少了管理成本,让图书馆进行更有效的管理。
因此,设计的图书管理系统需要满足以下几方面要求:
读者的管理;
管理员的管理;
图书信息的管理。
3.1.2系统功能描述
(1)系统主菜单:
根据不同的选择进入不同的界面,从而进入系统和退出系统。
(2)功能菜单:
显示可以进行的操作。
(3)查询主菜单:
系统需要提供几种不同方式的查询手段,以实现灵活方便的管理整个系统。
一本图书包括序号、书名、价格、会员价等多个信息,会员可以通过输入图书的序号、名字进行查询所需的图书,然后可以浏览相关的图书信息。
管理员除此还可以对图书进行管理和对会员信息的管理,可以浏览所有的图书信息和会员信息。
(4)各功能的操作全部通过调用的关系连接而成,主函数通过调用各子函数来完成图书的管理与查询系统。
3.1.3功能模块划分
1.初始化图书信息
主函数通过调用initbook()子函数,采用scanf()输入方式输入图书的序号、名字、价格信息,会员价不需输入,只需用公式:
会员价=价格*0.8f(会员价一律八折)即可。
2.增加图书信息
这个程序与初始化图书信息一样,通过调用addbook()子函数来增加一些图书的基本信息,如:
图书的序号、名字、价格。
3.修改图书信息
调用modifybook()子函数来实现此功能,用来修改已经增加的图书信息,修改的是图书的价格、会员价,图书的序号、名字不改变。
4.删除图书信息
由主函数调用delbook()子函数实现删除图书信息功能。
输入要删除的图书名称,从而删除这本图书的所有信息,无法还原。
5.按图书的价格从高到低浏览图书信息
由函数showbook()来实现此功能。
通过图书的价格由高到低的顺序来查询图书的序号、名字、价格、会员价。
6.增加会员信息addhuiyuan()
存储会员信息的文件名是huiyuan(增加会员时文件读取方式采用“ab+”方式),用scanf()输入方式输入每个会员信息是序号、名字、密码。
7.删除会员信息delhuiyuan()
输入要删除的会员名字,从而删除这个会员的所有信息,无法还原。
8.按名字浏览会员的所有信息showhuiyuan()
用来浏览已经增加的会员信息。
9.会员模块show()
会员可以输入名字和密码登陆会员界面,浏览图书信息。
可输入相应图书的名字,查询相应的图书信息。
3.1.4系统流程
3.2详细系统的设计与实现
3.2.1主函数界面设计
#include<
stdio.h>
stdlib.h>
string.h>
conio.h>
#definesize100
typedefstruct
{
longnumber;
charname[9];
charps[7];
intpower;
}huiyuan;
charname[100];
floatprice;
floatmemberprice;
}book;
voidmain()
{
voidmenu1();
voidmenu2();
huiyuanshow;
chardatafile[40]="
huiyuan"
;
charusername[10],password[10];
inti;
printf("
\n\n\n\n\n"
);
~~~~~~~~~~~~~~~~~~~~~~~\n"
==============================================\n"
*++*\n"
************欢迎您进入图书管理系统************\n"
*++*\n"
==============================================\n"
~~~~~~~~~~~~~~~~~~~~~~~\n"
\n\n"
请输入您的姓名:
"
scanf("
%s"
username);
printf("
请输入您的登录密码:
password);
if((strcmp(username,"
admin"
)==0)&
&
(strcmp(password,"
)==0))
{printf("
您是管理员!
\n"
menu1();
}
FILE*fp;
fp=fopen(datafile,"
rb"
if(fp==NULL)
{
printf("
文件%s信息错误\n"
datafile);
exit
(1);
while(fread(&
show,sizeof(huiyuan),1,fp)!
=0)
if((strcmp(username,show.name)==0)&
(strcmp(password,show.ps)==0)
{
printf("
您是普通会员\n"
menu2();
}
}
exit(0);
}
3.2.2管理员界面与图书浏览界面设计
voidinitbook();
voidaddbook();
voidmodifybook();
voiddelbook();
voidshowbook();
voidaddhuiyuan();
voiddelhuiyuan();
voidshowhuiyuan();
voidshow();
voidquit();
voidmenu1()
charch1,ch2,ch3;
do
\n\n\n"
==============================================\n"
************欢迎进入图书管理员界面************\n"
==============================================\n"
\t\t请您选择操作类型:
\n"
************1.欢迎进入图书信息系统************\n"
************2.欢迎进入会员信息系统************\n"
******************0.退出系统******************\n"
请输入您的选择!
\n"
&
ch1);
switch(ch1)
{case'
1'
:
Do{
*************>
欢迎进入图书信息系统<
**********\n"
\n"
====1.初始化图书信息*******2.增加图书信息====\n"
printf(“====3.修改图书信息*********4.删除图书信息====\n"
======5.按普通价格从高到低浏览图书信息=======\n"
==============0、返回上一级==================\n"
请输入0--5,其他输入错误!
\n"
scanf("
ch2);
switch(ch2)
{
case'
initbook();
break;
2'
addbook();
3'
modifybook();
4'
delbook();
5'
showbook();
getch();
0'
default:
printf("
操作错误\n"
}while(ch2!
='
}break;
case'
do
printf("
printf("
*********>
欢迎进入会员信息系统<
**********\n"
===1.增加会员信息*******2.删除会员信息===\n"
==========3.按名字浏览会员信息===========\n"
==============0、返回上一级==============\n"
请输入0--3,其他输入错误!
\n"
scanf("
ch3);
switch(ch3)
case'
addhuiyuan();
delhuiyuan();
showhuiyuan();
case'
default:
}while(ch3!
quit();
default:
}while(ch1!
voidmenu2()
charch4;
=========================================\n"
**********欢迎进入图书浏览界面***********\n"
*******1.输入图书名浏览图书相应信息******\n"
**************0.浏览结束*****************\n"
请输入您的选择:
"
ch4);
switch(ch4)
}while(ch4!
voidquit()
\n\n\n\n"
============================================\n"
~~~~~~~~~~~~~~~~~~~~~~\n"
***************>
感谢您的使用<
***************\n"
~~~~~~~~~~~~~~~~~~~~~~\n"
3.2.3各功能模块设计
1、初始化图书信息
voidinitbook()
FILE*fp;
booktmps,show;
chardatafile[40]="
book"
intcount=0;
fp=fopen(datafile,"
wb+"
请输入图书的序号、名称、价格\n"
while(count<
=size)
\n请输入图书的序号:
%ld"
tmps.number);
if(tmps.number==0)
break;
请输入图书的名称:
tmps.name);
请输入图书的价格:
%f"
tmps.price);
tmps.memberprice=tmps.price*0.8f;
if(fwrite(&
tmps,sizeof(book),1,fp)!
=1)
exit
(1);
count++;
if(count>
size)
输入数据已满\n"
fclose(fp);
所输入图书信息如下:
序号\t名称\t价格\t会员价\n"
show,sizeof(book),1,fp)!
%ld\t%s\t%.1f\t%.1f\n"
show.number,show.name,show.price,show.memberprice);
2、添加图书信息
Voidaddbook()