ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:177.23KB ,
资源ID:2177912      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2177912.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(教材管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

教材管理系统.docx

1、教材管理系统沈 阳 航 空 工 业 学 院 课程设计学 号 _班 级 _姓 名 _指导教师 _年 月 日沈阳航空工业学院课程设计任务书机械与汽车学院 机械设计及其自动化专业 5406108班 学号200504061283一、课程设计题目:教材管理系统二、课程设计工作自2007年7月9日起至2007年7月14日止三、课程设计内容:运用所学的C语言知识,编制和调试程序,具有如下功能: (1) 教材录入(教材信息至少应包括书名、作者、出版社、总数量等数据项) (2) 教材查询 可以按照书名、作者、出版社分别进行查询 (3) 购买教材及教材的出卖 (4) 缺书统计(5)将教材信息存入文件book.da

2、t中。四、课程设计要求:程序质量: 贯彻结构化程序设计思想。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 用户界面中的菜单至少应包括“教材录入”、“教材查询”、“购买教材”、“出售教材”、“统计缺书”“退出”6项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下: 封面 课程设计任务书 目录 需求分析(分析题目的要求) 程序流程图(总体流程图和主要功能模块流程图) 核心技术的实现说明及相应程序段 个人总结 参考资料 源程序及适当的注释指导教师:_学生签名:_目录一、需求分析 1二、程序流程图 3

3、三、核心技术的实现说明及相应程序段 8四、个人总结 12五、参考文献 12六、源程序 13一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:教材录入信息函数(lu),查询教材函数(chaxun),购买教材函数(add),出售教材函数(sell),统计缺书函数(que)。1录入教材函数 主要是实现对最初的教材信息进行录入;2 查询教材函数 允许按照书号对教材的书名,作者,出版社,单价及现有数量进行查询;3 购买教材函数 主要是实现教材信息录入后,对教材信息的追加购买功能;4 出售教材函数 主要是实现按教材的书名,作者,出版

4、社,单价及出售数量对教材进行出售;5 统计缺书函数 主要是实现对所缺教材书名的统计。 除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一本教材记录都包含教材的书号,书名,作者,出版社,教材的价格及数量。在程序当中,将教材记录类型定义为结构体类型,购买以及录入教材信息直接写入E盘的book.dat文件中,其他函数每次对教材记录的访问,其来源都是book.dat文件,这样做不但可以保证教材数据的一致性,而且可以对教材数据进行永久保存,保证每次运行程序都可以采用原来的数据。二、程序流程图1程序总体结构图图1程序总体结构图2具体功能框图

5、(1)录入教材函数图2 录入教材函数 (2)读取教材函数图3读取教材函数(3)购买教材函数图4购买教材函数(4)出售教材函数图5出售教材函数三、核心技术的实现说明及相应程序段本程序一共由五个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数中,教材录入函数,购买教材函数和出售教材函数是程序中较为核心的部分,下面分别对程序进行说明:1、 教材录入函数说明教材录入前要用键盘先输入教材的编号,书名,作者,出版社,价格,数量。用只写的方式打开一个文件夹(book.dat)把数据项写入指定文件(book.dat)中。关闭文件。具体的程序段如下:void sav

6、e() /*保存程序*/ FILE *fp; int i; if(fp=fopen(e:book.dat,wb)=NULL) /*只写方式打开文件*/ printf(cannot open filen); return; for(i=0;iSIZE;i+) fwrite(&jiaocaii,sizeof(struct book),1,fp); /*将fp所指向的文件写入指定文件中*/ fclose(fp); /*关闭文件*/ void lu()int i; printf(n请输入第%d本教材的编号,书名,作者,出版社,价格,总量,用空格分开,并按回车键确认:n); for(i=0;iSIZE;

7、i+) scanf(%d%s%s%s%d%d,&jiaocaii.num,jiaocaii.name,jiaocaii.writer,jiaocaii.repub,&jiaocaii.money,&jiaocaii.count); save(); /*调用save()保存程序*/2、 购买教材函数 购买教材数据分为两种情况,其一是在教材文件(book.dat)不存在的情况下,首先由程序创建一个新文件,并将录入的教材信息写入该文件当中;其二是在教材文件(book.dat)已经存在的情况下,此时文件要以读写方式或追加的方式打开,这样才可以保证以前已经存在的数据不丢失。具体的程序段如下:void a

8、dd()/*购买教材*/FILE *fp; int n,i,j; struct book jiaocai; if(fp=fopen(e:book.dat,rb+)!=NULL) /*读写方式打开文件*/ j=getw(fp); rewind(fp); /*文件位置指针返回文件开头*/ printf(请输入要购买的教材数量,按回车键确认:); scanf(%d,&n); putw(j+n,fp); /*将整数n+j输出到fp所指向的文件*/ fseek(fp,0L,2); /*将位置指针从文件末尾向后退0个字节*/ for(i=1;i=n;i+) printf(n请输入购买教材的编号,书名,作者

9、,出版社,价格,总量,用空格分开,并按回车键确认:n); scanf(%s%s%s%s%d%d,&jiaocai.num,&jiaocai.name,&jiaocai.writer,&jiaocai.repub,&jiaocai.money,&jiaocai.count); fwrite(&jiaocai,sizeof(struct book),1,fp); else if(fp=fopen(e:book.dat,wb)!=NULL) /*只写方式打开文件*/ printf(请输入要购买的教材数量,按回车键确认:); scanf(%d,&n); putw(n,fp); for(i=1;i=n;

10、i+) printf(n请输入购买教材的编号,书名,作者,出版社,价格,总量,用空格分开,并按回车键确认:n); scanf(%s%s%s%s%d%d,&jiaocai.num,&jiaocai.name,&jiaocai.writer,&jiaocai.repub,&jiaocai.money,&jiaocai.count); fwrite(&jiaocai,sizeof(struct book),1,fp); fclose(fp);3、 出售教材函数 该部分的核心是统计出售该教材的数量和出售后的数量,以读写或追加读写的方式将文件打开,将剩余教材的数量以只写的方式写入(book.dat)文件

11、中。在以前数据的基础上统计出售的教材和剩余教材。具体的程序段如下:void sell()/*出售教材*/FILE *fp; int n,i,j; struct book jiaocai; if(fp=fopen(e:book.dat,rb+)!=NULL) /*以读写的方式打开文件*/ j=getw(fp); rewind(fp); /*文件位置指针返回文件开头*/ printf(请输入要出售的教材数量,按回车键确认:); scanf(%d,&n); putw(j-n,fp); /*将整数j-n输出到fp指向的文件*/ fseek(fp,0L,2); for(i=1;i=n;i+) print

12、f(n请输入出售教材的编号,书名,作者,出版社,价格,总量,用空格分开,并按回车键确认:n,i); scanf(%s%s%s%s%d%d,&jiaocai.num,&jiaocai.name,&jiaocai.writer,&jiaocai.repub,&jiaocai.money,&jiaocai.count); if(fp=fopen(e:book.dat,wb)=NULL) /*以只写的方式打开文件*/ printf(cannot open filen); return; else /*重新写回文件当中*/ putw(n,fp); for(i=0;in;i+) printf(n请输入出售

13、教材的编号,书名,作者,出版社,价格,总量,用空格分开,并按回车键确认:n,i); scanf(%s%s%s%s%d%d,&jiaocai.num,&jiaocai.name,&jiaocai.writer,&jiaocai.repub,&jiaocai.money,&jiaocai.count); fwrite(&jiaocai,sizeof(struct book),1,fp); fclose(fp); 四、个人总结本次课程设计使我掌握了在C语言中,如何对文件进行处理。如如何创建文件,如何保存文件,如何将数据输入文件或将文件中的数据输出到内存中。我的程序基本上都是处理文件中的数据,将文件录

14、入,保存,增加,删减等。但是程序未能全部实现预期的效果,关于教材的统计没法做到更具体,更细致的分类,关于购买和出售教材,统计不够全面。五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,2006六、源程序#include#include#define SIZE 2struct bookchar num20; char name10; char writer; char repub; int count; int money;jiaocaiSIZE;int menu();void reads();void save();void lu();void chaxun();void add();void sell();void que();int menu() int n; printf( 教材管理系统 ); printf(n 1教材录入); printf(n 2教材查询);

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

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