C语言课程设计论文图书信息管理系统设计.doc

上传人:b****1 文档编号:230259 上传时间:2022-10-07 格式:DOC 页数:21 大小:243.50KB
下载 相关 举报
C语言课程设计论文图书信息管理系统设计.doc_第1页
第1页 / 共21页
C语言课程设计论文图书信息管理系统设计.doc_第2页
第2页 / 共21页
C语言课程设计论文图书信息管理系统设计.doc_第3页
第3页 / 共21页
C语言课程设计论文图书信息管理系统设计.doc_第4页
第4页 / 共21页
C语言课程设计论文图书信息管理系统设计.doc_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言课程设计论文图书信息管理系统设计.doc

《C语言课程设计论文图书信息管理系统设计.doc》由会员分享,可在线阅读,更多相关《C语言课程设计论文图书信息管理系统设计.doc(21页珍藏版)》请在冰豆网上搜索。

C语言课程设计论文图书信息管理系统设计.doc

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

 

中国地质大学

C语言课程设计

综合实习报告

 

题目:

图书信息管理系统

 

 

 

姓名:

班学号:

院系:

专业:

指导教师:

 

2008年7月

目录

(1)作者简介……………………………………………………………3

(2)报告摘要……………………………………………………………3

(3)报告主体……………………………………………………………3

   3.1 报告要求………………………………………………………3

   3.2 需求分析………………………………………………………3

   3.3 总体设计………………………………………………………4

   3.4 详细设计………………………………………………………4

    3.4.1 主函数………………………………………………4

    3.4.2 各功能模块设计……………………………………6

    3.4.3 公共函数……………………………………………12

   3.5 上机操作………………………………………………………15

    3.5.1 数据源………………………………………………15

    3.5.2 编译、连接和运行…………………………………15

    3.5.3 结果…………………………………………………15

 (4)实习总结…………………………………………………………20

(1)作者简介:

我叫王栋,是地球科学学院资源环境与城乡规划管理专业的二年级学生,有幸在大二上学期学习C程序设计这门课程.刚开始的时候对这门课没什么理解,觉得很难很复杂,而在后来慢慢深入的学习之后开始对其产生了兴趣。

看到自己亲手编写的程序能够发挥出作用,觉得能够运用自己写出来的东西做出成果很高兴。

同时也知道了做程序并不是想象之中的那么难的,只要我们能好好看懂课本上面的东西,并能在实践中加以练习就一定能够很好的掌握。

(2)报告摘要:

  本论文设计了程序:

《C语言课程设计指导书》第12题——图书信息管理系统。

这个管理系统能对图书信息(包括登录号、书名、作者号、分类号、出版单位、出版时间、价格等)进行有效地信息录入、浏览、查询、插入、删除等操作,会给用户带来很大的便利,达到既节省时间又节省精力的目的。

(3)报告主体:

3.1题目要求

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

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

  

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

  

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

  (3)图书信息浏览功能

  (4)图书信息查询功能

  (5)图书信息删除与修改功能(可选项)

    [提示]

  建立图书信息结构体,结构体成员包括登录号、书名、作者名、分类号、出版单位、出版时间、价格。

3.2需求分析

根据题目要求,要求对图书信息进行输入、输出等操作;在程序中需要浏览图书的信息,应提供显示、查找、浏览、插入、修改等操作;另外还应提供键盘式选择菜单实现功能选择。

3.3总体设计

根据需求分析,可以对这个系统的设计分为以下几个模块:

图书信息管理系统

数据输入

数据浏览

数据查找

数据插入

退出

             图1.3系统功能模块图

3.4详细设计

3.4.1主函数

  主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。

其中各功能模块用菜单方式选择。

[流程图]:

显示一系列功能选项

根据n的值调用各功能模块函数

N

Y

输入n,判断n是否是0-5

          图1.4.1主函数流程图

[程序]

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

main()

 menu();

 }/*****************menu函数********************/

voidmenu()

{

intn,w;

do

{

puts("\t\t**********************MENU************************\n\n");

puts("\t\t\t\t1.enter");

puts("\t\t\t\t2.browse");

puts("\t\t\t\t3.search");

puts("\t\t\t\t4.deleteormodify");

puts("\t\t\t\t5.add");

puts("\t\t\t\t6.exit");

puts("\n\n\t\t**************************************************\n");

printf("Choiceyournumber(1-5):

[]\b\b");

scanf("%d",&n);

if(n<1||n>6)

{

   w=1;

   getchar();

}

elsew=0;

} 

  while(w==1);

switch(n)

{

case1:

enter();break;

case2:

browse();break;

case3:

search();break;

case4:

deal();break;

case5:

add();break;

case6:

exit(0);

}

}

  

  注:

menu函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把menu函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。

3.4.2各功能模块设计

(1)输入模块

在这里主要运用结构体的形式来输入保存图书的各种信息,包括图书的登录号、书名、作者名、分类号等等,因为图书的数目众多,因此采用结构体数组的形式。

  

  用结构体来存放图书信息:

/********************结构体*******************/

#defineN100

#include

#include

#include

structbook

{

chardlnum[10];

charname[50];

charwriter[20];

charflnum[10];

charpressname[50];

charpresstime[20];

charprice[10];

}books[N];books[N]中每个数组元素对应一本图书*/

其中可以根据宏定义#defineN随时对N的值进行调整,扩大信息的储存量。

[程序]:

   /********************输入模块*******************/

voidenter()

{

inti,n;

voidmenu();

voidinput(intk);

voidsave(intk);

printf("Howmanybooks(0-%d)?

:

",N-1);

scanf("%d",&n);

printf("\nEnterdatanow\n\n");

for(i=0;i

{

printf("\nInput%dthbookrecord.\n",i+1);

input(i);

}

if(i!

=0)save(n);

printf("Passanykeytoback\n");

getchar();

menu();

}

(2)浏览模块

[需求分析]该模块的功能是显示所有图书记录信息。

[流程图]

显示图书记录(10个一屏)

按任意键显示下一屏

按任意键返回主菜单

图1浏览模块流程图

[程序]:

    /****************浏览(全部)模块***************/

voidbrowse()

{

intk;

voidmenu();

intload();

voidprintf_books(intn);

k=load();

printf_books(k);

printf("Passanykeytoback\n");

getchar();

menu();

}

(3)查找模块

/***************按书名查找模块***************/

  [流程图]:

按书名查找模块

用户作出选择,输入一整型数值

1,2,还是3

修改

返回主菜单

继续查找

图2按书名查找模块流程图

voidsearch_by_name()

{

structbooks;

intn,i,k=0;

intload();

voidprintf_one(inti);

n=load();

printf("enterabookname:

");

scanf("%s",&s.name);

for(i=0;i

if(strcmp(s.name,books[i].name)==0)

{

printf_one(i);

k=1;

}

if(k==0)printf("\nNotfoundthefile!

\n");

}  

/***************按作者查找模块***************/

[流程图]

按作者名称查找模块

用户作出选择,输入一整型数值

1,2,还是3

修改

继续查找

返回主菜单

图3按图书名查找模块流程图

 [程序]:

voidsearch_by_writer()

{ 

 structbooks;

intn,i,k=0;

intload();

voidprintf_one(inti);

n=load();

printf("enterawriter'sname:

");

scanf("%s",&s.writer);

for(i=0;i

if(strcmp(s.writer,books[i].writer)==0)

{

printf_one(i);

k=1;

}

if(k==0)printf("\nNotfoundthefile!

\n");

}

/***************按出版社查找模块***************/

按出版社查找模块

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

当前位置:首页 > 考试认证 > IT认证

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

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