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

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

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

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

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

3)培养学生在项目开发中团队合作精神、创新意识及能力。

2.要求:

1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;

可以加以其他功能或修饰,使程序更加完善、合理。

2)系统设计要实用,编程简练,可用,功能全面。

3)说明书、流程图要清楚。

4)记录设计情况(备查,也为编写设计说明书作好准备)。

5)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。

6)设计上交内容:

设计报告一份(按格式书写);

源程序一份,能编译成可执行文件并能正常运行。

二、本组课题及本人任务

课题:

图书信息管理系统设计

图书信息包括:

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

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

1.系统以菜单方式工作。

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

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

4.查询和排序功能:

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

a.按书名查。

b.按作者名查询。

本人任务:

负责设计和编写图书信息管理系统的修改图书信息部分。

三、程序功能简介

本系统是以visualC++6.0环境下用C语言开发的一个图书管理系统。

本系统具有图书信息录入、浏览、删除、修改、查找(包括按书名、作者查找)功能。

其中图书信息包括登录号、书名、作者名、分类号、出版单位、出版时间、价格,并且对信息以文件形式储存。

另外本系统具备实用性的同时代码逻辑谨慎清晰易懂,且界面美观。

四、主体内容

1.设计分析

本系统共分为一个主页面模块(主函数部分),五个功能模块(功能函数)分别为图书信息录入、图书信息浏览、图书信息查询、图书信息删除、图书信息修改。

设计时应该先写好主函数、定义好全局变量和功能函数,再对五个功能函数进行设计。

在每个功能函数和主函数应中加入控制条件使用户可以随时退出系统,并在用户输入指令错误的时候给予提醒和退出选项。

小组中的五个人分别承担一个功能模块进行设计。

并在每个人设计完成后通过主函数进行链接调试正确后方为完成。

2.程序结构(流程图)

3.各模块的功能及程序说明

A、录入模块:

本模块主要执行信息录入功能。

B、浏览模块:

本模块主要是执行把已有信息输出浏览功能。

C、查询模块:

本模块主要是执行按书名和按作者名查找图书信息的功能。

D、删除模块:

本模块主要执行删除图书信息的功能。

E、修改模块(本人设计模块):

本模块主要执行图书信息修改功能。

在用户选择该功能后。

首先,系统会弹出已存在信息列表并让用户选择所要修改的信息项目。

然后,当用户选定要修改的信息后会弹出信息目录,用户需按顺序依次修改信息内容。

最好当所有信息项目都修改完成之后,按回车键会在窗口上输出修改后的内容。

4.源程序

#include<

stdio.h>

string.h>

stdlib.h>

conio.h>

#defineMAX100

structStudent

{

intnum;

/*登录号*/

charname[100];

/*书名*/

charauthor[100];

/*作者名*/

charfn[100];

/*分类号*/

charplace[100];

/*出版单位*/

charday[100];

/*出版时间*/

floatmoney;

/*价格*/

}stu[MAX];

main()/*主函数*/

voidInput();

/*输入*/

voidDisplay();

/*输出*/

voidFind();

/*查找*/

voidModify();

/*删除*/

voidChange();

/*修改*/

intn;

for(;

;

{

printf("

\n"

);

printf("

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"

※※\n"

※欢迎来到图书信息管理系统※\n"

※主菜单※\n"

※▲1.图书信息录入▲※\n"

※▲2.图书信息浏览▲※\n"

※▲3.图书信息查询▲※\n"

※▲4.图书信息删除▲※\n"

※▲5.图书信息修改▲※\n"

※▲6.退出系统▲※\n"

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n"

请输入选择项(1-6):

"

scanf("

%d"

&

n);

\n\n\n\n"

if(n>

0&

&

n<

7)

{

switch(n)

{

case1:

Input();

break;

case2:

Display();

case3:

Find();

case4:

Modify();

case5:

Change();

case6:

printf("

※※※※※※※※※※※※※※※※※※※※※※※※\n"

※谢谢使用!

※\n"

※再见!

exit(0);

}

}

else

printf("

※输入错误!

※请退出!

break;

}

}

voidFind()/*查找*/

{

FILE*fp;

inti;

intchoose,t;

charans[100];

do

1.按书名查找\n"

2.按作者名查找\n"

返回主菜单(其他数字)\n"

scanf("

choose);

if(choose==1)

输入所查书名:

scanf("

%s"

ans);

t=-1;

if(choose==1)

for(i=0;

i<

MAX;

i++)if(strcmp(ans,stu[i].name)==0)

{

t=i;

fp=fopen("

student"

"

rb"

for(i=0;

fread(&

stu[i],sizeof(structStudent),1,fp)==1;

i++)

printf("

%d%s%s%s%s%s%f\n"

stu[t].num,stu[t].name,stu[t].author,stu[t].fn,stu[t].place,stu[t].day,stu[t].money);

}

if(t==-1)printf("

不存在该信息\n"

elseif(choose==2)

输入所查作者名:

if(choose==2)

if(strcmp(ans,stu[i].author)==0)

{t=i;

printf("

elsereturn;

}while

(1);

voidDisplay()/*输出*/

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"

图书列表\n"

-----------------------------------------------------------\n"

登录号书名作者名分类号出版单位出版时间价格\n"

for(i=0;

%6d%8s%8s%8s%8s%8s%8.2f\n"

stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].day,stu[i].money);

fclose(fp);

voidInput()/*输入*/

ab+"

for(n=0;

n++)

n=%d输入序号n(当输入n=-1时,返回),n="

n++);

if(n==-1)

fclose(fp);

return;

else

请输入登录号书名作者名分类号出版单位出版时间价格\n"

%d%s%s%s%s%s%f"

stu[n].num,stu[n].name,stu[n].author,stu[n].fn,stu[n].place,stu[n].day,&

stu[n].money);

fwrite(&

stu[n],sizeof(structStudent),1,fp);

voidModify()/*删除*/

inti,flag,n,s,j;

rb+"

rewind(fp);

}

n=i;

输入待删除图书号:

s);

for(i=0,flag=1;

flag&

n;

if(s==stu[i].num)

for(j=i;

j<

n-1;

j++)

stu[j].num=stu[j+1].num;

strcpy(stu[j].name,stu[j+1].name);

strcpy(stu[j].author,stu[j+1].author);

strcpy(stu[j].fn,stu[j+1].fn);

strcpy(stu[j].place,stu[j+1].place);

strcpy(stu[j].day,stu[j+1].day);

stu[j].money=stu[j+1].money;

flag=0;

if(!

flag)

n=n-1;

else

没有此号\n"

wb"

fwrite(&

stu[i],sizeof(structStudent),1,fp);

r"

fread(&

}

voidChange()/*修改*/

inti,num,n;

intflag=0;

请输入要修改的图书号:

num);

=MAX;

if(stu[i].num==num)

-----------------------------------------------------------\n\n"

flag=1;

if(flag==0)

输入错误!

请返回!

return;

\n\n\n"

fseek(fp,n*sizeof(structStudent),0);

5.操作方法(流程)

第一步:

双击打包好的.exe程序,打开程序。

第二步:

根据窗口提示内容作出选择。

第三步:

根据弹出的二级菜单作出选择。

第四步:

根据所选内容进行相应的操作。

第五步:

操作完毕,根据提示返回主菜单会直接退出该系统。

6.试验结果

A、图书信息录入:

数据输入:

数据输出:

B、图书信息浏览

输入数据:

C、图书信息查询

输出数据:

D、图书信息删除:

E、图书信息修改

F、系统退出

7.设计体会。

在这一周的程序设计实习当中并不是一帆风顺的。

刚开始到电脑面前听完老师讲了一大堆,我根本就不知道要做什么,用什么做。

我并没有被眼前的一点小困难所击倒,我相信困难总是有办法解决的。

于是开始的两天我就在网上找各种相关的文章、视频。

刚开始我就只是看着网上的东西照猫画虎的做一些小程序,慢慢的通过这些模仿我也渐渐的懂了一些东西。

通过两天的原始知识积累后,我开始尝试着按照自己的想法做了一些小系统。

起初会出现很多问题,不是这儿少了就是那错了。

在这样那样的错误中我明白编程是一件很严谨的事,容不得半点错误,一步走错,全盘皆输!

在出现错误时我通常是上网搜索相关的答案,听听大家的想法,往往一个问题的解决

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

当前位置:首页 > 法律文书 > 调解书

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

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