欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOCX文档下载
 

C语言程序设计课程设计

  • 资源ID:158874861       资源大小:161.05KB        全文页数:18页
  • 资源格式: DOCX        下载积分:20积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要20积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

C语言程序设计课程设计

C语言课程设计小型图书馆管理系统学生姓名专业班级指导教师职 称所在单位教学部主任1需求分析11.1系统概述112系统运行环境11.3功能需求描述12总体设计12.1开发与设计的总体思想12.2系统模块结构22.3模块设计22.4系统流程描述32.5界面设计33详细设计63.1应用部署图63.2査询功能模块73.3删除功能模块93.4系统维护模块124系统测试16总 结16参考文献171需求分析1. 1系统概述此系统对于图书馆的管理者和读者來说都至关重要,直接关系到图书的借用率,所 以开发图书管理系统能够为管理员和读者提供充足的信息和快捷的查询手段。系统实现 图书馆的增加图书、查询图书、删除图书、借阅图书、还书;增加读者、查询读者、删 除读者、借书信息等智能化管理过程。图书管理员只需略懂电脑知识就可以简易的操作 该图书馆管理系统。1. 2系统运行环境1硬件环境处理器: bitei Pentium 166 MX 或更高内存:32M硬盘空间:1GB显卡:SVGA显示适配器2. 软件环境操作系统:Windows 98/ME/2000/XP开发语言:Visual C+1. 3功能需求描述小型图书馆管理系统主要是为图书管理员提供一个方便易用的界面,同时还具有查 看读者及书籍的添加、查询、修改、删除的功能。小型图书馆管理系统主要需要实现以下一些基本功能:1. 借出图书:依据学号,学生可以借出指定图书。2. 归还图书:依据学号,学生可以归还所借图书。3. 图书信息维护模块:增加图书、删除图书,以及更改、查询图书信息。4. 读者信息维护模块:增加读者、删除读者,以及更改、查询读者信息。2总体设计2.1开发与设计的总体思想本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主 要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了 解图书馆内的情况。2. 2系统模块结构依据需求分析结果,图书馆管理系统可以分为四个模块:借书功能模块、还书功能 模块、图书信息维护模块、读者信息维护模块如图2-1所示:图2-1系统模块结构图图23系统总体流程图3详细设计基于系统需求分析与系统总体设计的结论,下面按照模块的划分來分别阐述系统的 详细设计和实现过程。3.1瞒类型本系统中主要采用结构数据类型存储图书、读者等的基本信息。本系统中定义class 类类型用于描述图书信息。class结构体类型定义格式如下:class bookpublic:int no;char name20;char author10:int price;int b_flag;int b_del;public:其中name用于描述图书名称,author用于描述图书作者。用于描述读者信息的类类型class定义格式为:class readerpublic:int no; int sex;读者性别,1表示男,0表示女char name20;int r_del; int r_bor;/I存在,2删除/I借过书,2没有借书book brbook;public:void addreader(int id, char na, int s)/增加读者no = id;sex = s:strcpy(name, na);r_del = 1; _3. 2图书馆管理系统功能模块图书馆管理系统模块主要提供图书管理员实现增加图书、查询图书、删除图书、借 阅图书、还书;增加读者、查询读者、删除读者、借书信息等。该模块按照查询方法不 同分为借书功能模块、还书功能模块、图书信息维护模块、读者信息维护模块。一、借书模块功能设计与实现1. 借书模块描述通过输入学号、书号,借取图书2. 借书模块算法函数设计如下:int findbooks(int suffix)int no;cout « "请输入书号:";cin >> no;for (int i 二 0; i <= top; i+)if (btarrayi.no 二二 no && btarrayib_del 二二 1) "return i;return 一1;二、还书模块功能设计与实现1. 还书模块描述通过输入学号、书号,还图书2. 还书模块算法函数设计如下:int findreaders (int suffix)int no;cout « "请输入学号:;cin » no;for (int i=0; i 二 top; i+)if (rdarrayi.no 二二 no && rdarrayir_del 二二 1) _return i;return T; 三、图书维护模块功能设计与实现1. 图书维护模块描述增加图书、删除图书,以及更改、查询图书信息。2. 还书模块算法函数设计如下:(1) 增加图书void addbooks()book bk;int no;char bname20;char bau10; int pr;cout << endl « cin » no;cout << endl « cin » bname: cout << endl « cin » bau;cout << endl « cin » pr;cout << endl;请输入书号:;请输入书名:;请输入作者:;请输入价格:;bk b_flag = 1:bk addbook (no, bname, bau, pr) top+;btarraytop二 bk;return;(2) 修改图书信息void edit books ()int cur;cur 二 findbooks():if (cur = -1)cout << "没有这本书" endl;return;cout< "书 号:"<< btarray cur. no « " 书名:"<< btarray cur. name « "作者:"« btarray cur. author « "价格:"« btarray cur. price << endl;cout << "请修改数据:"endl;cout << endl « 书的名称:";cin » btarraycur. name;return;(3) 删除图书 void delbooks()int cur;cur 二 findbooks():if (cur = -1)return;if (btarraycurb_flag 二二 2) 一cout « 该图书己经借出,请在归还后再删除。 « endl;return;btarraycurb_del 二 2;return;(4) 查找图书int findbooks()int no;char value6;cout « "请输入书号:;cin » no;for (int i 二 0; i 二 top; i+)if (btarrayi. no = no && btarrayi. b_del = 1) if (btarray i. b_flag = 1) strcpy (value,"在架”);if (btarray i. b_flag = 2) strcpy (value,"借出”);cout << "书号:"<< btarray i. no << "书名:"<< btarray i. name << "作者:" btarrayi. author << "价格:" btarrayi. price « "图书状 态:"< value « endl;return i;return 一1;(5) 显示全部图书信息void listbooks ()char value6;for (int i 二 0; i 二 top; i+)if (btarrayi. b_del = 1)if (btarray i. b_flag = 1) strcpy (value,"在架”);if (btarray i. b_flag = 2) strcpy (value,"借出”);cout << "书号:"<< btarrayi. no « 书的名称:"<< btarray i. name << 图书状态:"<< value << endl;return;三、读者维护模块功能设计与实现1. 读者维护模块描述增加读者、删除读者,以及更改、查询读者信息。2. 读者模块算法函数设计如下:(1) 增加读者void addreaders()reader rd;int no;int rs:char rname20:cout 请输入学号:;cin » no;cout << endl <"请输入姓名:";cin » rname:cout « endl « 请输入性别(1为男,0为女):";cin » rs;cout << endl;rd. addreader (no, rname, rs);rd r_bor = 2;top+;rdarraytop二 rd;return;(2) 修改读者信息void editreaders()int cur;cur 二 findreaders():if (cur = -1)cout << "没有该学生"« endl;return;cout << "请修改数据:"« endl;cout << endl « "姓名:";cin » rdarraycur.name:return;(3) 删除读者void delreaders()int cur;cur 二 findreaders():if (cur = -1)return;if (rdarraycurr_bor 二二 1) _cout « 该用户借了图书,请还书后再删除 « endl;return;rdarraycurr_del 二 2;return;(4) 查找读者int findreaders()int no;char value3;cout « "请输入学号:;cin » no;for (int i=0; i 二 top; i+)if (rdarrayi.no 二二 no && rdarrayir_del = 1) if (rdarray i r_bor 二二 1) strcpy (value,"借“);if (rdarray i r_bor 二二 2) strcpy (value, 无“);cout << "学号:"<< rdarray i. no << "姓名:"<< rdarray i. name << "是否借书:"« value « endl;return i;return T;(5) 显示全部图书信息void listreaders()char value3:for (int i=0; i 二 top; i+)if (rdarrayi.r del 二二 1)if (rdarray i r_bor 二二 1) strcpy (value,"借);if (rdarrayi r_bor 二二 2) strcpy(value, 无“);cout << "学号:"<< rdarray i. no << "姓名:"<< rdarray i. name << "是否借书:"< value « endl; return;4系统测试对于软件测试而言,黑盒测试是把程序看成一个黑盒子,完全不考虑程序的内部结 构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否 能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信 息,并且保持外部信息(如:数据库或文件)的完整性。黑盒测试乂成为功能测试。而 白盒测试法的前提是可以把程序看成装在一个透明的白盒子里也就是完全了解程序的 结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否 都能按预定的要求正确工作。白盒测试又称为结构测试。在设计得好的软件系统中,每个模块完成一个清晰定义的子功能,而且这个子功能 和同其他模块的功能之间没有相互依赖关系。因此,可以把每个模块作为一个单独的实 体來测试,而且通常比较容易设计检验模块正确性的测试方案。模块测试的目的是保证 每一个模块作为一个单元能正确运行。4.1登陆图书査询系统运行程序:” E?港衣D“k*op小IS书胚Debug'卫稈l&exJ X图书管理系抚借书还书因书百51用户管理5)退岀*:* :* *4.2借书输入“1”来选择书号以借书< S3 *C:U5eroW££)«opdvEffiDebugH=BSfi.exe,忖*杠*:*:4:*杠*刘*:*桶*紳* 匸图书管理系抚借书:还书因书百球*杠用户管理5)退岀吋 * 杠細:初:*刘心*:4:* 杠:m:*w<* ?14. 3査看图书情况输入“3”进入图书维护,在图书维护中输入“5”來查看图书的基本情况价格:态人间失格作者:丈宰治I?: 2 llil:孤39图书狀态:借岀因书维护*蛍加*直蕊*曲i*程b*显示*(6)返回上一层*%囹书维护*I増如*片(2)#改* 團除* (4)4 坡* 显不* (6)1回上一层*L*4. 4在读者维护中输入“5”来了解所有读者的借书情况*<6)1E± 一层* 好紜_iw_§7X/X?S/)2 2 4 5 6借无总 结在初学C语言的一-个学期后,我们进行了 C语言实训阶段,尝试编写一个比较复 杂的程序系统。在为期两周的时间中,我们同组的同学共同的感受是:C语言实训和平 时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟 的。好在同组的搭档们精诚合作,分工明确, 有问题共同解决,攻克了 C语言实训的 较为复杂程序。在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东 西还要去翻书,去上网搜索。而且遇到一-些小错误运行不出来,就会烦躁不安,觉得 有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一-颗良好的心态,学好C语 言,也学好用C语言编写一个按要求的系统。还有就是对于未來,近程就是下学期,我觉得我还有许多方面需要提高。首先我 要继续学习好C语言的基础知识,然后能在电脑.上熟练的运用。然后每天都能写一些 程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多 弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。实训项目使我们熟悉了 C程序设计过程,培养了我们的环境适应能力及发现问题、 分析问题、解决问题的实际工作能力,为我们今后的发展打下了良好的基础。参考文献1 李瑞.徐克圣.刘月凡.戚海英.C程序设计基础M.北京:清华大学出版社. 2009. 72 布鲁志著.吴丹等译.面向对象的软件工程一构建复杂且多变的系统M.北京:清 华大学出版社.2002. 103 霍顿(美).杨杰(译).北京:清华大学出版社.20084 薛圆圆.C语言开发手册.北京:电子工业出版社.2011.4

注意事项

本文(C语言程序设计课程设计)为本站会员(m****)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!