1、 课课 程程 设设 计计 报报 告告 课程名称:课程名称: C 课程设计课程设计 班班 级:级: 学学 号:号: 姓姓 名名: 完成日期:完成日期: 课程设计课程设计任务书任务书 专业名称:专业名称: 设计设计题目:题目: 图书销售系统 起止时间:起止时间: 问题描述问题描述 (1) 录入新增图书信息 (2) 购进图书 (3) 销售图书 (4) 计算利润 (5) 查询库存及销售情况 (6) 将图书相关信息存入文件 book.txt 中 基本基本要求:要求: (1)结构体内容和数据结构自拟。 (2)系统要有一定的容错能力,及错误提示。 (3)采用模块化程序设计方法,主函数用菜单形式调用各功能函数
2、, 程序可读性强,界面设计友好,有菜单供用户选择,输出形式美观。 学生姓名:学生姓名: 学号:学号: 指导教师指导教师 (签字)(签字) : 年年 月月 日日 1 图书销售系统图书销售系统 1 1 概要设计概要设计 (1)用结构体 struct BOOK int id,usr10,total,store,days10,money,sj; char name30,author20; books100;来记录图书信息。 (2)图书销售系统可以更改图书信息,并且可以将其存入 book.txt 文件中。 (3)主函数用菜单形式调用了八个函数,分别为 book_add、search_book、 book
3、_out、book_in、book_del、Save、read 和主函数。有菜单供用户选择。 图书销售系统图书销售系统 增加图增加图 书系统书系统 销售图销售图 书系统书系统 查询系查询系 统统 统计利统计利 润润 保存保存 退出程退出程 序序 库存库存 销售销售 情况情况 功能模块图功能模块图 2 2 详细详细设计设计 2 (1)增加图书模块 通过使用 for 循环、printf、scanf 语句让添加图书实现。定义了 struct BOOK类 型 的 结 构 体 用 来 存 储 图 书 信 息 。 结 构 体 中 包 括int id,usr10,total,store,days10,mon
4、ey,sj;char name30,author20;来 记录图书信息。 开始开始 录入编号录入编号 是否存在该编是否存在该编 号号 是是编号错误编号错误 存入存入 否否 iSIZE 是是 否否 结束结束 是否重新输是否重新输 入入 是是 否否 销售图书部分流程图销售图书部分流程图 (2)查询图书模块 通过输入要查找的书的序号来查询图书信息。 用 if 语句来判断图书是否存 在。 int search_book() int n,i; page_title(“查找图书“); printf(“请输入图书序号:“); scanf(“%d“, 3 for(n=0;n0) 语句来判断销售的图书是否存在,
5、并用 printf、scanf 语句来显示该图书的全 部信息。最后再计算利润。 void book_out() int n,s,l,d; page_title(“销售图书“); if(n=search_book()!=-1 scanf(“%d“, printf(“请输入该图书销售数量:“); scanf(“%d“, printf(“请输入该图书销售价格:“); scanf(“%d“, for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; 5 booksn.store = booksn.store-d; p
6、rintf(“利润是:n“); printf(“%dn“,(booksn.sj-booksn.money)*d); if(n!=-1 (4)图书购进模块 通过使用 if 语句来判断购进的图书在原文件中是否存在, 若存在就继续添 加数量;若不存在,就将其书的信息添加到原文件中。 void book_in() int n,s,l; page_title(“购进图书“); if(n=search_book()!=-1 for(l=0;l10;l+) if (booksn.usrl!=0) printf(“%d - %d天 n“,booksn.usrl,booksn.daysl); printf(“请输入