中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx

上传人:b****1 文档编号:15334756 上传时间:2022-10-29 格式:DOCX 页数:15 大小:152.63KB
下载 相关 举报
中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx_第1页
第1页 / 共15页
中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx_第2页
第2页 / 共15页
中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx_第3页
第3页 / 共15页
中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx_第4页
第4页 / 共15页
中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx

《中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

中国地质大学武汉C语言图书管理系统课程设计报告文档格式.docx

图书信息包括:

登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

试设计一图书信息管理系统,使之能提供以下功能:

(1)系统以菜单方式工作

(2)图书信息录入功能(3)图书信息浏览功能

(4)图书信息查询功能(5)图书信息的删除与修改

2.需求分析

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

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

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

3.总体设计:

根据题目要求,可以将系统分为六个模块:

图书信息管理系统

菜单图书图书图书图书图书

选择录入浏览查询删除修改

功能功能功能功能功能功能

模块模块模块模块模块模块

4.详细设计:

#include<

stdio.h>

stdlib.h>

string.h>

/*********图书信息结构体*********/

/***包括书号、书名、作者、出版社、出版时间,价格***/

typedefstruct{

charnumber[10];

//书号

charname[20];

//书名

charauthor[20];

//作者

charpublish[50];

//出版社

chartime[20];

//出版时间

floatprice;

//价格

}mbook;

intcount;

//书的本数

mbookbook[100];

//最大可有100本书

}mlibrary;

mlibrarylibrary;

voidsave()//保存图书信息

{

FILE*fp;

if((fp=fopen("

library.doc"

"

w"

))==NULL)

printf("

\n不能保存图书信息\n"

);

return;

}

fwrite(&

library.count,sizeof(int),1,fp);

fwrite(library.book,sizeof(library.book[0]),library.count,fp);

/***********图书信息录入功能模块***********/

/*分析:

设计一判断语句和循环语句,继续录入则输入1,为真,进入循环。

用scanf输入要录入的信息*/

voidputin()/*定义录入函数*/

inty=1;

system("

cls"

while(y)

\t请输入您的书籍的书号:

"

scanf("

%s"

library.book[library.count].number);

\t请输入书名:

library.book[library.count].name);

\t请输入作者名:

library.book[library.count].author);

\t请输入出版社:

library.book[library.count].publish);

\t请输入出版时间:

library.book[library.count].time);

\t请输入该书的价格:

fflush(stdin);

%f"

&

library.book[library.count].price);

library.count++;

\n是否继续录入(1.继续;

0,退出录入):

%d"

y);

if(y!

=1)

y=0;

break;

save();

/***********图书信息浏览功能模块***********/

设计一循环,在i<

总书本数library.count时,依次显示书的信息*/

voidlookup()

图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n"

for(inti=0;

i<

library.count;

i++)

%s\t%s\t%s\t%s\t%s\t%6.2f\n"

library.book[i].number,library.book[i].name,library.book[i].author,library.book[i].publish,library.book[i].time,library.book[i].price);

getchar();

/**********图书信息查询功能模块**********/

/**********按书名查询**********/

首先输入要查找的书名,然后利用循环语句和strcmp函数,把输入书名和已录入的所有书名一一比较,若相同,则跳出循环,将该书信息显示出来*/

voidsearch_by_name()/*定义按书名查询*/

{chars2[20];

intflag=1;

\n请输入要查询的书名:

"

s2);

for(inti=0;

i++)

if(strcmp(s2,library.book[i].name)==0)

flag=0;

if(flag)

cannotfound!

//清空输入缓冲区,为了确保不影响后面的数据读取

/**********按作者名查询**********/

首先输入要查找的作者名,然后利用循环语句和strcmp函数,把输入的作者名和已录入的所有书的作者名一一比较,若相同,则跳出循环,将该书信息显示出来*/

voidsearch_by_author()/*定义按作者名查询*/

chars3[20];

请输入要查询的书的作者:

s3);

if(strcmp(s3,library.book[i].author)==0)

/********************/

voidsearch()/*定义查询函数*/

inta;

/*进行清屏*/

\t\t******************************\n"

开始查询\n"

\t\t\t1---------------search_by_name\n"

\t\t\t2---------------search_by_writer\n"

\t\t\t0---------------exit\n"

);

\t\t请选择你想要的查询方式:

a);

switch(a)

case1:

search_by_name();

case2:

search_by_author();

case0:

/**********图书信息删除功能模块**********/

首先输入要删除的图书号,然后利用循环语句和strcmp函数,把输入的图书号和已录入的所有书的图书号一一比较,若相同,则跳出循环,然后利用循环语句和strcpy函数将后一本书的信息复制给前一本书,这样就达到了删除的目的*/

voiddel()/*定义删除函数*/

/*清屏*/

\nPleasetypeinthenumberofthebookyouwanttodelete:

number);

inti;

for(i=0;

if(strcmp(number,library.book[i].number)==0)break;

if(i!

=library.count)

for(;

library.count-1;

strcpy(library.book[i].name,library.book[i+1].name);

strcpy(library.book[i].number,library.book[i+1].number);

strcpy(library.book[i].publish,library.book[i+1].publish);

strcpy(library.book[i].author,library.book[i+1].author);

strcpy(library.book[i].time,library.book[i+1].time);

library.book[i].price=library.book[i+1].price;

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

当前位置:首页 > 求职职场 > 面试

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

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