学生信息管理系统的设计与实现的设计书Word格式.docx
- 文档编号:21069257
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:21
- 大小:262.68KB
学生信息管理系统的设计与实现的设计书Word格式.docx
《学生信息管理系统的设计与实现的设计书Word格式.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统的设计与实现的设计书Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
chartime[20];
floatprice;
intcount;
3.3各个功能的函数:
voidputin()
voidsearch_by_name()
voidsearch_by_author()
voidsearch()
voiddel()
voidupdate()
4.详细设计
4.1主函数的算法设计
定义登录号
定义书名
定义作者名定义出版单位定义出版时间
定义价格
定义书的本数
定义录入函数定义按书名查询定义按作者名查询定义查询函数定义删除函数修改图书信息
首先运行程序,进入菜单,然后选择操作(运用swith语句),调用各子函数在返回操作中运用while语句进行控制返回菜单
开始
输入选择
+退出图书信息系统
结束
IJ
图2程序总体运行功能示意图
4.2各子函数的算法设计
4.2.1图书信息录入函数
程序运行后输入数字“1”进行图书信息录入功能
图3图书信息录入函数示意图
4.2.2图书信息浏览函数
在主菜单进行操作,输入2进入图书信息浏览界面,图书信息进行显示,按任意键返回;
4.2.3图书信息的查询函数
voidsearch()选择查询方式,1按书号查询,2按书名查询,然后定位,在调用输出函数;
4.2.4图书信息的删除函数
在主菜单进行操作,输入4进入图书信息删除界面,图书信息提示输入要删除
信息的编号,按要求输入索要删除图书信息的编号,按回车键进行返回;
图5图书信息删除函数示意图
4.2.5图书信息的修改函数
在主界面进行操作,输入5进入图书信息修改界面,按显示信息的提示,输入要修改图书信息的编号,进行修改,继续按显示信息的提示依次修改,修改完成后按回车键返回,可输入2进入图书信息浏览进行检验;
图6图书信息修改函数示意图
5.调试与测试结果分析
在vc的环境下调试程序,进入菜单界面。
(如图7所示)
图7菜单界面
5.1图书信息录入
从菜单界面输入“1”进入图书信息管理系统的主界面。
(如图8、图9所示)
a:
\DocaaentsandSettings\jLd>
i&
istrat»
r书音澤\11屯1>
叱\1111£
1«
1£
11:
«
12.述芒・|I
图书信息管理禺统
图8图书信息录入
是否纟也续录人"
.继续汕,區出录入趴
图9录入图书信息
5.2图书信息浏览
输入”0”返回菜单主界面,再输入“2”进行图书信息浏览功能;
(如图10、图
11所示)
图10图书信息浏览
图11浏览图书信息
5.3图书信息查询
按回车返回菜单界面并输入“3”进行图书信息查询功能;
(如图12所示)
图12图书信息查询
界面显示1通过查询2通过作者查询3退出(如图13、图14所示)
c:
f-\Dorweiit5andSettincsVAidBinistratoir\^S\l£
^lSir|-\E'
4^,SflP\Debia^'
lwskii<
iiBii2.exe*I|:
36arcli_j3y_namcac<
srchJby_writer七*~ww押w押w押Ntw輛■■;
■禅■■耐*■*■£
**请進捶攸想要的查询万式瑰
睥牡畜靈隹諾%版社出版日期
6fi2uenhuaqu.dlezliou2012_G_G
图书价格
2(30-08
图13按书名进行查询
r:
:
'
MC_\Dn>
ir,iiuBMite-oiiiidScltiThfcAkidMiai£
tra^LEBr39*・。
・・雷*艷・匚人・9031$
厂妬查询
二1HJN
~□
1-1
请圈酗
S@<
rvh_I>
y」idine—p©
amwritt?
r
—-exit
请选揺你想要的査询方武:
2入要查询的书的'
庄香hfit*号图书生件古点出版社出版口期
siUAngJiaodezliou2U13_5_4
圏书价梧
2MM.MU
图14按作者名进行查询
如果输入信息不符将出现如下界面(如图15所示):
ocv
.eae
i—
肝始杳询
se<
fch_b粉屮it>
ef
请选择你悒曼的直询方式=1
噩汽聽书磊器獵社出版日期
nar>
nntfound?
_
图15查询结果错误
5.4图书信息删除
返回并输入4进行图书信息删除功能;
(如图16、图17所示)
图16图书信息删除
图17显示删除后的信息
5.5图书信息修改
返回菜单界面并输“5”进行图书信息修改功能;
(如图18所示)
SiA®
改后此圏书妁信息001
名:
dan艸
塔:
qu.lu
:
dezhou
吋间:
2ftl3;
.S.fi
图18图书信息修改
返回并查询“图书信息浏览”(如图19所示)
图19图书信息浏览
5.6退出图书信息管理系统
输入数字“0”退出图书信息管理系统
5.7上机调试感想
在调试过程中出现了许多错误!
特别是查询,修改和删除这三个函数的调试花了很多时间,主要是文件的写入与读出以及菜单调试的问题,还有建立新的也出现问题,说明自己对程序的执行过程理解不够深刻。
6总结
通过这次课程设计,使我们更加熟练的使用C语言进行编程,并且复习并巩固了以前学到的知识。
编程能力也有提高,尤其是在使用函数、指针、数组、结构体、文件等方面有了很大进步,而且还学到了课本中没有的知识。
只有经过实际操作,进行实际编程训练才能更好地发现问题,运用课本知识,在解决实际的问题中发现不足。
在程序中的函数是实现模块化编程的基础,它使程序变得方面易懂,对修改起了很大作用,降低了编程的难度。
一个函数就是一个功能,它使各个功能之间有了一定的独立性,但也有了一定的联系性。
在程序的调试过程中,也加深了对函数的理解,并更好的运用了函数。
结构体的使用,为本程序提供了很大方便,也提高了程序的可读性,结构数组方便了对数据的管理。
并且,在课程设计的过程中,也加深了我们的团队意识,同学间通过讨论,并运用所学的知识,为了我们共同的目的而努力,收获了很多。
参考文献
[1]延红,王付山.C语言程序设计教程[M].:
国防工业,2010.152-171.
[2]石柱,何新贵.优序法在软件评价中的应用[J].计算机工程与设计,2002,23
(2):
45-46.
[3]路明.C语言程序设计(第2版)[M].:
邮电大学,2005-12-01.
[4]谭浩强.C程序设计(第二版)[M].清华大学,1998.
[5]王新,雷.C语言课程设计[I].清华大学,2009-12-01.
⑹武子.C程序设计辅导与实训[M].清华大学,2004.
附录
#include<
stdio.h>
#include<
stdlib.h>
string.h>
typedefstruct{
〃书号
charname[20];
〃书名
〃作者
〃
〃出版时间
}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);
voidputin()/*定义录入函数*/
inty=1;
system("
cls"
while(y)
\t请输入您的书籍的书号:
"
scanf("
%s"
library.book[library.count].number);
printf("
\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,退出录入):
fflush(stdin);
scanf("
%d"
y);
if(y!
=1)
y=0;
break;
save();
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();
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!
voidsearch_by_author()/*定义按作者名查询*/
chars3[20];
请输入要查询的书的作者:
s3);
if(strcmp(s3,library.book[i].author)==0)
inta;
\t\t******************************\n"
开始查询\n"
\t\t请选择你想要的查询方式:
a);
switch(a)
case1:
search_by_name();
case2:
search_by_author();
case0:
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;
library.count--;
else
\ncannotfound!
\n"
getchar();
voidupdate()//修改图书信息
{if(strcmp(number,library.book[i].number)==0)
图书号\t图书名\t作者名\t\t出版日期\t图书价格\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);
mbookbook;
\n\t\t请输入修改后此图书的信息\n"
\t请输入图书号:
book.number);
\t请输入图书名:
book.name);
book.author);
book.publish);
book.time);
book.price);
strcpy(library.book[i].name,book.name);
strcpy(library.book[i].number,book.number);
strcpy(library.book[i].publish,book.publish);
strcpy(library.book[i].author,book.author);
strcpy(library.book[i].time,book.time);
library.book[i].price=book.price;
voidmain()
if((fp=fopen("
r"
))==NULL){
\n不能打开图书信息库\n"
fp=fopen("
w+"
\n初始化图书信息库,初始化之后要重启程序\n"
library.count=0;
fclose(fp);
fread(&
fread(library.book,sizeof(library.book[0]),library.count,fp);
do
图书信息管理系统\t\t\t\t\n"
**********\n"
图书信息录入\n"
图书信息浏览\n"
图书信息查询\n"
图书信息删除\n"
图书信息修改\n"
退出图书信息系统\n"
)
\t\t
*******************************************
**\n"
\t\tPleaseEnterChoose:
putin();
lookup();
case3:
search();
case4:
del();
case5:
update();
\n\n退出\n\n"
default:
\n序号不对\n"
}while(a!
=0);
指导教师评语
学号
成绩
指导教师或答辩小组成员(签名)
分别给小组的每个成员打分。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 设计 实现