最给力图书信息管理系统14页wordWord文档格式.docx
《最给力图书信息管理系统14页wordWord文档格式.docx》由会员分享,可在线阅读,更多相关《最给力图书信息管理系统14页wordWord文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
课程设计报告内容
课程设计报告内容、格式各专业根据专业不同统一规范,经教研室主任审核、主管院长审批备案。
注:
1.课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。
2.为了节省纸张,保护环境,便于保管实习报告,统一采用A4纸,实习报告建议双面打印(正文采用宋体五号字)或手写。
二、课程设计步骤
根据系统功能要求,可以将问题解决分为以下步骤:
1、配置c语言程序正确运行的环境参数,保证程序能够正确调试。
2、根据题目要求,
1)明确需求(要做什么),确定算法,画出流程图;
2)确定变量名称、类型、数量,明确程序中使用的流程控制语句以及函数参数数量、类型、值的传递方式(值传递、地址传递)和功能;
3)设计完成程序的各个功能函数,完成程序源代码;
4)程序代码调试,查找语法错误,直至无误;
5)程序代码功能调试,测试功能是否正确,直至无误;
3、运行结果完全正确后,形成完整的课程设计报告,答辩时同时提交。
课程设计题目
图书信息管理系统设计:
图书信息包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一个图书信息管理系统,使之能提供以下功能:
1、系统以菜单方式工作
2、图书信息录入功能(图书信息用文件保存)
3、图书信息浏览功能
4、图书信息查询功能
查询方式
按书名查询
按作者名查询
5、图书信息的删除与修改(可选项)
一、需求分析
1.设计题目:
图书信息管理系统
2.设计内容:
1)编程建立一个图书管理系统,其中包含图书信息录入,浏览和查询,删除与修改功能,
尽量做到提供一个简单的人机界面,系统界面友好,使用方便。
2)软件的使用者为管理员,可以对图书信息进行录入和删除,还可浏览图书信息介绍等。
3.系统功能:
A.初始化图书信息,在系统投入使用前,管理员先将图书信息录入系统中,以便查看。
管理员的初始化工作就是将图书的书名、作者名、分类号、出版单位、出版时间、价格等录入系统。
B.浏览图书信息,以便随时掌握图书信息。
C.查询图书信息,以便随时掌握图书信息。
D.删除图书信息。
E.修改图书信息。
F.管理员身份可以通过密码进行管理。
二、详细设计
1.程序流程图(框架结构)
身份验证
否
是
退出系统
信息修改
信息删除
信息查询
信息浏览
信息录入
主函数流程图
2.程序运行截屏:
(1)输入密码后
(2)录入信息后
(3)浏览信息后
(4)查询信息后(按书名和出版社)
(5)删除图书后
(6)修改图书后
3.源程序代码
#include<
stdio.h>
/*预处理命令*/
stdlib.h>
string.h>
#defineSIZE2/*预处符号常量*/
structinformation
{charbookname[20];
chareditor[20];
intnum;
charpublisher[10];
chartime[10];
floatprice;
}book[SIZE];
voidmain()
voidInto();
voidScan();
voidSearch();
voidDelete();
voidChange();
intnumber;
chars[10];
chart[10]={"
123"
};
printf("
\t************欢迎使用长春工程学院图书馆管理系统**********\n\n\n\n"
);
您好!
欢迎使用该系统,请输入您的登录密码,并按Enter键结束:
\n"
scanf("
%s"
s);
do{
if(strcmp(s,t)==0)
printf("
请选择以下选项的代码,并按Enter键结束:
1.信息录入。
2.信息浏览。
3.信息查询。
4.信息删除。
5.信息修改。
6.退出系统。
}elseprintf("
您的登录密码有误!
请查正后再登录"
%d"
&
number);
switch(number)
case1:
Into();
break;
case2:
Scan();
case3:
Search();
case4:
Delete();
case5:
Change();
case6:
exit(0);
while(number!
=0);
voidInto()
{voidsave();
inti;
请录入图书信息:
书名作者序号出版社出版时间价格:
\n\n\n"
for(i=0;
i<
SIZE;
i++)
scanf("
%s%s%d%s%s%f"
book[i].bookname,book[i].editor,&
book[i].num,book[i].publisher,book[i].time,&
book[i].price);
save();
}
voidsave()
FILE*fp;
inti,n=6;
if((fp=fopen("
string_dat"
"
wb"
))==NULL)/*打开磁盘文件*/
cannotopenfile!
n;
if(fwrite(&
book[i],sizeof(structinformation),1,fp)!
=1)
filewriteerror!
fclose(fp);
\n按任意键返回……\n"
voidScan()
{inti;
rb"
i++)
{fread(&
book[i],sizeof(structinformation),1,fp);
%-10s%-6s%4d%-10s%-15s%4.2f\n"
book[i].bookname,book[i].editor,book[i].num,book[i].publisher,book[i].time,book[i].price);
fclose(fp);
voidSearch()
{inta;
voidname();
voidpublisher();
1.按书名查找。
2.按出版社查找。
a);
switch(a)
{case1:
name();
case2:
publisher();
voidname()
charstr[20];
fp=fopen("
r"
rewind(fp);
请录入图书的书名:
str);
/*用gets不行*/
for(i=0;
fread(&
if(strcmp(book[i].bookname,str)==0)
voidpublisher()
{inti;
请录入图书的出版社名:
if(strcmp(book[i].publisher,str)==0)
voidDelete()
{FILE*fp;
longbooknum;
/*按登陆号查询*/
inti=0,k;
if((fp=fopen("
))==NULL)
{printf("
error!
exit
(1);
}
fread(&
\n请输入要删除的图书编号:
"
booknum);
if(booknum==book[i].num)break;
if(i<
SIZE)
for(k=i;
k<
k++)
book[k]=book[k+1];
elseprintf("
\n找不到这本书!
w"
if(fp==NULL)
\nerror!
return;
}
SIZE-1;
fwrite(&
voidChange()
inti,num,n;
intflag=0;
fp=fopen("
请输入要修改的图书编号:
num);
if(book[i].num==num)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
信息列表\n"
-----------------------------------------------------------\n"
-----------------------------------------------------------\n\n"
n=i;
flag=1;
break;
if(flag==0)
输入错误!
请返回!
rb+"
fseek(fp,n*sizeof(structinformation),0);
请输入新的:
fwrite(&
以上程序代码经过VC6.0编译环境的多次调试,准确无误!
!
希望以上资料对你有所帮助,附励志名言3条:
1、宁可辛苦一阵子,不要苦一辈子。
2、为成功找方法,不为失败找借口。
3、蔚蓝的天空虽然美丽,经常风云莫测的人却是起落无从。
但他往往会成为风云人物,因为他经得起大风大浪的考验。