c语言程序设计报告图书馆信息管理系统.docx

上传人:b****6 文档编号:8309423 上传时间:2023-01-30 格式:DOCX 页数:17 大小:54.32KB
下载 相关 举报
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

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

c语言程序设计报告图书馆信息管理系统.docx

c语言程序设计报告图书馆信息管理系统

2014年第二阶段课程设计成果报告

 

实训项目:

程序设计技术课程设计

学号:

335姓名:

郑毓豪

专业:

电气工程及其自动化

实训日期:

2014年6月8日至2014年6月20日

指导教师:

舒蔚实训成绩:

华东交通大学理工学院

一、问题概述

(对问题背景及主要实现的功能进行简要说明。

随着图书馆图书的不断增加,图书管理的难度也随之加大,一个好的图书馆图书信息管理系统,能够使图书管理工作简便,有条不紊。

通过C语言学习,我们已经能够完成基本的C语言编程,此次实训,是将学习和实践结合,充分感受C语言解决实践问题的魅力。

此次编写的图书馆信息管理系统,能够实现基本的图书管理功能。

它包括图书库的创建,打印图书信息表,录入新图书,修改图书信息,删除图书信息,借书,还书。

图书库包含图书的各方面信息,编号,类型,作者,出版社,总数,剩余量等等,并且打印图书信息表。

录入,修改,删除这些功能都是对图书库的操作。

借书,还书这两项最重要的功能也都能很好的实现。

把此系统应用于图书馆的图书管理,能使图书馆的各项工作便捷,可靠的完成。

二、系统目标

(主要是对系统技术目标和要求)

欢迎界面、主菜单、系统管理功能、图书信息管理、借阅功能模块、

其中系统管理功能包括系统管理员添加、删除、修改信息以及用管理员身份登录系统等功能。

图书信息管理包括新增图书、修改图书、删除图书、等功能。

借阅功能模块包括借书功能、还书功能、查询已借图书、查询过期未还图书,其中借书还书功能可以按图书编号信息进行操作。

 

三、设计的过程及步骤

1、需求分析

(描述系统需求,既详细分析系统需求和功能)

根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。

2、设计文件结构

(设计文件结构,并扼要说明设计缘由)

此系统根据所要实现的功能,使用的函数等综合考虑,设计了两个,图书信息文件(),借还书文件(),录入新图书,修改,删除图书等一些操作时在图书信息文件上运行,借还书功能则在借还书文件上运行,同时也要在图书信息文件上运行。

两个文件相互结合,使各个功能很好的实现了,运用C语言的文件功能,也是整个程序的主线。

3、设计系统功能图

(根据需求分析结果和文件结构,应用结构化分析与设计技术设计功能结构图,如下图所示)

 

4、函数设计

(详细分析每一个子模块的子功能,定义主要的子函数原型,并对每一个函数的功能加以说明)

此系统主要有7个功能,也就有主要的7个函数,他们分别是

voidshan()

n");

exit(0);

}

while(fread(&tu[i],sizeof(shu),1,fp))

{

i++;

m=i;

}

printf("要删除几本书:

");

scanf("%d",&n);

getchar();

for(i=0;i

{

printf("输入图书编号2:

");

gets(booknum);

for(j=0;j

if(strcmp(booknum,tu[j].bianhao2)==0)

break;

if(j

{

for(l=0;l

if(strcmp(tu[j].bianhao1,tu[l].bianhao1)==0)

{

tu[l].zongshu--;

tu[l].shengyu--;

}

for(j;j

tu[j]=tu[j+1];

}

else

{

printf("输入有误重新输入\n");

i--;

}

}

if((fp=fopen("","w"))==NULL)

{

printf("cannotopenthe.\n");

exit(0);

}

for(i=0;i

fwrite(&tu[i],sizeof(shu),1,fp);

printf("删除成功!

");

}

voidxiu()n");

exit(0);

}

while(fread(&tu[i],sizeof(shu),1,fp))

{

i++;

m=i;

}

if((fp=fopen("","w"))==NULL)

{

printf("cannotopenthe.\n");

exit(0);

}

printf("要修改几本书:

");

scanf("%d",&n);

getchar();

for(i=0;i

{

printf("输入要修改的图书编号2:

");

gets(booknum);

for(i=0;i

{

if(strcmp(booknum,tu[i].bianhao2)==0)

break;

}

if(i

{

printf("》》》输入修改后的\n\n");

printf("》》》输入编号1:

");

gets(tu[i].bianhao1);

printf("\n");

printf("》》》编号2:

");

gets(tu[i].bianhao2);

printf("\n");

printf("》》》类型:

");

gets(tu[i].leixing);

printf("\n");

printf("》》》书名:

");

gets(tu[i].shuming);

printf("\n");

printf("》》》出版社:

");

gets(tu[i].chubanshe);

printf("\n");

printf("》》》作者:

");

gets(tu[i].writer);

printf("\n");

printf("》》》总数:

");

gets(numchar);

printf("\n");

tu[i].zongshu=atol(numchar);

printf("》》》剩余:

");

gets(numchar);

printf("\n");

tu[i].shengyu=atol(numchar);

}

else

printf("输入有误\n");

for(i=0;i

fwrite(&tu[i],sizeof(shu),1,fp);

}

fclose(fp);

}

voidputin()n");

exit(0);

}

while(fread(&tu[i],sizeof(shu),1,fp))

{

i++;

m=i;

}

if((fp=fopen("","w"))==NULL)

{

printf("cannotopenthe.\n");

exit(0);

}

for(i=0;i

{

fwrite(&tu[i],sizeof(shu),1,fp);

}

printf("要录入几本书:

");

scanf("%d",&n);

getchar();

for(i=0;i

{

printf("\n");

printf("》》》输入编号1:

");

gets;

printf("\n");

printf("》》》编号2:

");

gets;

printf("\n");

printf("》》》类型:

");

gets;

printf("\n");

printf("》》》书名:

");

gets;

printf("\n");

printf("》》》出版社:

");

gets;

printf("\n");

printf("》》》作者:

");

gets;

printf("\n");

printf("》》》总数:

");

gets(numchar);

printf("\n");

=atol(numchar);

printf("》》》剩余:

");

gets(numchar);

printf("\n");

=atol(numchar);

fwrite(&shu,sizeof(shu),1,fp);

}

fclose(fp);

}

voidprint()n");

exit(0);

}

puts("_______________________________________________________________________");

puts("-----------------------------------------------------------------------");

puts("|编号1|编号2|类型|书名|作者|出版社|总数|剩余|");

fseek(fp,0L,SEEK_SET);

while(fread(&shu,sizeof(shu),1,fp)==1)

printf("%-9s%-10s%-10s%-10s%-10s%-10s%-10ld%-10ld\n",,,,,,,,;

}

voidreturned()n");

exit(0);

}

while(fread(&book1[i],sizeof(book),1,fp))

{

i++;

m=i;

}

if((fp=fopen("","w"))==NULL)

{

printf("cannotopenthe.\n");

exit(0);

}

printf("输入要还的图书编号2:

");

gets(booknum);

for(j=0;j

{

if(strcmp(booknum,book1[j].bianhao2)==0)

{

flag=1;

break;

}

}

if(flag)

{

flag=0;

printf("输入还书月份:

");

scanf("%ld",&book1[i].returnedmonth);

printf("输入还书日期:

");

scanf("%ld",&book1[i].returnedday);

getchar();

for(j=0;j

fwrite(&book1[i],sizeof(book),1,fp);

}

else

printf("输入有误\n");

fclose(fp);

}

voidbooks()n");

exit(0);

}

while(ch=='y'||ch=='Y')

{

printf("\n");

printf("》》》输入编号1:

");

gets;

printf("\n");

printf("》》》编号2:

");

gets;

printf("\n");

printf("》》》类型:

");

gets;

printf("\n");

printf("》》》书名:

");

gets;

printf("\n");

printf("》》》出版社:

");

gets;

printf("\n");

printf("》》》作者:

");

gets;

printf("\n");

printf("》》》总数:

");

gets(numchar);

printf("\n");

=atol(numchar);

printf("》》》剩余:

");

gets(numchar);

printf("\n");

=atol(numchar);

fwrite(&shu,sizeof(shu),1,fp);

do{

printf("haveanotherbookrecord(y/n)?

:

");

gets(numchar);

ch=numchar[0];

}while(!

(ch=='y'||ch=='n'||ch=='Y'||ch=='N'));

}

fclose(fp);

}

voidborrowed()n");

exit(0);

}

while(fread(&tu[i],sizeof(shu),1,fq))

{

i++;

m1=i;

}

if((fp=fopen("","r"))==NULL)

{

printf("cannotopenthe.\n");

exit(0);

}

while(fread(&book1[i],sizeof(book),1,fp))

{

i++;

m2=i;

}

for(i=0;i

{

printf("\n");

printf("输入编号2:

");

gets(numchar);

for(j=0;j

{

if(strcmp(numchar,tu[j].bianhao2)==0)

{

n=j;

flag=1;

break;

}

}

if(flag)

{

printf("\n");

printf("输入正确\n\n");

flag=0;

strcpy,numchar);

printf("》》》输入编号1");gets;printf("\n");

printf("》》》借书年份:

");gets(numchar);printf("\n");=atol(numchar);

printf("》》》借书月份:

");gets(numchar);printf("\n");=atol(numchar);

printf("》》》借书日期:

");gets(numchar);printf("\n");=atol(numchar);

printf("》》》还书月份:

");gets(numchar);printf("\n");=atol(numchar);

printf("》》》还书日期:

");gets(numchar);printf("\n");=atol(numchar);

printf("》》》期限:

");gets(numchar);printf("\n");=atol(numchar);

printf("》》》学生学号:

");gets;printf("\n");

if((fp=fopen("","w"))==NULL)

{

printf("cannotopenthe.\n");

exit(0);

}

fwrite(&book,sizeof(book),1,fp);

for(j=0;j

{

fwrite(&book1[j],sizeof(book),1,fp);

}

for(j=0;j

{

if(strcmp(tu[n].bianhao1,tu[j].bianhao1)==0)

tu[j].shengyu--;

}

if((fq=fopen("","w"))==NULL)

{

printf("cannotopenthe.\n");

exit(0);

}

for(j=0;j

{

fwrite(&tu[j],sizeof(shu),1,fq);

}

}

else

{

printf("输入错误\n");

i--;

}

}

fclose(fq);

fclose(fp);

}

voidmain()

{

intflag=1;

chara[20];

puts("┌──────────────────────────┐");

puts("││");

puts("││");

puts("││");

puts("││");

puts("││");

puts("│欢迎使用图书信息管理系统│");

puts("││");

puts("││");

puts("││");

puts("││");

puts("│█████│");

puts("│█田█田█│");

puts("│█田█田█│");

puts("│█田█田█.│");

puts("│█田█田█.│");

puts("│█████│");

puts("│◢██□██◣.│");

puts("││");

puts("││");

puts("│请选择您需要的功能:

│");

puts("││");

puts("│(直接键入对应数字)│");

puts("││");

puts("││");

puts("││");

puts("│1.图书创建│");

puts("││");

puts("│2.打印图书信息表│");

puts("││");

puts("│3.图书追加与录入│");

puts("││");

puts("│4.修改图书信息│");

puts("││");

puts("│5.删除图书信息│");

puts("││");

puts("│6.借书│");

puts("││");

puts("│7.还书│");

puts("││");

puts("││");

puts("││");

puts("││");

puts("││");

puts("││");

puts("└──────────────────────────┘");

while(flag)

{

flag=0;

scanf("%s",a);

getchar();

if(strcmp(a,"3")==0)

putin();

elseif(strcmp(a,"1")==0)

books();

elseif(strcmp(a,"6")==0)

borrowed();

elseif(strcmp(a,"2")==0)

print();

elseif(strcmp(a,"7")==0)

returned();

elseif(strcmp(a,"4")==0)

xiu();

elseif(strcmp(a,"5")==0)

shan();

else

{

printf("输入错误请重新输入:

");

flag=1;

}

}

}

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1