- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计
目 录
1、需求分析;
2、系统总框图;
3、每个模块的设计分析;
4、列出所有定义的函数及说明;
5、举例说明1、2个比较有特点的算法;
6、数据分析。
7、存在的问题与不足及对策;
8、使用说明(操作手册);
9、学习心得。
图书管理系统设计
一.题目要求:
图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。
程序还有以下功能:新近图书基本信息的输入; 图书基本信息的查询;对撤销图书信息的删除;办理借书手续;办理还书手续。
二.系统总框图
图书管理系统
图书管理系统
归还图书管理系统查询图书借阅图书
归还图书
管理系统
查询图书
借阅图书
按书名找增加图书按作者找删除图书修改图书图书统计会员管理
按书名找
增加图书
按作者找
删除图书
修改图书
图书统计
会员管理
卡号统计借书统计定义会员删除会员
卡号统计
借书统计
定义会员
删除会员
三.每个模块的设计分析和所有定义的函数及说明
1、数据结构
//图书的数据结构:
struct book
{
int booknum; //书号
char bookname[20]; //书名
char bookcreat[10]; //书的作者
int turefalse; //用于借书和还书模块判断一本书是否借出的条件
}book[1000]; //定义一个比较大的1000本书
//会员卡的数据类型
struct car
{
int carnum; //卡号
char studentsex[4]; //性别
char studentname[20]; //姓名
int studentclass; //所在班级
}car[1000]; //定义一千个会员
//定义学生类型,用于存放借出的书籍
struct student
{
int carnum; //卡号
char lendbook[10]; //借出的书数
}student[1000]; //定义一千个学生
2、main() 主函数模块
主函数是程序入口,采用模块化设计。首先在主程序中打印欢迎界面,定义一些必要变量,作一无限循环程序,循环体为一开关语句,该语句设置一个断点,其条件值是通过调用主菜单函数得到的返回值,根据该值,调用相应的功能函数,同时设置一个断点,当返回值为一定条件时结束程序。
3、chabook() 查询图书函数模块
在这个模块中又分为两个子模块:按书名查找模块和按作者查找。
按书名查找模块:在这个子函数里使用指向文件的指针变量,定义指针变量fp,fp指向文件名为“book.txt”的首地址,如果不存在,则自动建立。从键盘输入书名,依次移动指针地址,直到找到输入的文件名,找到后显示图书信息,再判断状态值是否为1,真的话就显示“此书现在无人借阅”,假就显示“这本书已经有人借出!”,关闭文件,然后按任意键返回。如果找到最后一个地址仍没找到,就显示“没有你要查询的书籍!”。关闭文件。
按作者查找,原理同按书名查找。
lendbook() 借书函数模块
定义文件指针变量fp,fp2。fp指向“car.txt(会员卡记录文件)”首地址,从键盘输入卡号,与文件中保存的依次比较,如果一致,就找到这个地址,并赋给变量i。关闭这个文件。开始借书,输入要借的书,这时指针地址指向“book.txt”,以只读的方式打开,依次找与输入书名一致的图书,如果找到,又分两种情况:状态值为1,则把书借出,把此书的状态值改为0.否则,显示“书已被借出”。如果找不到,显示“不存在这样的书”,关闭文件。返回。
huanbook() 还书函数模块
同样定义两个指针变量:fp,fp2。先从键盘输入要还图书者会员卡卡号,然后是还书人名字,与文件中的相对照,都一致就进入还书过程,删除掉所还图书的借书记录,将还的书的原来状态设为无人借阅的。如果没找到图书就显示“你没有借这样的书,任意键返回...”,如果没找到所输卡号,则显示“没这样的卡,和管理员联系,按任意键返回...”。
还书过程结束。
lendcount() 借书统计函数模块
定义指向文件的指针变量fp,并使fp指向“record.txt”,以只写的方式打开文件,从首地址读取,找到借书信息,就把统计借出书个数的变量i的值加1。并显示借出的每一本书的信息。
addcar() 增加会员卡函数模块
定义指向文件的指针变量fp,并使fp指向“car.txt”的首地址,以追加的方式打开文件“car.txt”,从键盘输入会员信息,并写入文件。
delcar() 删除会员卡函数模块
原创力文档


文档评论(0)