C语言图书馆管理系统课程设计报告.docx

上传人:b****0 文档编号:17155189 上传时间:2023-07-22 格式:DOCX 页数:17 大小:51.55KB
下载 相关 举报
C语言图书馆管理系统课程设计报告.docx_第1页
第1页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第2页
第2页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第3页
第3页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第4页
第4页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第5页
第5页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第6页
第6页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第7页
第7页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第8页
第8页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第9页
第9页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第10页
第10页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第11页
第11页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第12页
第12页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第13页
第13页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第14页
第14页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第15页
第15页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第16页
第16页 / 共17页
C语言图书馆管理系统课程设计报告.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言图书馆管理系统课程设计报告.docx

《C语言图书馆管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《C语言图书馆管理系统课程设计报告.docx(17页珍藏版)》请在冰点文库上搜索。

C语言图书馆管理系统课程设计报告.docx

C语言图书馆管理系统课程设计报告

《高级语言程序设计》

课程设计报告

设计题目:

**高校图书馆信息管理系统

名:

业:

计算机科学与技木

级:

指导老师:

2012年01月01日

摘要

绪论

问题定义(或系统分析)总体设计与详细设计调适与测试

总结与心得

附录

附录一源代码

附录二参考文献

**高校图书馆管理系统

摘要

【设计题目】

图书信息包括:

登录号、书名、作者名、分类号、出版单位、出版时间、价格等试设计一图书信息管理系统,使之能提供以下功能:

1)系统以菜单方式工作

2)图书信息录入功能(图书信息用文件保存)--输入

3)图书信息浏览功能--输出

4)查询和排序功能:

(至少一种查询方式)--算法

5)按书名查询

6)按作者名查询

7)图书信息的删除与修改(可选项)*

绪论

【设计目的】

1.通过本次课程设计对c语言的充分编程和实际应用进一步熟悉和巩固c语言

语法知识和程序设计的基本方法。

2.因为编程具有细致繁琐的特点,训练大家的编程素质,养成耐心细致的习惯。

3.锻炼思维能力,养成多思考的习惯,同时有助于培养团队意识

4.了解大型程序的编写过程,为以后编写大型程序和开发软件打下基础。

【设计要求】

1.掌握面相对象程序设计的功能抽象和数据抽象方法,掌握类,对象的使用的方法;

2.掌握数据类型的使及不同程序方式的应用.

3.掌握函数使用技巧,包括函数类型的选择,含参数的传递方式等;

4.掌握使用数组,指针,引用,文件等编程的方法.

5.掌握C++流类库的使用.

6.掌握C++模板的使用;

7.掌握中小型规模程序的设计,开发,调试的全过程.

问题定义(或系统分析)

【设计思路】

根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中去,所以应该提供下个结构体和文件的输入等操作:

在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:

另外还需提供选择菜单实现功能,在运行时达到所要求的目的。

总体设计与详细设计

【总体设计】

图1系统功能模块图

【详细设计】

1.主函数

主函数设计要求简洁,只提供部分提示语和函数的调用

【程序】

头函数名:

#include

#include

#includestructbookinf

{intnum;//登录号

charbname[20];//书名

charwname[10];//作者名

charclanum[14];//分类号

charpubcom[10];//出版单位

charpubtime[10];//出版时间

floatprice;//价格

};

(1)来到图书信息管理系统页面

voidindex()

{

charinput;

printf("\n\n\t\t\t****************************

printf("\t\t\t图书信息管理系统\n");

(2)来到功能菜单页面

voidadm_servelist()

{

voidbook_add();

voidbook_view();

voidchange();

voiddel();

voidbook_search();

voidlogin();

voidpwchange();

intin;

charinput;

do

{

printf("\n\n\n\t--欢迎使用信息管理系统--");printf("\n\n\t1.图书信息录入\n");

printf("\t2.图书信息浏览\n");

printf("\t3.图书信息查询\n");

printf("\t4.图书信息删除\n");

printf("\t5.图书信息修改\n");

printf("\t6.退出管理模式\n");

printf("\n\t请选择服务种类:

");scanf("%d",&in);

if(in!

=1&&in!

=2&&in!

=3&&in!

=4&&in!

=5&&in!

=6){

printf("\n\t没有这项服务~\n");

printf("\t按任意键重新选择");input=getchar();

}

while(in!

=1&&in!

=2&&in!

=3&&in!

=4&&in!

=5&&in!

=6);switch(in)

{

case1:

book_add();break;case2:

book_view();break;case3:

book_search();break;case4:

del();break;case5:

change();break;case6:

login();break;

}}

(3)图书信息录入功能模块voidbook_add()

{

voidadm_servelist();voidbook_add();inti=0,j;FILE*fp;charinput;structbookinfbooks;structbookinfbook_taxis[30];printf("\n\n\n\t---请输入图书信息---\n\n");

printf("\t登录号:

");

scanf("%d",&books.num);printf("\n\t书名:

");

scanf("%s",books.bname);printf("\n\t作者名:

");

scanf("%s",books.wname);printf("\n\t分类号:

");

scanf("%s",books.clanum);printf("\n\t出版单位:

");

scanf("%s",books.pubcom);printf("\n\t出版时间:

");

scanf("%s",books.pubtime);printf("\n\t价格:

");

scanf("%f",&books.price);

if((fp=fopen("book.txt","r"))!

=NULL){do

{

fread(&book_taxis[i],sizeof(structbookinf),1,fp);i=i+1;

}

while(!

feof(fp));fclose(fp);

for(j=0;j<=i;j++)

if(books.num==book_taxis[j].num)

{

printf("\n\n\n\t对不起,这个编号已经使用过了~\n");printf("\t按任意键返回管理菜单~");

input=getchar();

adm_servelist();

break;

}

}

if((fp=fopen("book.txt","r"))==NULL)

{

fp=fopen("book.txt","w");

}

else

{

fclose(fp);fp=fopen("book.txt","a");

}fwrite(&books,sizeof(structbookinf),1,fp);

fclose(fp);

printf("\n\n\n\t信息输入完毕~按任意键继续\n");input=getchar();

adm_servelist();

}

(4)图书信息浏览功能模块

voidbook_view()

{

voidadm_servelist();

voidbook_view();

intinp,i=0,n=0;

FILE*fp;

charinput;

structbookinfbookview[20];

if((fp=fopen("book.txt","r"))==NULL)

{

printf("\n\n\n\t数据尚未初始化~~\n\n\t请在管理菜单中增加图书信息~~\n");

printf("\n\t<按任意键返回管理菜单>\n\t");input=getchar();

adm_servelist();

}

else

{

do

{

fread(&bookview[i],sizeof(structbookinf),1,fp);

i=i+1;

}

while(!

feof(fp));

fclose(fp);

do

{

printf("\n\t共有%c条记录",i-1);

printf("\n\n\t登录号:

%d\n",bookview[n].num);

printf("\n\t书名:

%s\n",bookview[n].bname);

printf("\n\t

作者名:

%s\n",bookview[n].wname);

printf("\n\t

分类号:

%s\n",bookview[n].clanum);

printf("\n\t

出版单位:

%s\n",bookview[n].pubcom);

printf("\n\t

出版时间:

%s\n",bookview[n].pubtime);

printf("\n\t

价格:

%f\n",bookview[n].price);

printf("\n\n\t1.

上一页\t2.下一页\t3.回目录\n");

printf("\n\t

请选择:

");

scanf("%d",&inp);

switch(inp)

{

case1:

{

if(n==0)

{

printf("\n\t已到达首页\n\t按任意键重新选择");

input=getchar();

}

elsen=n-1;break;

}

case2:

{

if(n==i-2)

{

printf("\n\t已到达最末页\n\t按任意键重新选择");

input=getchar();

}

elsen=n+1;break;

}

case3:

{

adm_servelist();

break;

}

default:

{

printf("\n\t没有这项服务\n\t按任意键重新选择");input=getchar();

}

}

}

while(inp!

=3);

}

}

(5)图书信息修改与删除功能模块修改:

voidchange(intx)

{

intinp,i=0,j;

voidbook_search();

FILE*fp,*fp1;

charinput;

structbookinfbooks,book_taxis[20];

do

{

printf("\n\n\n\t注意:

您确定要修改该记录吗?

\n");

printf("\n\t1.是\t2.否\n");

printf("\n\t请输入:

");

scanf("%d",&inp);

if(inp!

=1&&inp!

=2)

{

printf("\n\t对不起~没有这项服务~\n");

printf("\t按任意键重新选择\n\t");

input=getchar();

}

}

while(inp!

=1&&inp!

=2);

if(inp==2)

book_search();

if(inp==1)

{

printf("\n\n\n\t---请输入图书信息---\n\n");

printf("\t登录号:

");scanf("%d",&books.num);printf("\n\t书名:

");

scanf("%s",books.bname);printf("\n\t作者名:

");

scanf("%s",books.wname);printf("\n\t分类号:

");

scanf("%s",books.clanum);printf("\n\t出版单位:

");

scanf("%s",books.pubcom);printf("\n\t出版时间:

");

scanf("%s",books.pubtime);printf("\n\t价格:

");

scanf("%f",&books.price);

if((fp1=fopen("book.txt","r"))!

=NULL)

{do{fread(&book_taxis[i],sizeof(structbookinf),1,fp1);i=i+1;

}while(!

feof(fp1));fclose(fp1);

for(j=0;j

if(books.num==book_taxis[j].num)

{

printf("\n\n\n\t对不起,这个编号已经使用过了~\n");printf("\t按任意键返回管理菜单~");

printf("0");input=getchar();book_search();break;

}

for(j=x+1;j

if(books.num==book_taxis[j].num)

{

printf("\n\n\n\t对不起,这个编号已经使用过了~\n");printf("1");

printf("\t按任意键返回管理菜单~");

input=getchar();

book_search();

break;

}

}book_taxis[x]=books;fp=fopen("book.txt","w");

for(j=0;j

printf("\n\n\t信息修改完成!

按任意键返回");

input=getchar();

book_search();

}

}删除:

voiddel(inty)

{

charinput;

FILE*fp;

intinp,i=0,j;

structbookinfbook_taxis[20];

voidbook_search();

voidadm_servelist();

do

{

printf("\n\n\n\t注意:

您确定要删除该记录吗?

\n");printf("\n\t1.是\t2.否\n");

printf("\n\t请输入:

");scanf("%d",&inp);

if(inp!

=1&&inp!

=2)

{

printf("\n\t对不起~没有这项服务~\n");

printf("\t按任意键重新选择\n\t");input=getchar();

}

}

while(inp!

=1&&inp!

=2);

if(inp==2)book_search();

if(inp==1){

if((fp=fopen("book.txt","r"))!

=NULL)

{

do

{

fread(&book_taxis[i],sizeof(structbookinf),1,fp);

i=i+1;

}

while(!

feof(fp));

fclose(fp);

}

if(i>2)

{fp=fopen("book.txt","w");

for(j=0;j

fwrite(&book_taxis[j],sizeof(structbookinf),1,fp);fclose(fp);

fp=fopen("book.txt","a");

for(j=y+1;j

}

else

{

remove("book.txt");

}

printf("\n\n\t记录已删除!

\n\n\t按任意键返回\n\t");input=getchar();

adm_servelist();

}

}

(6)图书信息查询功能模块

voidbook_search()

{

voidadm_servelist();

voidid_search();

voidwr_search();

voidbn_search();

charinput;

FILE*fp;

intinp;

if((fp=fopen("book.txt","r"))==NULL)

{

printf("\n\n\n\t数据尚未初始化~~\n\n\t请在管理菜单中增加图书信息~~~\n");

printf("\n\t<按任意键返回管理菜单>\n\t");

input=getchar();

adm_servelist();

}

else

{

do

{

printf("\n\n\n\t1.按图书登录号查询\n");printf("\n\t2.按图书作者查询\n");

printf("\n\t3.按图书名查询\n");

printf("\n\t4.回到主菜单\n");

printf("\n\n\t请选择查询类别:

");

scanf("%d",&inp);

if(inp!

=1&&inp!

=2&&inp!

=3&&inp!

=4)

{

printf("\n\n\t没有这项服务~\n\t按任意键重新选择~");input=getchar();

}

}

while(inp!

=1&&inp!

=2&&inp!

=3&&inp!

=4);

fclose(fp);

switch(inp)

{

case1:

id_search();break;case2:

wr_search();break;case3:

bn_search();break;case4:

adm_servelist();break;}

}

}

调试与测试

cl*C:

\DocuaentsandSettings\jsj\Debug\sl23.exe*

一欢迎使用信息管理系统一

入H询除改式讲査ffl修棋息息息息息理书节书书书出

请选拝般务种琴

Pressanykeytocontinue

 

 

总结与心得

对程序的设计要有充分的逻辑性,将该程序的大纲罗列出来,同时要充分了解该程序所需的编程语言,通过这次课程设计我们能把课本上的知识充分的应用到实践中来。

在本次课程设计中要区分相似函数的功能,减少调试时间,打开文件的方式特别重要,调试程序时很可能是一个符号难死人那,因此编程时要非常的细心编程需要长时间练习。

这次课程设计让我掌握了许多的有用知识。

首先通过不断地学习和锻炼更加熟练地掌握应用软件MicrosoftVisualC++6.0了。

设计正确及合适的程序对

于我们初学者来说是很大的难题,出现一丁点儿错误就得非很大的努力去修改,正式者一步步一点点的努力让我对C语言游乐更深的认识。

同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2