c语言程序设计报告图书管理系统Word文件下载.docx

上传人:b****2 文档编号:15319615 上传时间:2022-10-29 格式:DOCX 页数:17 大小:94.88KB
下载 相关 举报
c语言程序设计报告图书管理系统Word文件下载.docx_第1页
第1页 / 共17页
c语言程序设计报告图书管理系统Word文件下载.docx_第2页
第2页 / 共17页
c语言程序设计报告图书管理系统Word文件下载.docx_第3页
第3页 / 共17页
c语言程序设计报告图书管理系统Word文件下载.docx_第4页
第4页 / 共17页
c语言程序设计报告图书管理系统Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

c语言程序设计报告图书管理系统Word文件下载.docx

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

c语言程序设计报告图书管理系统Word文件下载.docx

图书管理系统

2.程序设计思路

根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;

还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;

另外还有键盘式旋转菜单以实现功能选择模块。

3.功能模块图

系统功能模块图

4.数据结构设计

先写主函数main(),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。

每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。

每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。

5.算法设计

先定义结构体数组structbooks,然后设置主界面,主界面出现6个功能选项,分别是输入sr()

、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下:

输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调用。

其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者,然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb.

查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。

删除模块就是在查找功能的图书后,选择删除,将strcpy将s[i+1]的值赋给s[i]。

借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt变为已借出,然后输入姓名,学号,性别,最后显示出已借出。

还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。

退出模块使flag=1,而在main就有boolflag且main中已令main=0.这样就实现了退出功能。

其中若输入超过选项值后,都会显示输入错误,请重新输入。

若字符错误,程序就直接出现错误了。

6.程序代码

#include<

stdio.h>

windows.h>

string.h>

conio.h>

#defineM100

structbooks

{

chartsmc[12];

inttsbh;

floatdj;

charzz[12];

charczzt[12];

charxm[12];

charxb[12];

intxh;

}s[M];

intN;

boolflag;

intmain()

{

intsele;

flag=0;

sele=1;

voidsr();

voidcx();

voidsc();

voidjs();

voidhs();

voidtc();

voidjsh();

//system("

tsgl"

);

printf("

\n\n"

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

1:

输入2:

查询3:

删除\n"

4:

借书5:

还书0:

退出\n"

while

(1)

{

\n\n请输入功能序号:

"

scanf("

%d"

&

sele);

if(sele>

=0&

&

sele<

=5)

switch(sele)

{

case1:

sr();

break;

case2:

cx();

case3:

sc();

case4:

js();

case5:

hs();

case0:

jsh();

}

if(flag)

break;

else

printf("

输入错误请再次输入|\n\n"

}

\n\n让任意键继续\n"

//wr_file();

}

/******主函数***/

/*********输入*********/

voidsr()

intn,i;

N=0;

可输入的书本数:

scanf("

n);

N=n+N;

请输入相关信息:

\n"

for(i=1;

i<

=n;

i++)

图书名称:

%s"

s[N-n-1+i].tsmc);

图书编号:

s[N-n-1+i].tsbh);

单价:

%f"

s[N-n-1+i].dj);

作者:

s[N-n-1+i].zz);

strcpy(s[N-n-1+i].czzt,"

未借出"

strcpy(s[N-n-1+i].xm,"

无"

/********查询**********/

voidcx()

inti,j[100]={-1},d,k,t=0;

charm[20];

查询:

1:

图书名称2:

图书编号"

\n\n请输入查询选项:

k);

if(k==1)

请输入图书名称:

scanf("

m);

for(i=0;

N;

if(strcmp(m,s[i].tsmc)==0)

{

j[t]=i;

t=t+1;

}

elseif(k==2)

请输入图书编号:

d);

if(d==s[i].tsbh)

t++;

if(j[0]==-1&

t==0)

没有找到!

if(j[0]!

=-1&

t!

=0)

\t图书名称\t图书编号\t单价\t作者\t存在状态\t借书人姓名\t性别\t学号\n"

for(i=0;

t;

\t%s\t%d\t%f\t%s\t%s\t%s\t%s\t%d"

s[j[i]].tsmc,s[j[i]].tsbh,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh);

/********删除模块*********/

voidsc()

inti,d,k,t=0;

charms[20];

intja=-1;

ms);

if(strcmp(ms,s[i].tsmc)==0)

ja=i;

break;

确定删除该图书吗?

1表示Yes,其他No"

intp;

p);

if(p==1)

Congratulations,删除成功||\n"

if(ja!

p)

N=N-1;

for(i=ja;

strcpy(s[i].tsmc,s[i+1].tsmc);

s[i].tsbh=s[i+1].tsbh;

s[i].dj=s[i+1].dj;

strcpy(s[i].zz,s[i+1].zz);

strcpy(s[i].czzt,s[i+1].czzt);

strcpy(s[i].xm,s[i+1].xm);

strcpy(s[i].xb,s[i+1].xb);

s[i].xh=s[i+1].xh;

elseif(ja==-1)

printf("

没有找到!

/**********借书模块***********/

voidjs()

inti,j[100]={-1},d,k,t=0;

charm[20];

if(k==1)

printf("

scanf("

m);

for(i=0;

if(strcmp(m,s[i].tsmc)==0)

{

j[t]=i;

t=t+1;

}

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

当前位置:首页 > 人文社科 > 法律资料

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

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